您现在的位置是:首页 > 理科知识查询 > 数理化学

布尔逻辑的

编辑:chaxungu时间:2022-09-28 08:03:15分类:数理化学

布尔逻辑得名于georgeboole,他是collegecork大学的英国数学家,他在十九世纪中叶首次定义了逻辑的代数系统。现在,布尔逻辑在电子学、计算机硬件和软件中有很多应用。在1937年,claudeshannon展示了布尔逻辑如何在电子学中使用。

集合代数和文氏图

使用集合代数作为介绍布尔逻辑的一种方式。还使用文氏图来展示各种布尔逻辑陈述所描述的集合联系。

设x是一个集合:

元素是一个集合的成员。表示为<math>\in</math>。如果它不是这个集合的元素,表示为<math>\notin</math>。

全集是集合x,有时表示为1。注意使用全集这个词意味着"虑及的所有元素",同"现有的所有元素"一样不是必然的。

空集或null集合是没有元素的集合,表示为<math>\varnothing</math>,有时表示为0。

一元算符应用于一个单一的集合。有一个一元算符叫做逻辑非(not)。它的作用是采用补集。

二元算符应用于两个集合。基本的二元算符是逻辑或(or)和逻辑与(and)。它们进行集合的交集和并集。还有其他衍生的二元算符,比如逻辑异或(xor)(排他的或)。

子集表示为a<math>\subseteq</math>b,意味这在集合a中所有元素都在集合b中。

真子集表示为a<math>\subset</math>b,意味着在集合a中的所有元素都在集合b中,并且两个集合不等同。

超集表示为a<math>\supseteq</math>b,意味着在集合b中的所有元素都在集合a中。

真超集表示为a<math>\supset</math>b,意味着在集合b中的所有元素都在集合a中,并且两个集合不等同。

例子

设图像为集合a包含"全集"中所有偶数(二的倍数),集合b包含"全集"中所有三的倍数。则两个集合的交集(在集合aandb中所有的元素)将是"全集"中所有六的倍数。

集合a的补集(所有不在集合a中的元素)是"全集"中所有的奇数。

把运算连接起来

尽管在任何布尔运算中都最多有两个集合参与,从这个运算所形成的新集合可以接着与其他集合联合起来实现另外的布尔运算。使用前面的例子,我们可以定义一个新集合c作为"全集"中所有五的倍数的集合。所以"集合aandbandc"将是"全集"中所有30的倍数。如果为了更方便,我们可以把集合ab当作集合a和b的交集,或者说"全集"中所有六的倍数的集合。那么我们可以称"集合abandc"是"全集"中所有30的倍数的集合。我们接着进一步的把这个结果叫做集合abc。

使用圆括号

尽管任何数目的逻辑and(或任何数目的逻辑or)可以被连接在一起而没有歧义,and和or和not的组合可以导致歧义的情况。在这种情况情况下,可以使用圆括号来分清运算的次序。永远是最内的括号内的运算先进行,随后是外层的括号以此类推,直到在所有的括号内运算都完成。接着进行括号外的运算。

性质

为两个主要的二元运算的符号定义为<math>\land/\cap</math>(逻辑与/交集)和<math>\lor/\cup</math>(逻辑或/并集),把单一的一元运算的符号定义为<math>\lnot</math>/~(逻辑非/补集)。我们还使用值0(逻辑假/空集)和1(逻辑真/全集)。下列性质适用于布尔代数和布尔逻辑二者:

<math>a\lor(b\lorc)=(a\lorb)\lorc</math><math>a\land(b\landc)=(a\landb)\landc</math>结合律

<math>a\lorb=b\lora</math><math>a\landb=b\landa</math>交换律

<math>a\lor(a\landb)=a</math><math>a\land(a\lorb)=a</math>吸收律

<math>a\lor(b\landc)=(a\lorb)\land(a\lorc)</math><math>a\land(b\lorc)=(a\landb)\lor(a\landc)</math>分配律

<math>a\lor\lnota=1</math><math>a\land\lnota=0</math>互补律

<math>a\lora=a</math><math>a\landa=a</math>等幂律

<math>a\lor0=a</math><math>a\land1=a</math>有界律

<math>a\lor1=1</math><math>a\land0=0</math>

<math>\lnot0=1</math><math>\lnot1=0</math>0和1是互补的

<math>\lnot(a\lorb)=\lnota\land\lnotb</math><math>\lnot(a\landb)=\lnota\lor\lnotb</math>demorgan定律

<math>\lnot\lnota=a</math>卷绕律(involution

真值表

布尔逻辑只使用两个值0和1,这两个值的交集和并集可以使用真值表定义如下:

<math>\cap</math>01

000

101

<math>\cup</math>01

001

111

也可以建立涉及多个输入和其他布尔运算的更复杂的真值表。

真值表应用在逻辑中,解释0为假,1为真,<math>\cap</math>为与,<math>\cup</math>为或,而&not;为非。

其他记号

可以使用各种样式的基本算符来表达布尔逻辑。and(与)、or(或)、not(非)是最直觉的。数学家、工程师和程序员经常使用+表示或,<math>\cdot</math>表示与(因为在某些方面这些运算类似于在其他代数结构中的加法和乘法,并且这种记号使熟悉普通代数的人易于得到积之和范式)。非也表示为在要否定的表达式顶上的一个横线。

另一种记号使用"交"表示与使用"并"表示或。但是这会导致混淆,因为术语"并"也经常用于合并集合的另一个布尔运算,它包括了与和或二者。

布尔术语的基本数学使用

在联立方程的情况下,它们是用暗含的逻辑与连接的:

x+y=2

and

x-y=2

同样适用于联立不等式:

x+y<2

and

x-y<2

大于等于号(<math>\ge</math>)和小于等于号(<math>\le</math>)可以假定包含了一个逻辑或:

x<2

or

x=2

加/减号(<math>\pm</math>),在平方根的解的情况下,可以被看作是逻辑或:
width=3
or
width=-3

上一篇:二阶逻辑的

下一篇:布尔代数的