相关笔记: 第11章汇总 | 12.2 布尔函数的表示

概览

本节系统介绍了布尔代数(Boolean algebra)的基本概念,包括布尔运算(补、布尔和、布尔积)、布尔变量、布尔表达式与布尔函数的定义。随后给出了布尔代数中最重要的12 条恒等式(同一律、支配律、交换律、结合律、分配律、补律、德摩根律、对合律、零元律、幺元律、幂等律、吸收律),并介绍了对偶性(duality)原理。最后给出了布尔代数的公理化定义(Huntington 公理),并展示了集合代数、命题逻辑等具体实例。

  • 布尔代数:在集合 上定义补 、布尔和 、布尔积 三种运算的代数系统
  • 布尔变量:只取值 的变量
  • 布尔表达式:由布尔变量和布尔运算递归定义的表达式
  • 布尔函数:从 的函数, 为度(degree)
  • 布尔恒等式:布尔代数中成立的 12 条基本等式
  • 对偶(dual):将布尔表达式中的 互换、 互换得到的表达式
  • 对偶性原理:若一个布尔恒等式成立,则其对偶恒等式也成立
  • Huntington 公理:布尔代数的抽象公理化定义(同一律、补律、结合律、交换律、分配律)

一、知识结构总览

graph TB
    A["12.1 布尔函数 Boolean Functions"] --> B["布尔运算的定义"]
    A --> C["布尔变量与布尔表达式"]
    A --> D["布尔函数"]
    A --> E["布尔恒等式"]
    A --> F["对偶性原理"]
    A --> G["布尔代数的公理化定义"]

    B --> B1["补(complement):x̄ = 1−x"]
    B --> B2["布尔和(OR):x+y = max(x,y)"]
    B --> B3["布尔积(AND):x·y = min(x,y)"]
    B --> B4["运算优先级:补 > 积 > 和"]

    C --> C1["递归定义"]
    C --> C2["与命题逻辑的对应关系"]

    D --> D1["度 n 的布尔函数:{0,1}ⁿ → {0,1}"]
    D --> D2["函数的相等与等价表达式"]
    D --> D3["布尔和 F+G 与布尔积 FG"]
    D --> D4["n 度布尔函数的个数:2^(2ⁿ)"]

    E --> E1["同一律 / 支配律"]
    E --> E2["交换律 / 结合律"]
    E --> E3["分配律(两条)"]
    E --> E4["德摩根律(两条)"]
    E --> E5["补律 / 对合律"]
    E --> E6["幂等律 / 吸收律"]

    F --> F1["对偶的构造方法"]
    F --> F2["对偶性原理"]
    F --> F3["利用对偶性推导新恒等式"]

    G --> G1["Huntington 公理(5 组性质)"]
    G --> G2["实例:{0,1} 上的布尔代数"]
    G --> G3["实例:集合的幂集代数"]
    G --> G4["实例:命题逻辑代数"]
    G --> G5["格论视角:有补分配格"]

二、核心思想

核心思想

本节的核心思想是==在集合 上建立一套完整的代数运算体系==。布尔代数只有两个元素 ,却通过补、和、积三种运算衍生出丰富的代数结构。它与命题逻辑集合运算有着深刻的同构关系——三者本质上是同一套代数规律在不同数学对象上的体现。掌握布尔代数的关键在于理解这三套系统之间的翻译规则,以及利用对偶性原理从已知恒等式高效推导新恒等式。

1. 布尔运算的定义

布尔运算

在集合 上定义三种基本运算:

(1)补(complement):记为 (或 ),定义为

(2)布尔和(Boolean sum / OR):记为 ,定义为

(3)布尔积(Boolean product / AND):记为 (或简写为 ),定义为

运算优先级(无括号时):先计算所有补,再计算所有布尔积,最后计算所有布尔和。

计算布尔表达式的值

的值。

步骤:(1) 先算括号内 ;(2) 再算补 ;(3) 再算积 ;(4) 最后算和

布尔运算与逻辑运算的对应

布尔运算与第 1 章的命题逻辑运算存在精确的对应关系:

布尔运算逻辑运算对应关系
否定
布尔和 析取
布尔积 合取

因此,布尔代数中的恒等式可以直接翻译为逻辑等价式,反之亦然。

2. 布尔变量、布尔表达式与布尔函数

布尔变量与布尔表达式

  • 布尔变量(Boolean variable):只取值 的变量
  • 布尔表达式(Boolean expression):由布尔变量和布尔运算递归定义:
    • 是布尔表达式
    • 是布尔表达式,则 也是布尔表达式

布尔函数

