布尔代数


布尔代数 (正體)

Free Web Hosting with Website Builder

抽象代数中,布尔代数是捕获了集合运算和逻辑运算二者的根本性质的一个代数结构(就是说一组元素和服从定义的公理的在这些元素上运算)。特别是,它处理集合运算交集并集补集;和逻辑运算、或、

子集的布尔格

例如,逻辑断言陈述 a 和它的否定 ¬a 不能都同时为真,

a\land(\lnot a) = \mbox{FALSE}

相似于集合论断言子集 A 和它的补集 AC 有空交集,

A\cap(A^C) = \varnothing

因为真值可以在逻辑电路中表示为二进制数或电平,这种相似性同样扩展到它们,所以布尔代数在电子工程计算机科学中同在数理逻辑中一样有很多实践应用。在电子工程领域专门化了的布尔代数也叫做逻辑代数,在计算机科学领域专门化了布尔代数也叫做布尔逻辑

布尔代数也叫做布尔格。关联于(特殊的偏序集合)是在集合包含 A ⊆ B次序 a ≤ b 之间的相似所预示的。考虑 {x,y,z} 的所有子集按照包含排序的格。这个布尔格是偏序集合,在其中 {x}  ≤ {x,y}。任何两个格的元素,比如 p = {x,y} 和 q = {y,z},都有一个最小上界,这里是 {x,y,z},和一个最大下界,这里是 {y}。这预示了最小上界(并或上确界)被表示为同逻辑 OR 一样的符号 pq;而最大下界(交或下确界)被表示为同逻辑 AND 一样的符号 pq

这种格释义有助于一般化为Heyting代数,它是免除要么一个陈述要么它的否定必须为真的限制的布尔代数。Heyting 代数对应于直觉逻辑,而布尔代数对应于经典逻辑

布尔代数又译为布林代数,然而布尔代数得名于乔治·布尔,他是爱尔兰科克的皇后学院的英国数学家。布林(boolean)在英文中的意思是“布尔的”,这是为了表彰布尔的贡献,而“布林”只是一种音译。

目录

形式定义

布尔代数是一个集合 A,提供了两个二元运算 \land (逻辑与)、\lor (逻辑或),一个一元运算 \lnot / ~ (逻辑非)和两个元素 0(逻辑假)和 1(逻辑真),此外,对于集合 A 的所有元素 abc,下列公理成立:

 a \lor (b \lor c) = (a \lor b) \lor c  a \land (b \land c) = (a \land b) \land c 结合律
 a \lor b = b \lor a  a \land  b = b \land a 交换律
 a  \lor (a \land b) = a  a  \land (a \lor b) = a 吸收律
 a \lor  (b \land c) = (a \lor b) \land (a \lor c)  a \land  (b \lor c) = (a \land b) \lor (a \land c) 分配律
 a \lor  \lnot a = 1  a \land \lnot a = 0 互补律

上面的前三对公理: 结合律、交换律和吸收律,意味着 (A, \land, \lor) 是一个。所以布尔代数也可以定义为一个有补分配格

从这些公理,你可以展示出最小元素 0、最大元素 1 和任何元素 a 的补 ¬a 都是唯一确定的。对于 A 中的所有的 ab,下列恒等式也成立:

 a \lor a = a  a \land a = a 幂等律
 a \lor 0 = a  a \land 1 = a 有界律
 a \lor 1 = 1  a \land 0 = 0
 \lnot 0 = 1  \lnot 1 = 0 0 和 1 是互补的
 \lnot (a \lor b) = \lnot a  \land \lnot b  \lnot (a \land b) = \lnot a  \lor \lnot b 德·摩根定律
 \lnot \lnot a = a 对合律

例子

  • 最简单的布尔代数只有两个元素 0 和 1,并通过如下规则定义:
