布尔代数是一种数学结构,它类似于布尔环,但它是使用交和并运算符而不是通常的加法和乘法运算符来定义的。明确地说,布尔代数是由包含定义的子集上的偏序(Skiena 1990,p. 207),即,集合的布尔代数是集合的子集,可以通过有限次集合运算并集(或)、交集(与)和补集(非)获得(Comtet 1974,p. 185)。布尔代数也构成一个格(Skiena 1990,p. 170),并且的每个元素都被称为布尔函数。在阶为的布尔代数中,有个布尔函数(Comtet 1974,p. 186)。
1938年,香农证明了一个二值布尔代数(其成员最常表示为0和1,或假和真)可以描述二值电气开关电路的运行。在现代,布尔代数和布尔函数因此在计算机芯片和集成电路的设计中是不可或缺的。
布尔代数具有递归结构,在上面为阶为、3、4和5的布尔代数绘制的哈斯图中显而易见。这些图说明了格的左右两半之间的划分,每一半都是在个元素上的布尔代数(Skiena 1990,pp. 169-170)。阶为的布尔代数的哈斯图被实现为BooleanAlgebra[n] 在 Wolfram 语言 包中Combinatorica`。它与-超立方体图同构。
布尔代数可以正式定义为一个集合,其中元素为,,... 具有以下属性
1. 有两个二元运算,(逻辑与,或“合取”)和(逻辑或,或“析取”),它们满足幂等律
(1)
|
交换律
(2)
| |||
(3)
|
和结合律
(4)
| |||
(5)
|
2. 这些运算满足吸收律
(6)
|
3. 这些运算是相互分配的
(7)
| |||
(8)
|
(9)
| |||
(10)
| |||
(11)
| |||
(12)
|
5. 有一个一元运算,即取补运算,它服从以下定律
(13)
| |||
(14)
|
(Birkhoff 和 Mac Lane 1996)。
在(Bell 1986,p. 444)略显陈旧的术语中,布尔代数可以定义为一个集合,其中元素为,,... 带有二元运算符(或;逻辑或)和(或;逻辑与),使得
1a. 如果和在集合中,那么在集合中。
1b. 如果和在集合中,那么在集合中。
2a. 存在一个元素(零),使得对于每个元素,。
2b. 存在一个元素(单位),使得对于每个元素,。
3a. 。
3b. 。
4a. 。
4b. 。
5. 对于每个元素,存在一个元素,使得和。
6. 集合中至少有两个不同的元素。
亨廷顿(Huntington,1933ab)提出了以下布尔代数的基础
1. 交换律:。
2. 结合律:。
3. 亨廷顿公理:。
然后,H. 罗宾斯推测亨廷顿公理可以用更简单的罗宾斯公理代替,
(15)
|
由交换律、结合律和罗宾斯公理定义的代数称为罗宾斯代数。计算机定理证明表明,每个罗宾斯代数都满足第二个温克勒条件,由此立即得出所有罗宾斯代数都是布尔代数(McCune,Kolata 1996)。