,则 是所有 - 元组构成的集合。从 的函数称为== 度布尔函数==(Boolean function of degree )。

每个布尔表达式表示一个布尔函数,其值通过将 代入变量求得。

布尔函数的函数表

是一个 2 度布尔函数,其函数表为:

110
101
010
000

三元布尔函数

的函数表为:

111101
110111
101000
100011
011000
010011
001000
000011

度布尔函数的个数

度布尔函数共有 个。

证明 中共有 个不同的 元组。对每个 元组,函数值可以独立地取 ,因此由乘法原理,不同的赋值方式共有 种。

布尔函数的运算

度布尔函数,定义:

  • 布尔和
  • 布尔积

两个布尔函数 相等当且仅当对所有 。表示同一函数的不同布尔表达式称为等价的(equivalent)。

3. 布尔恒等式

布尔代数的 12 条核心恒等式

以下恒等式对所有布尔变量 成立(其中 简写为 ):

恒等式名称恒等式
对合律(Double complement)
幂等律(Idempotent laws)
同一律(Identity laws)
支配律(Domination laws)
交换律(Commutative laws)
结合律(Associative laws)
分配律(Distributive laws)
德摩根律(De Morgan’s laws)
吸收律(Absorption laws)
幺元律(Unit property)
零元律(Zero property)

每条恒等式都可以通过穷举所有变量取值组合来验证。

用真值表验证分配律

验证

11111111
11011101
10111011
10000000
01110000
01010000
00110000
00000000

第 5 列与第 8 列完全一致,故恒等式成立。

利用恒等式证明吸收律

证明 (吸收律)。

证明

注意:布尔分配律有两条

普通代数中只有 (乘法对加法的分配律)。但在布尔代数中,加法对乘法的分配律也成立 这条分配律在普通代数中不成立(例如 ),是布尔代数区别于普通代数的重要特征之一。

4. 对偶性原理

对偶(Dual)

布尔表达式的对偶(dual)通过以下变换得到:

  • 将所有 替换为 ,将所有 替换为
  • 将所有 替换为 ,将所有 替换为

布尔函数 的对偶函数记为 ,即用 的布尔表达式的对偶所表示的函数。 不依赖于表示 的具体布尔表达式的选择。

求布尔表达式的对偶

  • 的对偶为
  • 的对偶为

对偶性原理(Duality Principle)

若一个布尔恒等式成立,则将其两边同时取对偶得到的恒等式也成立。

推论:表中的 12 条恒等式成对出现(对合律、幺元律、零元律除外,它们是自对偶的)。例如,吸收律 的对偶 也成立。

利用对偶性推导新恒等式

已知吸收律 成立,由对偶性原理,两边取对偶:

  • 左边 的对偶为
  • 右边 的对偶为

因此 也成立(这是另一条吸收律)。

5. 布尔代数的公理化定义

布尔代数的抽象定义(Huntington 公理)

布尔代数是一个集合 ,配备两个二元运算 、两个特异元素 、以及一个一元运算 (补),满足以下性质(对所有 ):

性质等式
同一律(Identity laws)
补律(Complement laws)
结合律(Associative laws)
交换律(Commutative laws)
分配律(Distributive laws)

从这 5 组公理出发,可以推导出幂等律、支配律、德摩根律、对合律、吸收律等其他所有布尔恒等式。

布尔代数的三个经典实例

实例 1:二值布尔代数

  • 这是本章主要讨论的对象, 对应 (OR), 对应 (AND)

实例 2:集合的幂集代数

  • 对应 (并集), 对应 (交集),补对应集合补
  • 对应 对应

实例 3:命题逻辑代数

  • 对应 (析取), 对应 (合取),补对应 (否定)
  • 对应 (假), 对应 (真)

格论视角下的布尔代数

布尔代数也可以通过格论来定义。一个(lattice)是偏序集,其中每对元素都有最小上界(lub)和最大下界(glb)。若格 满足以下两个条件,则 是布尔代数:

  1. 有补性(complemented): 有最小元 和最大元 ,且每个元素 都有补元 ,使得
  2. 分配性(distributive):对所有 ,两条分配律成立

即:布尔代数 == 有补分配格(complemented distributive lattice)。


三、补充理解与易混淆点

补充理解

补充1:布尔代数的历史渊源

布尔代数由英国数学家George Boole 于 1854 年在《思维的规律研究》(An Investigation of the Laws of Thought)中首次系统提出。Boole 的原始目标是建立一套代数系统来形式化人类的逻辑推理过程。他将逻辑命题的真假映射为 ,将”且""或""非”映射为代数运算,从而将逻辑推理转化为代数运算。这一思想在 1938 年被Claude Shannon 在其硕士论文中应用于继电器电路的设计,开创了数字电路设计的理论基础,也使布尔代数成为计算机科学的核心数学工具。

