布尔代数

17 Mar 2025 | 5 分钟阅读

一个有补分配格被称为布尔代数。 它由 (B, ∧,∨,',0,1) 表示,其中 B 是其上定义了两个二元运算 ∧ (*) 和 ∨(+) 以及一个一元运算(补码)的集合。这里 0 和 1 是 B 的两个不同元素。

由于 (B,∧,∨) 是一个有补分配格,因此 B 的每个元素都有一个唯一的补码。

布尔代数的性质

1. 交换律

      (i)a+b = b+a
      (ii)a*b=b *a

2. 分配律

      (i) a+(b*c)=(a+b)*(a+c)
      (ii)a*(b+c)=(a*b)+(a*c)

3. 恒等律

      (i) a+0=a
      (ii) a *1=a

4. 补码律

      (i) a+a'=1
      (ii)a * a'=0

子代数

考虑一个布尔代数 (B, *, +,', 0,1),并令 A ⊆ B。那么 (A,*, +,', 0,1) 被称为 B 的子代数或子布尔代数,如果 A 本身是一个布尔代数,即 A 包含元素 0 和 1,并且在运算 *, + 和 ' 下是封闭的。

示例:考虑布尔代数 D70,其 Hasse 图如图所示

Boolean Algebra

显然,A= {1, 7, 10, 70} 并且 B = {1, 2, 35, 70} 是 D70 的一个子代数。因为 A 和 B 都在运算 ∧,∨ 和 ' 下是封闭的。

注意:布尔代数的子集可以是布尔代数,但它可能不是子代数,因为它可能没有关闭 B 上的运算。

同构-布尔代数

如果存在一个一一对应关系 f: B⟶B1,它保留了三个运算 +,* 和 ' 对于 B 中的任何元素 a, b,则称两个布尔代数 B 和 B1 同构,即
                    f (a+b)=f(a)+f(b)
              f (a*b)=f(a)*f(b) 和 f(a')=f(a)'。

示例:以下是两个具有两个元素的不同的布尔代数,它们是同构的。

1. 第一个布尔代数是从一个幂集 P(S) 派生的,在 ⊆(集合包含)下,即令 S = {a},那么 B = {P(S), ∪,∩,'} 是一个具有两个元素的布尔代数 P(S) = {∅,{a}}。

2. 第二个布尔代数是 {B, ∨,∧,'},它有两个元素 1 和 p {这里 p 是一个质数},在运算除法下,即令 B = {1, p}。所以,我们有 1 ∧ p = 1 且 1 ∨ p = p 以及 1'=p 和 p'=1。

下表显示了布尔代数 (B, *, +, ', 0, 1) 的所有基本性质,适用于 B 中的任何元素 a、b、c。 B 的最大和最小元素分别用 1 和 0 表示。

1. a ≤b 当且仅当 a+b=b                               2. a ≤b 当且仅当 a * b = a
3. 等幂律                                      4. 交换律
    (i)a+b=a                                                (i)a+b=b+a
    (ii) a * a = a                                           (ii)a*b=b*a
5. 结合律                   6. 吸收律
    (i)a+(b+c)=(a+b)+c                             (i)a+(a*b)=a
    (ii)a*(b*c)=(a*b)*c                             (ii)a*(a+b)=a
7. 恒等律                               8. 零律
    (i) a+0=a                                               (i)a*0=0
    (ii) a*1=a                                             (ii)a+1=1
9. 分配律                        10. 补码律
      (i)a*(b+c)=(a*b)+(a*c)                     (i)0'=1
  (ii) a+(b*c) = (a+b)*(a+c)                     (ii)1'=0
                                                                (iii)a+a'=1
                                                                (iv)a*a'=0
11. 对合律                           12. 德摩根定律
    (a')'=a                                                    (i)(a *b)'=(a' +b')
                                                                 (ii) (a+b)'=(a' *b')

注意
1. 对于每个 a ∈ B,0 ≤ a ≤ 1。
2. 每个元素 b 都有一个唯一的补码 b'。

布尔函数

考虑布尔代数 (B, ∨,∧,',0,1)。从 A'' 到 A 的一个函数称为布尔函数,如果一个 n 个变量的布尔表达式可以指定它。

对于二值布尔代数,从 [0, 1]n 到 [0, 1] 的任何函数都是布尔函数。

示例1:该表显示了从 {0, 1}3 到 {0, 1} 的函数 f

(x, y, z)f
(0, 0, 0)0
(0, 0, 1)0
(0, 1, 0)1
(0, 1, 1)0
(1, 0, 0)1
(1, 0, 1)1
(1, 1, 0)0
(1, 1, 1)1

示例2:该表显示了从 {0, 1, 2, 3}2 到 {0,1,2,3} 的函数 f。

(x, y)f
(0, 0)1
(0, 1)0
(0, 2)0
(0, 3)3
(1, 0)1
(1, 1)1
(1, 2)0
(1, 3)3
(2, 0)2
(2, 1)0
(2, 2)1
(2, 3)1
(3, 0)3
(3, 1)0
(3, 2)0
(3, 3)2

注意:一个函数总是可以用表格形式描述。表达函数的另一种方法是通过表达式指定该函数。


下一主题布尔表达式