§8.5布尔代数
8.5.1布尔代数的定义及其性质
定义8.5.1.一个有余分配格是一个布尔代数。
因为布尔代数是一个格,今后将布尔代数中的运算×简记为⋅,称为乘法。运算⊕简记为+,称为加法。
因为布尔代数是有界格,将最大元素记为1,最小元素记为0.因为布尔代数是有余分配格,所以,对布尔代数中任意元素a,有唯一的余元素a ′ ,因此,这是布尔代数上的一个一元代数运算,称为余运算,今后,将布尔代数中的余运算记为 − ,例如元素a的余元素记为a ¯ ,一个布尔代数可记为(B,⋅,+, − ,0,1)。今后,有时将a⋅b简记为ab。
下面给出布尔代数的一些重要性质,这些性质并不是相互独立的。
设(B,⋅,+, − ,0,1)是一个布尔代数,a,b,c是集合B中任意元素,于是,它有如下性质:(一)因为(B,⋅,+)是一个格,所以有:
1)a⋅a=a,2)a⋅b=b⋅a,3)(a⋅b)⋅c=a⋅(b⋅c),4)a⋅(a+b)=a 1 ′ )a+a=a.2 ′ )a+b=b+a.3 ′ )(a+b)+c=a+(b+c),4 ′ )a+(a⋅b)=a.
(二)因为(B,⋅,+)是分配格,所以有
5)a⋅(a+c)=(a⋅b)+(a⋅c),5 ′ )a+(b⋅c)=(a+b)⋅(a+c).6)(a⋅b)+(a⋅c)+(b⋅c)=(a+b)⋅(a+c)⋅(b+c)7)若a⋅b=a⋅c,a+b=a+c,则b=c.
(三)因为(B,⋅,+,0,1)是有界格,所以有
8)0≤a≤1.9)a⋅0=0,9 ′ )a+1=1.10)a⋅1=a,10 ′ )a+0=a.
(四)因为(B,⋅,+, − ,0,1)是有余分配格,所以有
11)a⋅a ¯ =0,11 ′ )a+a ¯ =1.12)0 ¯ =1,12 ′ )1 ¯ =0.13)(a⋅b ¯ ¯ ¯ ¯ ¯ ¯ )=a ¯ +b ¯ ,13 ′ )(a+b ¯ ¯ ¯ ¯ ¯ ¯ ¯ )=a ¯ ⋅b ¯ ,
(五)因为(B,≤)是半序格,所以有
14)a⋅b=inf{a,b},14 ′ )a+b=sup{a,b}.15)a≤b⟺a+b=b⟺a⋅b=a.16)a≤b⟺a⋅b ¯ =0⟺b ¯ ≤a ¯ ⟺a ¯ +b=1.
定理8.5.1.设B是一个至少含有两个不同元素的集合,⋅,+是定义在B上的两种代数运算,如果对任意a,b,c∈B,满足下面公理:H 1 :a⋅b=b⋅a,a+b=b+a.H 2 :a⋅(b+c)=(a⋅b)+(a⋅c).H 3 :B中有元素0和元素1,使得对任意a∈B,有a⋅1=a,a+0=a.H 4 :对任意a∈B,有a ¯ ∈B,使得a⋅a ¯ =0,a+a ¯ =1.则(B,⋅,+, − ,0,1)是一个布尔代数。
证明:由布尔代数定义知,只需证明(B,⋅,+)是格,并且0,1是此格的最小,最大元素即可。于是,根据H 4 ,它就是一个有余格,在根据H 2 ,它又是一个分配格,故它是布尔代数。下面证明(B,⋅,+)是一个格。首先,由于公理H 1 ∼H 4 是对偶的,所以如果从H 1 ∼H 4 出发推导结论c,则c的对偶式c ∗ 也可以由H 1 ∼H 4 推导出来,亦即对偶原理在代数(B,⋅,+)中成立。其次,对任意a∈B,由a+1=(a+1)⋅1(由H 3 )=1⋅(a+1)(由H 1 )=(a+a ¯ )⋅(a+1)(由H 4 )=a+(a ¯ ⋅1)(由H 2 )=a+a ¯ (由H 3 )=1(由H 4 )再次,若a+b=a+c,a ¯ +b=a ¯ +c,则b=c.(a+b)⋅(a ¯ +b)=b+(a⋅a ¯ )(由H 2 )=b+0(由H 4 )=b(由H 3 )(a+c)⋅(a ¯ +c)=c+(a⋅a ¯ )(由H 2 )=c+0(由H 4 )=c(由H 3 )故b=c.
1.由H 1 知,此代数满足交换律。2.因为a+(a⋅b)=(a⋅1)+(a⋅b)(由H 3 )=a⋅(1+b)(由H 2 )=a⋅1(由上面的证明)=a(由H 3 )所以,此代数满足吸收律。3.令L=a⋅(b⋅c),M=(a⋅b)⋅c于是a+L=a+(a⋅(b⋅c))=a(由吸收律)a+M=a+((a⋅b)⋅c)=(a+a⋅b)⋅(a+c)(由H 2 )=a⋅(a+c)(由吸收律)=a(由吸收律)所以,a+L=a+M.a ¯ +L=a ¯ +(a⋅(b⋅c))=(a ¯ +a)⋅(a ¯ +(b⋅c))(由H 2 )=1⋅(a ¯ +(b⋅c))(由H 4 )=a ¯ +(b⋅c)(由H 3 )a ¯ +M=a ¯ +((a⋅b)⋅c)=(a ¯ +a⋅b)⋅(a ¯ +c)(由H 2 )=((a ¯ +a)⋅(a ¯ +b))⋅(a ¯ +c)(由H 2 )=(1⋅(a ¯ +b))⋅(a ¯ +c)(由H 4 )=(a ¯ +b)⋅(a ¯ +c)(由H 3 )=a ¯ +(b⋅c)(由H 2 )所以,a ¯ +L=a ¯ +M.故L=M.即此代数满需结合律。由格的定义知,代数(B,⋅,+)是一个格。现在,我们定义B上的部分序关系≤如下:a≤b⟺a⋅b=a于是,由本章§8.2的定理8.2.1知,(B,≤)是格,并且a≤b⟺a+b=b由H 3 知,对任意a∈B,有a⋅1=a,a+0=a故,0≤a≤1.即0,1分别是B的最小,最大元素,因此(B,⋅,+, − ,0,1)是布尔代数。
例8.5.1.设B={0,1},B上的运算+,⋅, − 如下:
⋅01 000 101
+01 001 111
x01 x ¯ 10
不难证明(B,⋅,+, − ,0,1)是布尔代数,这是最简单的一个布尔代数,习惯上也称为电路代数。
例8.5.2.设S是一个非空集合,ρ(S)是S的幂集合。不难证明:(ρ(S),∩,∪, − ,ϕ,S)是一个布尔代数。其中:A∩B表示A,B的交集;A∪B表示A,B的并集, − 表示A的余集。此代数也称为集合代数。
例8.5.3.设S是命题公式的集合,不难证明(S,∧,∨,¬,F,T)是一个布尔代数,也称为命题代数。
例8.5.4.设B n 是由0,1做分量的所有n元向量集合。对任意a,b∈B n ,令a=(a 1 ,⋯,a n ),b=(b 1 ,⋯,b n ),定义B n 上的运算如下:a⋅b=(a 1 ⋅b 1 ,a 2 ⋅b 2 ,⋅,a n ⋅b n )a+b=(a 1 +b 1 ,a 2 +b 2 ,⋯,a n +b n )a ¯ =(a ¯ 1 ,a ¯ 2 ,⋯,a ¯ n )不难证明:(B n ,⋅,+, − ,0 n ,1 n )是一个布尔代数,其中0 n 表示n个0做成的n元向量,1 n 表示n个1做成的n元向量。此代数也称为开关代数。
如不特别指出,我们提到的布尔代数都是有限布尔代数。
定义8.5.2.任给一个布尔代数(B,⋅,+, − ,0,1).若B的一个子集S包含0,1,且(S,⋅,+, − ,0,1)仍是一个布尔代数,则称S为B的子代数。
例8.5.5.设S={a,b,c},则(ρ(S),∩,∪, − ,ϕ,S)是一个布尔代数。若设S 1 ={ϕ,{a},{b,c},{a,b,c}},则(S 1 ,∩,∪, − ,ϕ,S)是(ρ(S),∩,∪, − ,ϕ,S)的子代数。若设S 2 ={ϕ,{a},{b},{a,b},{a,b,c}},则S 2 在∩,∪下是ρ(S)的子格,但(S 2 ,∩,∪, − ,ϕ,S)不是布尔代数,因此不是(ρ(S),∩,∪, − ,ϕ,S)的子代数。显然,{a},{b},{a,b}在S 2 中没有余元素。若设S 3 ={ϕ,{a}},则(S 3 ,∩,∪, − ,ϕ,{a})是布尔代数,但不是(ρ(S),∩,∪, − ,ϕ,S)的子代数,因为S 3 不含ρ(S)中的最大元素S。
定理8.5.2.设(B,⋅,+, − ,0,1)是布尔代数。于是,B的子集S是B的子代数的充要条件是S在运算⋅,+, − 下是封闭的。
证明:必要性。若S是B的子代数,则显然S在⋅,+, − 之下是封闭的。充分性。若S在⋅,+, − 下封闭,则任取a∈S,于是有a ¯ ∈S,a+a ¯ =1∈S,a⋅a ¯ =0∈S,即S包含0,1.又因S在运算⋅,+, − 之下封闭,S中元素也是B中元素,而B是布尔代数,故S中元素对于运算⋅,+, − 满足公理H 1 ∼H 4 ,所以(S,⋅,+, − ,0,1)是布尔代数,由定义,S是B的子代数。
是布尔代数A的基底。$
定理8.5.5.设A是由互相独立的元素{A 1 ,⋯,A n }生成的布尔代数,于是A中所有极小项元素就是关于A 1 ,⋯,A n 的所有极小项。
8.5.2有限布尔代数的表示理论
定义8.5.3.设(B,⋅,+, − ,0,1)是布尔代数,e 1 ,⋯,e n 是B中有如下性质的一组元素,对任意a∈B,都可唯一地表示为a=α 1 e 1 +α 2 e 2 +⋯+α n e n 其中α i 或为0,或为1,(i=1,⋯,n)。则称e 1 ,⋯,e n 为布尔代数B的一组基底,并称此布尔代数为n维的。
由该定义可得如下结论:
结论8.5.2.设e 1 ,⋯,e n 为布尔代数B的一组基底,则对于∀i∈{1,⋯,n},e i ≠0.
证明:用反证法。若有e i =0,则一方面,e i =0e 1 +0e 2 +⋯+0e i +⋯+0e n ,令一方面,e i =0e 1 +0e 2 +⋯+1e i +⋯+0e n ,而e i ∈B,且表示方法不唯一。这于定义中任意a∈B,都可唯一地表示为:a=α 1 e 1 +α 2 e 2 +⋯+α n e n 矛盾。因此,e i ≠0,i=1,⋯,n。
结论8.5.2.设e 1 ,⋯,e n 为布尔代数B的一组基底,则对于∀i,j∈{1,⋯,n},如果i≠j,那么e i ≠e j .
证明:用反证法。若存在i≠j,而e i =e j ,不妨设i<j,则有e i =0e 1 +0e 2 +⋯+1e i +⋯+0e j +⋯+0e n ,e i =e j =0e 1 +0e 2 +⋯+0e i +⋯+1e j +⋯+0e n ,显然与e i 表示方法唯一矛盾。
例8.5.6.设S 30 是30的所有正因数做成的集合。对任意a,b∈S 30 ,规定运算a+b为a、b的最小公倍数,a⋅b为a、b的最大公约数。则(S 30 ,⋅,+, − ,1,30)是布尔代数,1是其最小元素,30是其最大元素。该布尔代数的基底为2,3,5:1=1⋅2+1⋅3+1⋅5,2=30⋅2+1⋅3+1⋅5,3=1⋅2+30⋅3+1⋅5, 5=1⋅2+1⋅3+30⋅5,6=30⋅2+30⋅3+1⋅5,10=30⋅2+1⋅3+30⋅5,15=1⋅2+30⋅3+30⋅5, 30=30⋅2+30⋅3+30⋅5.
定义8.5.4.设(B,⋅,+, − ,0,1)是布尔代数。若B中非零元素a有性质:对任意x∈B,a⋅x或者为0,或者为a,则称a为布尔代数的极小元素。
可以验证例8.5.6中2,3,5都是极小元素。
结论8.5.3.若a,b为布尔代数中两个不同的极小元素,则有a⋅b=0。
证明:用反证法。若a,b为布尔代数中的两个不同的极小元素,而a⋅b≠0,则一方面a为极小元素知,a⋅b=a;另一方面,由b为极小元素知,a⋅b=b.于是,a=b,与a≠b矛盾。
引理1:设B是布尔代数,a是B中任意非零元素。若a不是极小元素,则存在极小元素b,使b<a.
证明:因为a不是极小元素,所以有非零元素x 0 ,使得a⋅x 0 ≠0,且a⋅x 0 ≠a。令a⋅x 0 =a 1 ,显然,a 1 <a。若a 1 仍不是极小元素,则有非零元素x 1 ,使得a 1 x 1 ≠0,且a 1 x 1 ≠a 1 。令a 1 x 1 =a 2 ,显然,a 2 <a 1 。重复上述过程,由于B中元素有限,故最后可找到极小元素a n ,使得a n <a n−1 <⋯<a 2 <a 1 <a
定理8.5.3.有限布尔代数的基底必是此代数的所有极小元素;反之,此代数的所有极小元素必然做此代数的基底。
证明:(1)设e 1 ,⋯,e n 是B的基底。若e i 不是极小元素,则在B中可找到元素a,使得ae i =b≠0,且b≠e i 。显然,b≤e i .令b=α 1 e 1 +⋯+α i e i +⋯+α n e n .取c=b ¯ e i ,因为be i =b,所以,b+c=be i +b ¯ e i =e i .令c=β 1 e 1 +⋯+β i e i +⋯+β n e n 于是有e i =b+c=(α 1 +β 1 )e 1 +⋯+(α n +β n )e n 由基底的性质,则必有α j +β j =0,α i +β i =1(j≠i,j=1,⋯,n)亦即:α j =β j =0(j≠i,j=1,⋯,n),α i =1或者β i =1.若α i =1,则b=e i ,矛盾。若β i =1,则c=e i ,即b ¯ e i =e i ,所以0=(bb ¯ )e i =b(e i )=be i =b,矛盾,所以e i 是极小元素。设e ∗ 是B的一个极小元素,令e ∗ =α 1 e 1 +⋯+α n e n ,因为e ∗ ≠0,故不妨设α j ≠0,于是e ∗ e j =e j ,因为e ∗ 是极小元素,所以e ∗ =e j ,即B的每一个极小元素,都必是基底中某一元素。
(2)设e 1 ,⋯,e n 是B中所有极小元素。首先e i 可由e 1 ,⋯,e n 做如下线性表示:e i =0e 1 +⋯+1e i +⋯+0e n ,并且此表示是唯一的。若不然,令e i =α 1 e 1 +⋯+α n e n 其中至少有一个α j ≠0(j≠i),使0=e i e j =α j e j =e j ,矛盾。其次,设a是B中任一非极小元素。令所有≤a的极小元素(由引理1知,这是存在的)为e i 1 ,⋯,e i k (1≤i 1 <⋯<i k ≤n)令e i 1 +⋯+e i k =b,显然,b≤a.若b<a,则b ¯ a≠0(否则,将推出a≤b),于是,由引理1知,必有极小元素e j ≤b ¯ a,因为b ¯ a≤a,所以e j ≤a.因此,e j 必是e i 1 ,⋯,e i k 其中某一个。设e j =e i l (1≤l≤k).因为e j =e i l ≤b ¯ a,所以(b ¯ a)e i l =e i l 而e i l b=e i l ,故(b ¯ ae i l )b=e i l ,即(b ¯ b)a=e i l ,即e i l =0,矛盾,故b=a,即a=e i l +⋯+e i k .又设a=e j 1 +⋯+e j r ,不妨设e j 1 ≠e i p (对所有的p=1,⋯,k),于是e j 1 a=e j 1 ,而e j 1 (e i 1 +⋯+e i k )=0,故e j 1 =0,矛盾,所以a的线性表示是唯一的。
推论1:若(B,⋅,+, − ,0,1)是布尔代数,其基底e 1 ,⋯,e n ,则e 1 +e 2 +⋯+e n =1。
比如,(S 30 ,⋅,+, − ,1,30)的基底为2,3,5,2+3+5=30。
推论2:有限布尔代数的基底是唯一的。
定义8.5.5.设(B,⋅,+, − ,0,1)是布尔代数。s 1 ,⋯,s r 是B中一组元素。设S是关于s 1 ,⋯,s r 的所有多项式的集合:∑x i 1 ⋯x i n ,其中1≤i p ≤r(1≤p≤n),x i p 或为S i p ,或为S i p ¯ ¯ ¯ ¯ 。
不难证明:(S,⋅,+, − ,0,1)是布尔代数。我们称此布尔代数为由{s 1 ,⋯,s r }生成的布尔代数。
例8.5.7.(S 30 ,⋅,+, − ,1,30)中由{2,6}生成的布尔代数是(S 30 ,⋅,+, − ,1,30)本身;由{1,30}生成的布尔代数是({1,30},⋅,+, − ,1,30);由{2}生成的布尔代数是({1,2,15,30},⋅,+, − ,1,30).
定义8.5.6.设X 1 ,⋯,X n 是一组文字,于是文子串X α 1 1 X α 2 2 ⋯X α n n 称为关于X 1 ,⋯,X n 的一个极小项,其中α i 或为0,或为1,i=1,⋯,n。设s 1 ,⋯,s n 为布尔代数B中一组元素,若规定S 0 i =S i ¯ ¯ ¯ ,S 1 i =S i ,i=1,⋯,n。则关于s 1 ,⋯,s n 的每一个极小项,都有一个由0,1(布尔代数B中的0,1)组成的n元值组,代入该极小项,使其等于1.将此n元值组看做n位二进制数,令为p,于是将该极小项可记为m p .如果关于s 1 ,⋯,s n 的一个多项式中的每一个乘积项,都是一个关于s 1 ,⋯,s n 的极小项,则称此多项式为一个关于s 1 ,⋯,s n 的多项范式。
例8.5.8.(S 30 ,⋅,+, − ,1,30)中关于2,6的所有极小项为:2 0 ⋅6 0 =2 ¯ ⋅6 ¯ =15⋅5=5,2 0 ⋅6 1 =2 ¯ ⋅6=15⋅6=3,2 1 ⋅6 0 =2⋅6 ¯ =2⋅5=1,2 1 ⋅6 1 =2⋅6=2⋅6=2.
定义8.5.7.布尔代数B中一组元素A 1 ,⋯,A n 称为互相独立的,如果关于它们所有极小项都不为0.
由例8.5.8可见,(S 30 ,⋅,+, − ,1,30)中2,6不相互独立,因为2 1 ⋅6 0 为最小元1.实际上,在(S 30 ,⋅,+, − ,1,30)中任意找两个元素都不相互独立。
例8.5.9(S 210 ,⋅,+, − ,1,210)中6和10相互独立,因为关于它们的所有极小项2,3,5,7,都不是最小元1.由{6,10}可生成(S 210 ,⋅,+, − ,1,210),且S 210 中任意元素都可唯一地表为关于6,10的多项范式。
定理8.5.4.设B是布尔代数A 1 ,⋯,A n 是其中一组相互独立的元素。设A是由{A 1 ,⋯,A n }生成的布尔代数,于是对于A中任意元素a,都可唯一地表示成一个关于A 1 ,⋯,A n 的多项范式。
证明:关于A 1 ,⋯,A n 的任意两个不同的极小项m i ,m j (i≠j),必有m i m j =0。首先,由生成的定义知,A中任意元素a都可表为关于A 1 ,⋯,A n 的多项式,对于多项式中任一个不是极小项的p,用p乘以(A i 1 +A i 1 ¯ ¯ ¯ ¯ ¯ ),⋯,(A i k +A i k ¯ ¯ ¯ ¯ ¯ ),其中A i 1 ,⋯,A i k ,是p中缺少的A 1 ,⋯,A n 中的元素,然后用分配律展开即得极小项,如此处理可见a可表为关于A 1 ,⋯,A n 的多项范式。根据不同极小项相乘为0可证明:a表成的多项范式是唯一的。
推论:设B是布尔代数,A是由互相独立元素{A 1 ,⋯,A n }生成的布尔代数,于是关于A 1 ,⋯,A n 的2 n 个极小项m 0 ,⋯,m 2 n −1 是布尔代数A的基底。
定理8.5.5.设A是由互相独立的元素{A 1 ,⋯,A n }生成的布尔代数,于是A中所有极小项元素就是关于A 1 ,⋯,A n 的所有极小项。