来源:Boole, G. (1854). An Investigation of the Laws of Thought. Walton and Maberly.

补充2:对偶性原理的深层意义

对偶性原理是布尔代数中最优美的结构性质之一。它意味着布尔代数具有一种”镜像对称”—— 在代数结构中扮演着完全对称的角色。这种对称性的根源在于布尔代数的公理化定义中, 的地位是完全平等的(两条分配律同时成立、两条补律同时成立等)。对偶性原理的实用价值在于:每证明一条恒等式,就自动获得一条新的恒等式,将证明工作量减半。在电路设计中,这意味着每个”与-或”电路都有一个对应的”或-与”电路。

来源:Rosen, K. H. (2019). Discrete Mathematics and Its Applications (8th ed.), McGraw-Hill, Section 12.1.

易混淆点

误区1:布尔加法 普通加法

  • ❌ 认为 (普通算术)
  • ✅ 在布尔代数中 (布尔和是逻辑”或”,不是数值加法)
  • 布尔和 实际上是 ,布尔积 实际上是

误区2:布尔分配律的两条都要记住

  • ❌ 只记住 ,忘记
  • ✅ 布尔代数中两条分配律都成立,这是布尔代数区别于普通代数的关键特征
  • 第二条分配律可以通过对偶性原理从第一条自动得到

误区3:对偶 取补

  • ❌ 将对偶(dual)与补(complement)混淆
  • ✅ 对偶是结构性变换(),补是逻辑取反(
  • 例如, 的对偶是 ,而 (德摩根律),两者完全不同

四、习题精选

习题概览

题号范围核心考点难度
1布尔表达式求值
2求解布尔方程
5-6构造布尔函数的函数表⭐⭐
7-8用 3-立方体表示布尔函数⭐⭐
10布尔函数的计数
11利用恒等式证明吸收律⭐⭐⭐
14-23用真值表验证布尔恒等式⭐⭐
28求布尔表达式的对偶⭐⭐
35-42从 Huntington 公理推导其他性质⭐⭐⭐

题1:布尔表达式求值

题目

求以下布尔表达式的值:(a) ;(b) ;(c) ;(d)

题2:布尔方程求解

题目

求满足以下方程的布尔变量 的值(若存在):(a) ;(b) ;(c) ;(d)

题3:布尔函数的计数

题目

7 度布尔函数共有多少个?

题4:利用恒等式证明吸收律

题目

仅使用表 5 中的其他恒等式,证明吸收律

题5:求对偶并验证

题目

(a) 求布尔表达式 的对偶。(b) 求布尔表达式 的对偶。

解题思路提示

布尔代数基础问题的解题方法论:

  1. 布尔表达式求值:严格按照优先级(补 > 积 > 和)逐步计算
  2. 验证恒等式:穷举所有变量取值组合,比较两边是否一致
  3. 利用恒等式证明:从目标出发逆向分析,选择合适的恒等式逐步化简
  4. 求对偶:系统地执行 的替换
  5. 布尔函数计数:直接使用公式

五、视频学习指南

视频资源

资源链接对应内容备注
Rosen 8e Section 12.1教材原文完整定义、定理与例题英文教材
Neso Academy - Boolean Algebra链接布尔代数基础概念英文,适合入门
3Blue1Brown - Binary链接二进制与布尔运算的直觉英文,可视化讲解

六、教材原文

教材原文

“Boolean algebra provides the operations and the rules for working with the set {0, 1}.”

“The complement of an element, denoted with a bar, is defined by and . The Boolean sum, denoted by or by OR… The Boolean product, denoted by or by AND…”

“A function from to is called a Boolean function of degree .”

“The dual of a Boolean expression is obtained by interchanging Boolean sums and Boolean products and interchanging 0s and 1s.”

“A Boolean algebra is a set with two binary operations and , elements 0 and 1, and a unary operation such that [the identity, complement, associative, commutative, and distributive laws] hold for all , , and in .”

—— Rosen, Section 12.1, pp. 847–854


参见 Wiki

  • 命题逻辑 — 布尔代数与命题逻辑的对应关系(第1章)
  • 逻辑等价 — 布尔恒等式与逻辑等价式的翻译(第1章)
  • 零一矩阵 — 布尔矩阵运算(第2章)
  • 集合运算 — 集合代数作为布尔代数的实例(第2章)

布尔代数