0 1
0 0 0
1 0 1
0 1
0 0 1
1 1 1
a 0 1
¬a 1 0
  • 它应用于逻辑中,解释 0 为“假”,1 为“真”,∧ 为“与”,∨ 为“或”,¬ 为“非”。 涉及变量和布尔运算的表达式代表了陈述形式,两个这样的表达式可以使用上面的公理证实为等价的,当且仅当对应的陈述形式是逻辑等价的。
  • 两元素的布尔代数也是在电子工程中用于电路设计;这里的 0 和 1 代表数字电路中一个的两种不同状态,典型的是高和低电压。电路通过包含变量的表达式来描述,两个这种表达式对这些变量的所有的值是等价的,当且仅当对应的电路有相同的输入-输出行为。此外,所有可能的输入-输出行为都可以使用合适的布尔表达式来建摸。
  • 两元素布尔代数在布尔代数的一般理论中也是重要的,因为涉及多个变量的等式是在所有布尔代数中普遍为真,当且仅当它在两个元素的布尔代数中为真(这总是可以通过平凡的穷举法算法证实)。比如证实下列定律(“合意定理”)在所有布尔代数中是普遍有效的:
    • (ab) ∧ (¬ac) ∧ (bc) ≡ (ab) ∧ (¬ac)
    • (ab) ∨ (¬ac) ∨ (bc) ≡ (ab) ∨ (¬ac)
  • 任何给定集合 S幂集(子集的集合)形成有两个运算 ∨ := ∪ (并)和 ∧ := ∩ (交)的布尔代数。最小的元素 0 是空集而最大元素 1 是集合 S 自身。
  • 有限的或余有限的集合 S 的所有子集的集合是布尔代数。
  • 对于任何自然数 nn 的所有正约数的集合形成一个分配格,如果我们对 a | bab。这个格是布尔代数当且仅当 n无平方数因数的数。这个布尔代数的最小的元素 0 是自然数 1;这个布尔代数的最大元素 1 是自然数 n
  • 布尔代数的另一个例子来自拓扑空间: 如果 X 是一个拓扑空间,它既是开放的又是闭合的,X 的所有子集的搜集形成有两个运算 ∨ := ∪ (并)和 ∧ := ∩ (交)的布尔代数。
  • 如果 R 是一个任意的,并且我们定义“中心幂等元”(central idempotent)的集合为
    A = { eR : e2 = e, ex = xe, ∀xR }
    则集合 A 成为有两个运算 ef := e + f + efef := ef 的布尔代数。

原型布尔代数

k 元素集合 X 上有 kknn 元运算 fXnX,因此在 {0,1} 上有 22nn 元运算。所以得出所有布尔代数,不论大小都两个常量或“零元”运算,四个一元运算,16 个二元运算,256 个三元运算,以此类推,它们叫做给定布尔代数的布尔运算。只有一个例外就是一个元素的布尔代数,它叫做退化的或平凡的(被一些早期作者禁用),布尔代数的所有运算可以被证明是独特的。(在退化情况下,给定元数的所有运算都是同样的运算因为对所有输入都返回同样结果。)

在 {0,1} 上的运算可以用真值表展出,选取 0 和 1 为真值。它们可以按统一和不依赖应用的方式列出,允许我们命名或至少单独列出它们。这些名字对布尔运算提供方便的简写。n 元运算的名字是 2n 位的二进制数。有 22n 个这种运算,你不能得到更简明的命名法了!

下面展示元数从 0 到 2 的所有运算的这种格局和关联的名字。

直到 2 元的布尔运算的真值表
常量
0f0 0f1
0 1
一元运算
x0 1f0 1f1 1f2 1f3
0 0 1 0 1
1 0 0 1 1
二元运算
x0 x1 2f0 2f1 2f2 2f3 2f4 2f5 2f6 2f7 2f8 2f9 2f10 2f11 2f12 2f13 2f14 2f15
0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

这些表格继续到更高元数上,对 n 元有 2n 行,每个行给出 n 个变量 x0,…xn−1 的一个求值或绑定,而每列都有表头 nfi,它们给出第 in 元运算 nfi(x0,…,xn−1) 在这个求值下的值。运算包括变量本身,例如 1f2x02f10x0 (作为它的一元对应者的两个复件)而 2f12x1 (没有一元对应者)。否定或补 ¬x0 出现为 1f1 再次出现为 2f5,连同 2f3x1 在 1 元时没有出现),析取或并 x0x1 出现为 2f14,合取或交 x0x1 出现为 2f8,蕴涵 x0x1 出现为 2f13,异或或对称差 x0x1 出现为 2f6,差集 x0x1 出现为 2f2 等等。对布尔函数的其他命名或表示可参见零阶逻辑

作为关于它的形式而非内容的次要详情,一个代数的运算传统上组织为一个列表。我们这里通过在 {0,1} 上有限运算索引了布尔代数的运算,上述真值表表示的排序首先按元数,其次为每个元数运算的列出表格。给定元数的列表次序是如下两个规则确定的。

(i) 表格左半部分的第 i 行是 i 的二进制表示,最低有效位或第 0 位在最左(“小端”次序,最初由艾伦·图灵提议,所以可不无合理的叫做图灵序)。
(ii) 表格的右半部分的第 j 列是 j 的二进制表示,还是按小端次序。在效果上运算的下标就是这个运算的真值表。

