1、1,6-4 布尔代数,定义6-4.1 一个有补分配格称为布尔格。求一个元素的补元素可以看作一元运算,称为补运算。,定义6-4.2 设 是由布尔格是所诱导的代数系统。称这个代数系统为布尔代数。,例1 设是由布尔格是所诱导的代数系统。这个代数系统为布尔代数。当S=a,b时的运算表如表6-4.1所示。P-253页,2,3,定理6-4.1 在一个有界分配格中,对于布尔代数中的任意两个元素a,b,必定有( a )=aab= abab= ab, 证明:只证第(2)个等式先证互补的两个式子相并等于全上界“1”。(ab)(ab)= (ab)a)(ab)b)=(b(aa)(a(bb)=(b1)(a1) =1再证
2、互补的两个式子相交等于全下界“0”。(ab)(ab)= 0 ,4,定义6-4.3 具有有限个元素的布尔代数称为有限布尔代数。,定义6-4.4 设和是两个布尔代数,如果存在着A到B的双射f,对于任意的a,b A,都有f(ab)=f(a)f(b)f(ab)=f(a)f(b)f(a)=f(a) 则称和同构。,可以证明,对于每一正整数n,必存在着2n个元素的布尔代数;反之,任一有限布尔代数,它的元素个数必为2的幂次。,5,定义6-4.5 设 是一个格,且具有全下界0,如果有元素a盖住0,则称元素a为原子。原子:与0相邻且比0“大”,定理6-4.2 设 是一个具有全下界0的有限格,则对于任何一个非零元素
3、b(即不等于全下界0的元素)至少存在一个原子a ,使得a b 。, 证明:若b是原子,则有b b ,若b不是原子,则必有b1存在,使得0b1b 若b1是原子,则定理得证,否则,必存在b2使得0b2b1b 由于是一个有下界的有限格,所以通过有限不骤总可以找到一个原子bi ,使得0bi. b2b1b ,6,引理6-4.1 设在一个布尔格中,bc=0当且仅当b c。, 证明:(1)先证 bc=0 b c若 bc=0, 因为 0c=c , 则 (bc)c=c 根据分配性,就有(bc) (cc) =c即 (bc) 1 =c所以 bc =c又因为 b bc 所以 b c(2)再证 b c bc=0 若bc
4、,则bccc,即bc0,所以bc=0 ,7, 证明:(1)先证 a1a2ak b 记a1a2ak =c,因为aj b,所以c b。(2)再证 b a1a2ak由引理6-4.1知,要证bc若是原子,只需证bc=0,反设bc0,于是必有一个原子a,使得abc。又因bcb,和 bcc, 所以 ab 和 ac ,因为a是原子,且ab,所以a必是a1, a2, , ak中的一 个,因此 ac,已有ac,得acc,即a0, 与a是原子矛盾。 bc0假设不成立 。综合(1)和(2)定理得证。,引理6-4.2 设是一个有限布尔代数,若b是A中 任意非零元素, a1, a2, , ak是A中满足ajb 的所有原
5、子(j=1,2,k) ,则b = a1a2ak,8,引理6-4.3 设是一个有限布尔代数,若b是A中 任意非零元素, a1, a2, ,ak是A中满足aj b的所有原子(j=1,2,k) ,则b = a1a2ak是将b表示为原子之并的唯一形式。, 证明:设有另一种表示形式为b=aj1aj1ajt其中aj1,aj1,ajt是原子。因为b是aj1,aj1,ajt的最小上界,所以必有aj1 b, aj2 b,., ajt b。而a1, a2, , ak是A中所有满足ai b (i=1,2,k)的不同原子。所以必有 tk反设tk,那么在a1, a2, , ak中必有aj0且aj0ajl 于是,由aj0
6、(aj1aj1ajt)= aj0(a1a2ak) 即 (aj0aj1) (aj0aj2) (aj0 ajt)= (aj0a1) (aj0a2) (aj0 ak) 导致的0= aj0矛盾。tk假设不成立 。 T=k定理得证。,9,引理6-4.4 在一个布尔格中,对A中 任意一个原子a和另一个非零元素b,ab 和ab两式中有且仅有一式成立。, 证明:(1)先证ab 和ab两式不可能同时成立反设ab 和ab同时成立,就有abb=0,这与a是原子相矛盾,即ab 和ab不同时成立。(2)再证ab 和ab两式中必有一式成立因为aba, a是原子,所以只能是ab=0 或 ab=a若ab=0,则 a(b) =
7、0 ,由引理6-4.1得ab;若ab=a,由引理6-1.6得ab。 ,10,定理6-4.3(Stone 表示定理) 设 是由有限布尔格所诱导的一个有限布尔代数, S是布尔格中的所有原子的集合,则和同构。, 证明:本定理的证明过程分三部分(1)构造一个映射,并证明它是双射(既是入射又是满射);(2)描述代数系统和同构并证明之;(3)总结概括结论。,11,第(1)部分证明:对于任意非0aA,必有的唯一表示:a=a1a2 ak (引理6-4.2a的原子表示) 其中aia (i=1,2,k),作映射 f(a)=S1 = a1,a2 , ak 那么,这个映射是 一个从A到(S)的一个双射。第1部分双射证
8、明: . 对于全下界0A,规定 f(0)= 。.如果 S1 =a1,a2 , ak(S),而有a,bA,使得f(a)= f(a)=S1 ,则a=a1a2 ak = b,所以 f是一个从A到(S)的一个入射。.对于任一个S1(S),若S1 =a1,a2 , ak,则由于运算的封闭性,所以a1a2ak = aA 这就说明(S)中任一元素,必是A中某个元素的象,所以是一个从A到(S)的一个满射。 第1部分双射证明完毕。 ,12,第(2)部分证明:和同构第2部分同构性格证明: . 设 f(ab)=S3,若xS3,则x必是满足xab的原子,因为aba和abb,所以xa且xb,推得xS1 = f(a)且x
9、S2 = f(b) ,即xS1S2 ,这就证得S3 S1S2 。反之,若xS1S2,则xS1且xS2,所以x必是满足xa和xb的原子,推得x必是满足xab的原子,所以xS3,这就证明了 S1S2 S3 。综上所述,就有S3 = S1S2 ,即f(ab)= f(a)f(b),13,. 设 f(ab)=S3,若xS3,则x是满足xab的原子,所以必有xa或xb,这是因为:若xa且xb,则由引理6-4.4可知必有 xa且xb,所以xab= ab 。再由条件xab,便得x (ab)(ab)=0 这与x是原子相矛盾。 因此,若xa则xS1或者若xb则xS2 ,所以x S1S2 这就证明了S3 S1S2
10、。反之,若xS1S2, 则xS1或xS2,若xS1,则xa ab 所以xS3,同理,若xS2,则 xb ab 所以xS3,这就证明了 S1S2 S3 。综上所述,就有S3 = S1S2 ,即f(ab)= f(a)f(b),14,.最后证明同构性的f(a)= f(a)式:将S看作全集,另f(a)=S1,则f(a)=S-S1=S-f(a),可以证明xf(a)当且仅当xa,这是因为,若xf(a),必有xa,则由引理6-4.4可知必有 xa,反之,若原子x满足xa,则必有xa,所以xf(a) 。还可以证明,对于原子x,xa当且仅当xf(a),这是因为,若xa而xf(a),将导致xa的矛盾,所以xf(a
11、),反之,若xf(a)而xa,也将导致xf(a)的矛盾,所以xa 。另外还可以证明, xf(a)当且仅当xf(a),所以,对于原子x, xf(a)当且仅当xf(a),因此,f(a)=f(a) 第2部分同构性证明完毕。 ,(3)总结概括结论:和同构。 ,推论6-4.1 有限布尔格的元素个数必定等于2n,其中n是该布尔格中所有原子的个数。推论6-4.2 任何一个具有2n个元素的有限布尔代数都是同构的。,15,6-5 布尔表达式,定义6-5.1 设为布尔代数,如下递归地定义A上布尔表达式(Boolean expressions):(1)布尔常元(取值于A的常元)是布尔表达式,布尔常元常用a,b,c等
12、符号表示。(2)布尔变元(取值于A的变元)是布尔表达式,布尔变元常用x,y,z等符号表示。(3)如果e1,e2为布尔表达式,那么(e1),(e1e2) ,(e1e2) 也是布尔表达式。(4)除有限次使用条款(2),(3)生成的表达式是布尔表达式外,没有别的是布尔表达式。例1 给出了两个布尔函数的例子,见表6-5.1和6-5.2。例2 给出了布尔表达式的例子,见P-262页。,16,定义6-5.2 一个含有n个相异变元的布尔表达式,称为含有n元的布尔表达式,记为E(x1,x2,xn),其中x1,x2,xn为变元。,定义6-5.3 布尔代数上的一个含有n元的布尔表达式E(x1,x2,xn)的值是指
13、:将A中的元素作为变元xi(i=1,2,n)的值来代替表达式中相应的变元(即对变元赋值),从而计算出表达式的值。,定义6-5.4 布尔代数上两个n元的布尔表达式为E1(x1,x2,xn)和E2(x1,x2,xn),如果对于n个变元的任意赋值xi=xi,xiA时均有E1(x1,x2,xn)=E2(x1,x2,xn) 则称这两个布尔表达式是等价的。,17,例4 布尔代数上两个3元的布尔表达式为 E1(x1,x2,x3)=(x1x2)(x1x3)和 E2(x1,x2,x3)=x1(x2x3)验证这两个布尔表达式是等价的。E1(0,1,1)=(01)(00)=0E2(0,1,1)=0(10)=0E1(
14、1,1,1)=(11)(10)=1E2(1,1,1)=1(10)=1E1(0,0,0)=(00)(01)=0E2(0,0,0)=0(01)=0 等等(全部赋值状况共8种需要验证。)。结论:一个n元布尔表达式确定一个从An到A的函数。,定义6-5.5 设为布尔代数,一个从An到A的函数,如果它能够用上的一个n元布尔表达式E(x1,x2,xn)来表示,那么,称此函数为布尔函数。,18,定理6-5.1 对于两个元素的布尔代数,任何一个从0,1n到0,1的函数,都是布尔函数。, 证明:n元布尔表达式若有x1x2xn形式(其中xi是xi或xi中的任一个),则称它为小项,若一个布尔表达式能表示成小项的并,
15、则称它为析取范式。对于一个从0,1n到0,1的函数,先用那些使函数值为1的有序n元组分别构造小项,其中xi 若n元组中第i个分量为1xi 若n元组中第i个分量为0 由这些小项构成的析取范式就是原函数对应的布尔表达式。,xi=,例5 对于表6-5.3定义的函数写出布尔表达式的析取范式。第1步:利用函数值为1的所有行写出小项;第2步:写出小项的析取式。,19,n元布尔表达式若有x1x2xn形式(其中xi是xi和xi中的任一个),则称它为大项,若一个布尔表达式能表示成大项的交,则称它为合取范式。对于一个从0,1n到0,1的函数,先用那些使函数值为0的有序n元组分别构造大项,其中xi 若n元组中第i个分量为0xi 若n元组中第i个分量为1 由这些大项构成的合取范式就是原函数对应的布尔表达式。对于表6-5.3定义的函数写出布尔表达式的合取范式。第1步:利用函数值为0的所有行写出大项;第2步:写出大项的合取式。,定理6-5.5 布尔代数上的任意一个n元布尔表达式E(x1,x2,xn)一定能写成析取范式(合取范式)。 证明:略 ,xi=,