George Boole 基本想法
设变量 X,Y,Z,⋯ 代表事物的类别(一个事物要么属于这个类别,要么不属于这个类别),有
- 乘法:XY 表示 X 与 Y 同时满足
- 加法:X+Y 表示 X 或 Y 满足
- 组合:Z(X+Y)=ZX+ZY
抽象定义
布尔代数是一个集合 B,定义二元运算 ∨ 和 ∧,一元运算 aˉ,以及特殊元素 0 和 1,且对 ∀x,y,z∈B,有
- 结合律:x∨(y∨z)=(x∨y)∨z,x∧(y∧z)=(x∧y)∧z
- 交换律:x∨y=y∨x,x∧y=y∧x
- 分配律:x∧(y∨z)=(x∧y)∨(x∧z),x∨(y∧z)=(x∨y)∧(x∨z)
- 同一律:x∨0=x,x∧1=x
- 补律:x∨xˉ=1,x∧xˉ=0
上面的性质蕴含了下面的恒等式:
布尔恒等式
- 吸收律:x+xy=x,x(x+y)=x
- 幂等律:x+x=x,xx=x
- 支配律:x+1=1,x0=0
- 双重补律:xˉˉ=x
- 德摩根定律:x+y=xˉyˉ,xy=xˉ+yˉ
因此布尔代数即为有补的分配格。
B=({0,1},+,⋅,aˉ,0,1) 是一个布尔代数。
Bn={(x1,⋯,xn)∣xi∈B} 构成布尔代数,其中记 x=(a1,⋯,an),y=(b1,⋯,bn),ai,bi∈B,定义
- x∧y=(a1∧b1,⋯,an∧bn)
- x∨y=(a1∨b1,⋯,an∨bn)
- xˉ=(aˉ1,⋯,aˉn)
集合 A 的幂集 2A 构成布尔代数,即 (P(A),∩,∪,∼,∅,A) 是一个布尔代数。
B1=({0,1},+,⋅,aˉ,0,1) 记为 B。记 Bn=B×⋯×B,在其上定义乘积偏序关系 x⩽y 当且仅当任意 i 都有 xi⩽yi。
显然 Bn 与含 n 个元素的集合的幂集代数同构。
有限布尔代数表示定理
设 L 是格,L 中有全下界 0,给定元素 a=0,若任意 x∈L 均有
0≺x≼a→x=a
即不存在 x=0∈L 使得 x≺a,
则称 a 是 L 中的原子(atom)。
即原子是覆盖最小元的那些元素。
设 a,b 是格 L 的原子,若 a=b,则 a∧b=0。
flowchart TB
subgraph 1["(1)"]
direction TB
1a((a)) --- 1b((b)) --- 1c((c)) --- 1d((d))
end
subgraph 2["(2)"]
direction TB
2a((a)) --- 2b((b)) & 2c((c)) & 2d((d)) --- 2e((e))
end
subgraph 3["(3)"]
direction TB
3a((a)) --- 3b((b)) & 3c((c))
3c --- 3d((d))
3b & 3d --- 3e((e))
end
(1) 中 c 为原子,(2) 中 b, c, d 为原子,(3) 中 b, d 为原子。
有限布尔代数表示定理
任一有限布尔代数 B 同构于 B 中所有的原子构成的集合 A 的幂集代数系统 P(A)。即
(B,∧,∨,aˉ,0,1)≅(P(A),∩,∪,∼,∅,A)
证明
令 A={a1,⋯,an} 为 B 中各个原子的结合,要证下面两个结论:
- B 中每个非 0 元素 xi 都是其下所有原子 ai1,⋯,aik 的并
- xi 的上述并表示唯一
对于第一个结论,记 b=ai1∨⋯aik,即证 b≼xi 且 xi≼b。
由于各 ait≼xi,可得前者。对于后者,x∧yˉ=0⟺x≼y且 xi∧bˉ=0 可得(若 xi∧bˉ=0,则有原子 c≼xi,从而 c 是某 ait,但 c≼bˉ,矛盾)。
对于第二个结论,设 xi=ai1∨⋯∨aik=aj1∨⋯∨ajt,不妨设 aj1 不出现在前一种表示中,则
0=aj1∧(ai1∨⋯∨aik)=aj1∧(aj1∨⋯∨ajt)=aj1
由这两个结论即可构造 B 与 P(A) 的布尔代数同构。
无限布尔代数
对于无限布尔代数 2N,即可数无穷的零一序列,显然它有无穷多个原子(100⋯,010⋯,001⋯,⋯)。
然而对于其一个子代数,周期序列,就没有原子了。下面详细解释一下(个人理解,迟到三个月的想通):
考虑的是 2N 的所有周期序列构成的子代数 C,它是子代数的证明略。
注意到对于任意非 0 元素 x 序列,它都存在(无穷多个)1,不妨设它周期为 T。
容易发现,x 在两个周期内至少有 2 个 1,总可以构造一个新的非 0 元素 x′,使得其周期为 2T,在这个 2T 周期中仅保留与 x 的 2 个周期中某一个 1 重合的位置为 1,其余位置为 0。即 x′ 在它的 2T 周期中有且仅有 1 个 1。
这样一来,显然有 0≺x′≺x。
因为对于任意元素 x,总可以找到一个新的元素 x′ 使得 0≺x′≺x,所以 C 中不存在原子。
因此可得
任何有限布尔代数基数为 2n,n 为原子的个数。
等势的布尔代数同构。
若设 Dn 为 n 所有正因子及其上的整除关系构成的偏序集。则当且仅当 n=p1⋯pk,其中 pi 为互不相等的素数时,Dn 是布尔代数(也可以说不存在素数 p 使得 p2∣n)。
证明
因 p2∣n,则有正整数 q 使得 n=p2q,注意到 p 也是 Dn 中元素,若 Dn 是布尔代数,则 p 有补元 p′ 使得 gcd(p,p′)=1 且 lcm(p,p′)=n,则 pp′=n,即 p′=pq,从而 gcd(p,p′)=p,矛盾。
布尔函数
令 B={0,1},Bn={(x1,⋯,xn)∣xi∈B},则称 f:Bn→B 为 n 元布尔函数。
则 n 元布尔函数的个数为 BBn=22n。
- 布尔和:(f+g)(x1,⋯,xn)=f(x1,⋯,xn)+g(x1,⋯,xn)
- 布尔积:(f⋅g)(x1,⋯,xn)=f(x1,⋯,xn)⋅g(x1,⋯,xn)
- 补函数:fˉ(x1,⋯,xn)=f(x1,⋯,xn)
即 n 元布尔函数的全体构成一个布尔代数:
- 布尔和
- 布尔积
- 补函数
- 全取 0 的函数、全取 1 的函数