序理论的性质

同任何格一样,布尔代数 (A, \land, \lor) 可以引出偏序集 (A, ≤),通过定义

ab 当且仅当 a = a \land b (它也等价于 b = a \lor b)。

事实上你还可以把布尔代数定义为有最小元素 0 和最大元素 1 的分配格 (A, ≤) (考虑为偏序集合),在其中所有的元素 x 都有补 ¬x 满足

x \land ¬x = 0 并且 x \lor ¬x = 1

这里的 \land\lor 用来指示两个元素的下确界(交)和上确界(并)。还有,如果上述意义上的补存在,则它们是可唯一确定的。

代数的和序理论的观点通常可以交替的使用,并且二者都是有重要用处的,可从泛代数序理论引入结果和概念。在很多实际例子中次序关系、合取(逻辑与)、析取(逻辑或)和否定(逻辑非)都是自然的可获得的,所以可直接利用这种联系。

对偶原理

你还可以把来自序理论的对偶性的普遍认识应用于布尔代数。特别是,所有的布尔代数的次序对偶,或者等价的说通过对换 \land\lor 所获得的代数,也是布尔代数。一般的说,布尔代数的任何有效的规律都可以变换成另一个有效的对偶规律,通过对换 0 与 1,\land\lor,和 ≤ 与 ≥。

同态和同构

在布尔代数 AB 之间的同态是一个函数 f : AB,对于在 A 中所有的 a, b 都有:

f(a \lor b) = f(a) \lor f(b)
f(a \land b) = f(a) \land f(b)
f(0) = 0
f(1) = 1

接着对于在 A 中所有的 afa) = ¬f(a) 同样成立。所有布尔代数的,和与之在一起的态射的概念,形成了一个范畴。从 AB同构双射的从 AB 的同态。同构的逆也是同构,我们称两个布尔代数 AB 为“同构”的。从布尔代数理论的立场上,它们是不能区分的;它们只在它们的元素的符号上有所不同。

布尔同态

布尔同态是在布尔代数 AB 之间的函数 h: AB 使得对于所有布尔运算 mfi

h(mfi(x0,…,xm−1)) = mfi(h(x0),…,h(xm−1)).

布尔代数的范畴 Bool 有所有布尔代数作为对象和在它们之间的布尔同态作为态射。

从两元素布尔代数 2 到所有布尔代数存在唯一的同态,因为所有态射必须保持两个常量而它们是 2 的仅有元素。有这种性质的布尔代数叫做初始布尔代数。可以证明任何两个初始布尔代数都是同构的,所以在同构的意义下 2 就是初始布尔代数。

在其他方向上,从布尔代数 B2 存在很多同态。任何这种同态都把 B 划分成映射到 1 的元素和映射到 0 的元素。由前者组成的 B 的子集叫做 B超滤子。在 B 是有限的时候,它的超滤子配对于它的原子;一个原子被映射到 1 而其他被映射到 0。B 的每个超滤子因此由 B 的一个原子和所有其上的元素组成;所以精确的有 B 的一半元素在这个超滤子中,并且有和原子一样的多的超滤子。

对于无限布尔代数,超滤子的概念变得相当微妙。大于等于原子的那些元素总是形成超滤子,但是很多其他集合也能形成;例如在整数的有限和余有限集合的布尔代数中,余有限集合形成了超滤子即使它们中没有原子。类似的整数的幂集有包含给定整数的所有子集的集合作为超滤子之一;有可数多个这种“标准”超滤子,它们可以用整数自身来识别,但是还有不可数多个“非标准”超滤子。这些形成了非标准分析的基础,它提供了对这种经典不相容对象作为无穷小和 delta 函数的表述。

布尔环、理想和滤子

每个布尔代数 (A, \land, \lor) 都引出一个 (A, +, *),通过定义 a + b = (a \land ¬b) \lor (b \land ¬a) (这个运算在集合论中叫做“对称差”在逻辑中叫做XOR(异或)) 和 a * b = a \land b。这个环的零元素符合布尔代数的 0;环的乘法单位元素是布尔代数的 1。这个环有对于 A 中的所有的 a 保持 a * a = a 的性质;有这种性质的环叫做布尔环

反过来,如果给出布尔环 A,我们可以把它转换成布尔代数,通过定义 x \lor y = x + y + xyx \land y = xy。因为这两个运算是互逆的,我们可以说每个布尔环引发一个布尔代数,或反之。此外,映射 f : AB 是布尔代数的同态,当且仅当它是布尔环的同态。布尔环和代数的范畴是等价的。

