布尔代数
在抽象代数中,布尔代数(英语:Boolean algebra)是捕获了集合运算和逻辑运算二者的根本性质的一个代数结构(就是说一组元素和服从定义的公理的在这些元素上运算)。特别是,它处理集合运算交集、并集、补集;和逻辑运算与、或、非。
例如,逻辑断言陈述a和它的否定¬a不能都同时为真,
,
相似于集合论断言子集A和它的补集AC有空交集,
。
因为真值可以在逻辑电路中表示为二进制数或电平,这种相似性同样扩展到它们,所以布尔代数在电子工程和计算机科学中同在数理逻辑中一样有很多实践应用。在电子工程领域专门化了的布尔代数也叫做逻辑代数,在计算机科学领域专门化了布尔代数也叫做布尔逻辑。
布尔代数也叫做布尔格。关联于格(特殊的偏序集合)是在集合包含A ⊆ B和次序 a ≤ b之间的相似所预示的。考虑{x,y,z}的所有子集按照包含排序的格。这个布尔格是偏序集合,在其中{x} ≤ {x,y}。任何两个格的元素,比如p = {x,y}和q = {y,z},都有一个最小上界,这里是{x,y,z},和一个最大下界,这里是{y}。这预示了最小上界(并或上确界)被表示为同逻辑OR一样的符号p∨q;而最大下界(交或下确界)被表示为同逻辑AND一样的符号p∧q。
这种格释义有助于一般化为海廷代数,它是免除要么一个陈述要么它的否定必须为真的限制的布尔代数。海廷代数对应于直觉逻辑,而布尔代数对应于经典逻辑。
布尔代数又译为布林代数,然而布尔代数得名于乔治·布尔,他是爱尔兰科克的皇后学院的英国数学家。布尔(boolean)在英文中的意思是“布尔的”,这是为了表彰布尔的贡献,而“布尔”只是一种音译。
历史
术语“布尔代数”得名于乔治·布尔(1815–1864),他是自学成材的英国数学家。他最初在1847年出版的一个小册子《逻辑的数学分析》中介入了代数逻辑系统,用来响应在奥古斯都·德·摩根和William Hamilton之间的公开论战,后来又出现在1854年出版的更充实的书《思维规律》中。布尔的公式化在一些重要方面不同于上述描述。例如,布尔的合取和析取不是一对对偶的运算。布尔代数出现在1860年代威廉姆·斯坦利·杰文斯和查尔斯·皮尔士的论文中。到了1890年Ernst Schröder写的《Vorlesungen》,我们才有了布尔代数和分配格的首次系统表述。首次用英语写的对布尔代数的广泛处置是阿弗烈·诺夫·怀海德在1898年的《泛代数》。在现代公理化意义上的作为公理化代数结构的布尔代数开始于Edward Vermilye Huntington 1904年的论文。布尔代数随着Marshall Stone在1930年代的工作和Garrett Birkhoff在1940年的《格理论》而进入了严肃数学时期。在1960年代,Paul Cohen、Dana Scott和其他人使用布尔代数的分支也就是力迫和布尔值模型,深入发现了数理逻辑和公理化集合论中的新成果。
形式定义
布尔代数是一个集合A,其上定义了以下结构:
二元运算∧:A×A→A。
二元运算∨:A×A→A。
一元运算 ':A→A。
零元运算(常数)0和1。
这些运算满足以下条件:∀a,b,c∈A,
结合律 | ||
交换律 | ||
吸收律 | ||
分配律 | ||
互补律 |
上面的前三对公理:结合律、交换律和吸收律,意味着 (A,∧,∨)是一个格。所以布尔代数也可以定义为一个有补分配格。
从这些公理,你可以展示出最小元素0、最大元素1和任何元素a的补a'都是唯一确定的。
另外,∀a,b∈A,下列恒等式也成立:
幂等律 | ||
有界律 | ||
0和1是互补的 | ||
德·摩根定律 |
其它运算
在上述基本定义基础上,布尔代数中常见的还有以下的运算:
二元运算-: A×A→A,定义为:a-b = a∧b';
二元运算+或Δ: A×A→A,定义为:a+b = (a-b)∨(b-a);
二元运算→: A×A→A,定义为:a→b = (a-b)';