第五章布尔代数布尔代数最初是作为对逻辑思维法则的研究出现的。
英国哲学家George Boole于1847年的论文“逻辑之数学分析”及“思维法则之研究”中引入了布尔代数。
本世纪30年代C.E. Shannon发表了“继电器和开关电路的符号分析”一文,为布尔代数在工艺技术中的应用开创了道路。
50年代苏联科学家把布尔代数发展成为接点网络实用中的通用理论,从而使布尔代数成为计算机科学中的重要基础理论。
从逻辑上讲,布尔代数是一个命题演算系统;从抽象代数观点讲,布尔代数是一个代数系统;从集合的观点讲,它是一个集合代数;从工程技术的观点讲,布尔代数是电路代数,电子线路的设计离不开它;5.1 布尔代数的基本定义和性质定义5.1.1给定一个具有三个运算的代数结构<S,⊕,⊙,′>,其中,⊕,⊙是S上的二元运算,′是S上的一元运算,0,1∈S。
若对于 x,y,z∈S(1) x⊕y=y⊕x,x⊙y=y⊙x (交换律)(2)x⊕(y⊕z)=(x⊕y)⊕z,x⊙(y⊙z)=(x⊙y)⊙z(结合律)(3)x⊕(y⊙z)=(x⊕y)⊙(x⊕z),x⊙(y⊕z)=(x⊙y)⊕(x⊙z)(分配律)(4)x⊕0=x,x⊙1=x (同一律)(5)x⊕x′=1,x⊙x′=0(有补律)则称<S,⊕,⊙,′>称为布尔代数(Boolean Algebra),⊕,⊙,′分别称为它的并(布尔和),交(布尔积)和补运算,0和1分别称为它的零元和么元。
一个布尔代数通常记为<S,⊕,⊙,′,0,1>。
例5.1.1二值(元)布尔代数<B,⊕,⊙,′,0,1>,其中B={0,1}1⊕1=1⊕0=0⊕1=1,0⊕0=0,1=0′1⊙1=1,1⊙0=0⊙1=0⊙0=0,0=1′例5.1.2集合代数<P(A),∪,∩,′,Φ,A>例5.1.3*命题代数定理5.1.1在一个布尔代数中,0和1 都是唯一的;定理5.1.2在一个布尔代数中,任一元素的补元是唯一的;证明(利用同一律,有补律和分配律)定理5.1.3在一个布尔代数中<S,⊕,⊙,′0,1>中,则对∀x∈S,(x′) ′=x定理5.1.4条件同上,则0′=1,1′=0;定理5.1.5条件同上,则对∀x∈S,x⊕x=x,x⊙x=x(幂等律)证明(利用同一律,有补律和分配律)定理5.1.6条件同上,则对∀x∈S,x⊕1=1,x⊙0=0(零一律)证明(同定理5.1.5)定理5.1.7条件同上,则对∀x,y∈S,x⊕(x⊙y)=x,x⊙(x⊕y)=x(吸收律)证明(同定理5.1.5)定理5.1.8条件同上,则对∀x,y∈S,(x⊙y)′=x′⊕y′,(x⊕y) ′=x′⊙y′(De morgan律)证明(同定理5.1.5)定理5.1.9条件同上,若对x,y,z∈S,x⊙y=x⊙z,x⊕y=x⊕z,则y=z (消去律)证明(利用集合中类似证明方法)定理5.1.10 条件同上,则对∀x,y∈S,x⊙y=x⇔x⊕y=y证明(利用吸收律)对偶原理: 在布尔代数<S,⊕,⊙,′,0,1>中,若P是某个已经得到证明的定理,将定理中的条件和结论(1)⊕与⊙互换; (2) 0与1 互换则由此而得的新定理仍然成立;5.2 格定理5.2.1设<S,⊕,⊙,′,0,1>为一个布尔代数,则集合≤={<x,y>| x⊙y=x∧x∈S∧y∈S}称为S上的偏序关系。
注x≤y⇔ x⊕y=y⇔ x⊙y=x定理5.2.2设<S,⊕,⊙,′,0,1>为一个布尔代数,以及S上的偏序关系≤,则对∀x,y,z∈S(1)x⊙y≤x,x⊙y≤y;(2)x≤x⊕y,y≤x⊕y;(3)x≤z∧y≤z => x⊕y≤z; x≤y∧x≤z => x≤y⊙z;(4)x≤y ⇔ x⊙y′=0;(5)0≤x,x≤1;证明(利用≤定义及吸收律)定义5.2.2给定偏序集<S,≤>,若其中S的任两个元素组成的集合均有上确界(最小上界)和下确界(最大下界),则称此偏序集为一个格(Lattice)。
有一些偏序集不是格:例5.2.1设S={0,1,a,,b,c,d},≤={<0,0>,<1,1>,<a,a>,<b,b>,<c,c>,<d,d>,<0,a>,<0,b>,<0,c>,<0,d>,<0,1>,<a,d>,<a,c>,<a,1>,<b,c>,<b,d>,<b,1>,<c,1>,<d,1>}则{a,b}无上确界,{c,d}无下确界;定义5.2.3设<S,≤>是一个格,在S上定义两个二元运算: 对∀x,y∈S,x⊙y=GLB(x,y),x⊕y=LUB(x,y)(其中GLB(x,y)和LUB(x,y)分别为集合{x,y}在偏序集<S,≤>中的下确界和上确界)。
格<S,≤>记为<S,⊕,⊙>;推论运算⊕,⊙分别满足交换律和结合律;定义5.2.4设<S,⊕,⊙>是一个格,若⊕,⊙相互满足分配律,则称之为一个分配格(Distributive Lattice)。
定义5.2.5设<S,⊕,⊙>是一个格,若S中有最大元和最小元,则称之为有界格(Bounded Lattice)。
且分别用0和1表示一个有界格中的最小元和最大元;注在一个有界格中,对∀x∈S,0≤x≤1;定义5.2.6设<S,⊕,⊙,0,1>是一个有界格,x∈S,存在y∈S 使x⊕y=1,x⊙y=0则称x和y互为补元(Complement)显然0和1互为补元;定义 5.2.7每个元素都有补元的有界格称为有补格(Complemented Lattice)。
定义5.2.8任一个有补分配格是一个布尔代数;将x的补元记为x′,′称为有补格的补运算;5.4 布尔代数的原子表示定义5.4.1设<S,⊕,⊙,′,0,1>为布尔代数,a是S中的一个非零元。
若对∀x∈S,有a⊙x=a或a⊙x=0,则称a是此布尔代数的一个原子(Atom);注1) 若a是布尔代数<S,⊕,⊙,′,0,1>的一个原子,则对∀x ∈S,有a≤x或a⊙x=0;2)若a为<S,⊕,⊙,′,0,1>的原子且x≤a,则x=a或x=0;例5.4.11)设S={a,b,…,c},则{a},{b},…,{c}是布尔代数<P(S),∪,∩,′,Φ,S>的所有原子;2)设S是一个无限集,则对∀a∈S,{a}是此布尔代数的一个原子;定理5.4.1若a和b为布尔代数<S,⊕,⊙,′,0,1>的两个原子,且a⊙b≠0,则a=b;(其逆否命题:若a,b为布尔代数<S,⊕,⊙,′,0,1>的两个不同原子,则a⊙b=0)定理 5.4.2若<S,⊕,⊙,′,0,1>为有限布尔代数,x∈S,x ≠0,则存在原子a∈S,使a≤x。
证明(构造性证明方法)定理5.4.3设<S,⊕,⊙,′,0,1>为布尔代数,若a为原子,则对∀x∈S,a≤x或a≤x′两式有且仅有一式成立;定理5.4.4 设<S,⊕,⊙,′,0,1>为有限布尔代数,a,a1,a2,…,a n为其原子,则a≤a1⊕a2⊕…⊕a n⇔存在i∈{1,2,…,n},a= a i。
定理5.4.5设<S,⊕,⊙,′,0,1>为有限布尔代数,a1,a2,…,a n为其所有原子,y∈S,则y=0⇔y⊙a i=0,i=1,2,…,n。
定理5.4.6 (原子表示定理) 设<S,⊕,⊙,′,0,1>为有限布尔代数,x为S中非零元,且设a1,a2,…,a n为满足a≤x的所有原子,则x= a1⊕a2⊕…⊕a n且如不计原子的出现顺序则这样的表示方式是唯一的。
证明(记y= a1⊕a2⊕…⊕a n求证y=x)定理5.4.7(Stone表示定理)<S,⊕,⊙,′,0,1>为有限布尔代数,A为其所有原子的集合,则<S,⊕,⊙,′,0,1>≌<P(A),∪,∩,′,Φ,A>。
证明(作函数f:S→P(A),f(x)= Φ,if x=0;f(x)={a|a∈A∧a≤x}(即所有满足a≤x的原子集合) if x≠0; 推论有限布尔代数的基数一定为2的幂次;5.5 布尔代数B r2用B n表示具有n个元素的布尔代数<S n,⊕,⊙,′,0,1>。
特别地当S2={0,1},二元布尔代数为B2=<S2,⊕,⊙,′,0,1>; 我们考虑下列代数结构:设r是一个自然数,B r2= B2×B2×…×B2=< S r2,⊕,⊙,′,0r,1r>;其中0r=<0,0,…,0>,1r=<1,1,…,1>,且<a1,a2,…,a r>⊕<b1,b2,…,b r>=<a1⊕b1,a2⊕b2,…,a r⊕b r><a1,a2,…,a r>⊙<b1, b2,…,b r>=<a1⊙b1,a2⊙b2,…,a r⊙b r><a1,a2,…,a r>′=<a1′,a2′,…,a r′><a1,a2,…,a r>,<b1,b2,…,b r>∈S r2;定理5.5.11) B r2是一个布尔代数,2) 布尔代数< S2r,⊕,⊙,′,0,1>与B r2同构;3) 任一有限布尔代数都同构于一个布尔集合代数;5.6 布尔表达式及其范式定理布尔代数可用于逻辑电路的设计。
具有若干输入和某种逻辑功能的组合线路可以用一个定义在电路代数上的电路函数表示,而一个电路函数则可以用布尔表达式来表示。
定义5.6.1 设< S,⊕,⊙,′,0,1>为布尔代数,则S中的元素称为布尔常元; 取值于S中的变元称为布尔变量(Boole Variable)。
定义5.6.2设< S,⊕,⊙,′,0,1>为布尔代数,x1,x2,…,x n为布尔变元,则由这n个布尔变元产生的布尔表达式(BooleExpression)可递归定义如下:1) S 中的任何元素和变元为一个布尔表达式;2) 若F 和G 都是布尔式,则F ′,F ⊕G ,F ⊙G 也是布尔式;3) 只有有限次使用1)或2)构造而成的符号串才是一个布尔式;(a)为了简便起见,规定⊕的运算优先级低于⊙例 5.6.1 在布尔代数<{0,1,βα, },⊕,⊙,′,0,1>中,布尔式有0⊙1′,1⊕(α⊙x 1) ⊕(x 2′⊙x 3),(β′⊕x 1⊕x 3) ⊙1。