布尔代数 A理想是一个子集 I,对于在 I 中的所有 x, y 我们有 x \lor yI 中,并且对于在 A 中的所有 a 我们有 a \land xI 中。理想的概念符合在布尔环 A环理想的概念。A 的理想 I 叫做“素理想”,如果 IA;并且如果 a \land bI 中总是蕴涵 aI 中或 bI 中。A 的理想 I 叫做“极大理想”,如果 IA 并且真正包含 I 的唯一的理想是 A 自身。这些概念符合布尔环 A 中的素理想极大理想的环理论概念。

“理想”的对偶是滤子。 布尔代数 A 的“滤子”是子集 p,对于在 p 中的所有 x, y 我们有 x \land yp 中,并且对于在 A 中的所有 a,如果 a \lor x = aap 中。

表示布尔代数

可以证实所有的“有限”的布尔代数都同构于一个有限集合的所有子集的布尔代数。此外,所有的有限的布尔代数的元素数目都是二的幂。Stone 的著名的布尔代数表示定理陈述了“所有的”布尔代数 A 都同构于在某个(完全不连通紧致豪斯多夫空间)拓扑空间中所有闭开集合的布尔代数。

广义布尔代数

从布尔代数的公理中去掉存在最大元 1 的要求产生了“广义布尔代数”。形式的说,分配格 B 是广义布尔代数,如果它有最小元 0 并且对于任何 B 中的元素 ab 使得 ab,存在一个元素 x 使得 a\land x=0 并且 a\lor x=b。定义 a - b \, 为唯一的 x 使得 (a\land b)\lor x=a 并且 (a\land b)\land x=0,我们可以称结构 (B,\land,\lor,-,0) 是“广义布尔代数”,而 (B,\lor,0) 是“广义布尔半格”。

广义布尔格完全就是布尔格的理想

公理化布尔代数

在 1933 年,美国数学家 Edward Vermilye Huntington (1874-1952) 展示了对布尔代数的如下公理化:

  1. 交换律: x + y = y + x
  2. 结合律: (x + y) + z = x + (y + z)。
  3. Huntington 等式: \overline{ \overline{x}+y} + \overline{\overline{x}+\overline{y}} = x

Herbert Robbins 接着摆出下列问题: Huntington 等式能否替代为它的对偶等式,并且这个新等式与结合律和交换律一起成为布尔代数的基础? 通过一组叫做“Robbins 代数”的公理,问题就变成了: 是否所有的 Robbins 代数都是布尔代数?

Robbins 代数的公理化:

  1. 交换律: x + y = y + x
  2. 结合律: (x + y) + z = x + (y + z)。
  3. Robbins 等式: \overline{\overline{x + y}+ \overline{x +\overline{y}}} = x

这个问题自从 1930 年代一直是公开的,并成为阿尔弗雷德·塔斯基和他的学生最喜好的问题。

在 1996 年,William McCune 在阿贡国家实验室,建造在 Larry Wos、Steve Winker 和 Bob Veroff 的工作之上,肯定的回答了这个长期存在的问题: 所有的 Robbins 代数都是布尔代数。这项工作是使用 McCune 的自动推理程序 EQP 完成的。

其他记号

布尔代数的运算包含下列几种,基本包含“与”(AND)、“或”(OR) 和“非”(NOT),其中由这三种又可组合成 NAND(与非)、NOR(或非)、XOR(异或)与 XNOR(异或非)。常见使用记号:“\cdot”表示 AND,“+”表示 OR (如 CNFDNF 中)或者 XOR(如 ANF 中);A 中 A 上面的一横表示 NOT;⊕表示 XOR;⊙表示 XNOR。

历史

术语“布尔代数”得名于乔治·布尔(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 和其他人使用布尔代数的分支也就是力迫布尔值模型,深入发现了数理逻辑公理化集合论中的新成果。

引用

  • Brown, Stephen & Zvonko Vranesic (2002), Fundamentals of Digital Logic with VHDL Design (2nd ed.), McGraw–Hill, ISBN 978-0-07-249938-4. See Section 2.5.
  • Cori, Rene & Daniel Lascar (2000), Mathematical Logic: A Course with Exercises, Oxford University Press, ISBN 978-0-19-850048-3. See Chapter 2.
  • Dahn, B. I. (1998), "Robbins Algebras are Boolean: A Revision of McCune's Computer-Generated Solution of the Robbins Problem", Journal of Algebra 208: 526–532, ISSN 0021-8693.
  • Halmos, Paul (1963), Lectures on Boolean Algebras, Van Nostrand, ISBN 978-0-387-90094-0.
  • Halmos, Paul & Steven Givant (1998), Logic as Algebra, Dolciani Mathematical Expositions, no. 21, Mathematical Association of America, ISBN 978-0-88385-327-6.
  • Huntington, E. V. (1933), "New sets of independent postulates for the algebra of logic", Transactions of the American Mathematical Society 35: 274–304, ISSN 0002-9947.
  • Huntington, E. V. (1933), "Boolean algebra: A correction", Transactions of the American Mathematical Society 35: 557–558, ISSN 0002-9947.
  • Mendelson, Elliott (1970), Boolean Algebra and Switching Circuits, Schaum's Outline Series in Mathematics, McGraw–Hill, ISBN 978-0-07-041460-0.
  • Monk, J. Donald & R. Bonnet, eds. (1989), Handbook of Boolean Algebras, North-Holland, ISBN 978-0-444-87291-3. In 3 volumes. (Vol.1:ISBN 978-0-444-70261-6, Vol.2:ISBN 978-0-444-87152-7, Vol.3:ISBN 978-0-444-87153-4)
  • Stoll, R. R. (1963), Set Theory and Logic, W. H. Freeman, ISBN 978-0-486-63829-4. Reprinted by Dover Publications, 1979.
  • Birkhoff, Garrett(1935).“On the structure of abstract algebras”.Proc. Camb. Phil. Soc.31:433–454.ISSN 0008-1981 
  • Boole, George[1854](2003).An Investigation of the Laws of Thought.Prometheus Books.ISBN 978-1-59102-089-9. 
  • Dwinger, Philip(1971).Introduction to Boolean algebras.Würzburg:Physica Verlag. 
  • Gaifman, Haim(1964).“Infinite Boolean Polynomials, I”.Fundamenta Mathematicae54:229–250.ISSN 0016-2736 
  • Grau, A.A.(1947).“Ternary Boolean algebra”.Bull: Am. Math. Soc.33:567–572. 
  • Hales, Alfred W.(1964).“On the Non-Existence of Free Complete Boolean Algebras”.Fundamenta Mathematicae54:45–66.ISSN 0016-2736 
  • --------, and Givant, Steven (1998) Logic as Algebra. Dolciani Mathematical Exposition, No. 21. Mathematical Association of America.
  • Johnstone, Peter T.(1982).Stone Spaces.Cambridge, UK:Cambridge University Press.ISBN 978-0-521-33779-3. 
  • Ketonen, Jussi(1978).“The structure of countable Boolean algebras”.Annals of Mathematics108:41–89. 
  • Koppelberg, Sabine (1989) "General Theory of Boolean Algebras" in Monk, J. Donald, and Bonnet, Robert, eds., Handbook of Boolean Algebras, Vol. 1. North Holland. ISBN 978-0-444-70261-6.
  • Peirce, C. S. (1989) Writings of Charles S. Peirce: A Chronological Edition: 1879–1884. Kloesel, C. J. W., ed. Indianapolis: Indiana University Press. ISBN 978-0-253-37204-8.
  • Lawvere, F. William(1963).“Functorial semantics of algebraic theories”.Proceedings of the National Academy of Sciences50(5):869–873. 
  • Schröder, Ernst(1890–1910).Vorlesungen über die Algebra der Logik (exakte Logik), I–III.Leipzig:B.G. Teubner. 
  • Sikorski, Roman(1969).Boolean Algebras,3rd. ed.,Berlin:Springer-Verlag.ISBN 978-0-387-04469-9. 
  • Stone, Marshall(1936).“The Theory of Representations for Boolean Algebras”.Transactions of the American Mathematical Society40:37–111.ISSN 0002-9947 
  • Tarski, Alfred (1983). Logic, Semantics, Metamathematics, Corcoran, J., ed. Hackett. 1956 1st edition edited and translated by J. H. Woodger, Oxford Uni. Press. Includes English translations of the following two articles:
    • Tarski, Alfred(1929).“Sur les classes closes par rapport à certaines opérations élémentaires”.Fundamenta Mathematicae16:195–97.ISSN 0016-2736 
    • Tarski, Alfred(1935).“Zur Grundlegung der Booleschen Algebra, I”.Fundamenta Mathematicae24:177–98.ISSN 0016-2736 
  • Vladimirov, D.A.(1969).булевы алгебры (Boolean algebras, in Russian, German translation Boolesche Algebren 1974).Nauka (German translation Akademie-Verlag). 

参见

外部链接

A monograph available free online:







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History