相关笔记: 1.2 命题逻辑的应用 | 1.4 谓词与量词
概览
本节是命题逻辑的”代数”部分,核心是研究逻辑等价(logical equivalence)——两个复合命题在所有可能的真值赋值下具有相同真值的关系。通过建立一套系统的逻辑恒等式(logical identities),我们可以在不使用真值表的情况下化简和变换逻辑表达式。
- 重言式(tautology) 永远为真,矛盾式(contradiction) 永远为假,偶然式(contingency) 有时真有时假
- 两个命题 和 逻辑等价()当且仅当 是重言式
- 德摩根定律(De Morgan's Laws) 是最重要的等价律之一,揭示了否定与合取/析取的对偶关系
- 利用已知的等价律进行逐步替换,可以高效地建立新的等价关系,避免构造庞大的真值表
- 可满足性(satisfiability) 问题是判断是否存在使复合命题为真的赋值,是计算机科学中的核心问题
- 个变量的真值表有 行,当 较大时,使用等价律推导比真值表更高效
一、知识结构总览
graph TB A["1.3 命题等价"] --> B["命题分类"] A --> C["逻辑等价"] A --> D["德摩根定律"] A --> E["构造新等价"] A --> F["可满足性"] A --> G["应用"] B --> B1["重言式 Tautology"] B --> B2["矛盾式 Contradiction"] B --> B3["偶然式 Contingency"] C --> C1["等价定义 p ≡ q"] C --> C2["真值表验证法"] C --> C3["基本等价律表"] D --> D1["¬(p ∧ q) ≡ ¬p ∨ ¬q"] D --> D2["¬(p ∨ q) ≡ ¬p ∧ ¬q"] E --> E1["条件-析取等价"] E --> E2["链式推导法"] F --> F1["可满足 vs 不可满足"] F --> F2["n-皇后问题"] F --> F3["数独问题"] G --> G1["功能完备性"] G --> G2["NAND / NOR"]
二、核心思想
核心思想
1. 命题的分类
1. 命题的分类
重言式、矛盾式与偶然式
类型 定义 符号 示例 重言式(tautology) 无论变量取何值,复合命题始终为真 恒等于 矛盾式(contradiction) 无论变量取何值,复合命题始终为假 恒等于 偶然式(contingency) 既不是重言式也不是矛盾式 —
- (排中律)在所有情况下为真 重言式
- (矛盾律)在所有情况下为假 矛盾式
2. 逻辑等价的定义与判定
逻辑等价(Logical Equivalence)
两个复合命题 和 称为逻辑等价的,如果 是一个重言式。记为 。
等价符号的含义
不是逻辑联结词, 本身不是一个命题,而是关于两个命题的元陈述(meta-statement),表示”在所有真值赋值下 和 具有相同的真值”。有时也用 代替 。
判定方法:构造 和 的真值表,如果两列完全相同,则 。
3. 重要逻辑等价律
3.1 基本等价律(表 6)
基本逻辑等价律
等价律 名称 恒等律(Identity Laws) 支配律(Domination Laws) 幂等律(Idempotent Laws) 双重否定律(Double Negation Law) 交换律(Commutative Laws) 结合律(Associative Laws) 分配律(Distributive Laws) 德摩根定律(De Morgan's Laws) 吸收律(Absorption Laws) 否定律(Negation Laws)
3.2 条件语句等价律(表 7)
条件语句等价律
等价关系 名称 条件-析取等价 逆否等价 条件的否定 析取-条件等价 合取-条件等价 前件相同合并 后件相同合并 前件相同析取合并 后件相同析取合并
3.3 双条件语句等价律(表 8)
双条件语句等价律
等价关系
4. 德摩根定律的深入理解
德摩根定律的核心思想
德摩根定律揭示了否定运算与合取/析取运算之间的对偶关系:
记忆口诀:否定”深入”括号内部,同时将 变为 (或将 变为 )。
德摩根定律的应用
例 1:求 “Miguel has a cellphone and he has a laptop computer” 的否定。
设 :“Miguel has a cellphone”,:“Miguel has a laptop computer”。
原命题:
否定:
翻译:“Miguel does not have a cellphone or he does not have a laptop computer.”
例 2:求 “Heather will go to the concert or Steve will go to the concert” 的否定。
设 :“Heather will go to the concert”,:“Steve will go to the concert”。
原命题:
否定:
翻译:“Heather will not go to the concert and Steve will not go to the concert.”
德摩根定律的常见错误
❌ (忘记交换运算符) ❌ (忘记交换运算符) ✅ 否定时必须同时做两件事:(1) 对每个分量取否定;(2) 将 变为 (或反之)
德摩根定律的推广
对于 个命题 :
5. 利用等价律构造新等价
链式推导法(Chain of Equivalences)
当真值表过大(变量太多)时,可以利用已知的等价律,通过逐步替换来证明新的等价关系。每一步必须标注所使用的等价律。
证明
推导过程:
这个等价非常重要
它告诉我们:条件语句 为假,当且仅当 为真且 为假。这与条件语句的真值表定义完全一致。
证明
推导过程:
证明 是重言式
推导过程:
由于最终结果为 ,原命题是重言式。
6. 可满足性
可满足性(Satisfiability)
一个复合命题称为可满足的(satisfiable),如果存在至少一组真值赋值使其为真。如果不存在任何赋值使其为真,则称为不可满足的(unsatisfiable)。
可满足性与重言式/矛盾式的关系
- 重言式一定可满足(实际上所有赋值都使其为真)
- 偶然式也可满足(至少一组赋值使其为真)
- 矛盾式不可满足(没有赋值使其为真)
- 一个命题不可满足 其否定是重言式
可满足性判定
判断以下命题的可满足性:
命题 1:
推理(不使用真值表):当 取相同真值时:
- 若 : ✓
- 因此命题 1 是可满足的
命题 2:
推理:当 中至少一个为真且至少一个为假时:
- 例如 : ✓
- 因此命题 2 是可满足的
命题 3:
推理:
- 前三个子式要求 取相同真值(命题 1 的分析)
- 后两个子式要求至少一个为真且至少一个为假(命题 2 的分析)
- 这两个条件矛盾:不可能同时满足
- 因此命题 3 是不可满足的
7. 可满足性的应用
7.1 n-皇后问题
n-皇后问题的 SAT 建模
将 个皇后放置在 棋盘上,使得没有两个皇后可以互相攻击(不在同一行、同一列、同一对角线)。
变量定义: 表示”在位置 有皇后”,。
约束条件:
| 约束 | 逻辑表达式 | 含义 |
|---|---|---|
| 每行至少一个皇后 | ||
| 每行至多一个皇后 | ||
| 每列至多一个皇后 | ||
| 对角线约束 | 和 (类似结构) | — |
完整 SAT 公式:
当 时,共有 92 个解。
7.2 数独问题(Sudoku)
数独问题的 SAT 建模
在 的网格中填入数字 1-9,使得每行、每列、每个 子网格都恰好包含 1-9 各一次。
变量定义: 表示”在第 行第 列填入数字 “,共 个变量。
约束条件:
- 已知数字:对每个给定的格子 ,断言 为真
- 每行包含所有数字:
- 每列包含所有数字:
- 每个 子网格包含所有数字:
- 每个格子恰好一个数字:对所有 ,断言
SAT 求解器的威力
使用现代 SAT 求解器,数独问题可以在不到 10 毫秒内解决。这展示了将组合问题建模为可满足性问题的强大能力。
8. 功能完备性
功能完备性(Functional Completeness)
一组逻辑运算符称为功能完备的,如果每个复合命题都逻辑等价于仅使用这组运算符构成的命题。
功能完备的运算符集合
- 是功能完备的(因为每个命题都可以化为合取范式或析取范式)
- 是功能完备的(因为 ,用德摩根定律消去 )
- 是功能完备的(因为 )
NAND 和 NOR
- NAND(与非):
- NOR(或非):
NAND 和 NOR 各自单独构成功能完备的运算符集合:
- 用 NAND 表示否定:
- 用 NAND 表示析取:,然后利用德摩根定律可得
实际意义
在硬件设计中,NAND 门(或 NOR 门)可以单独实现所有逻辑功能,这意味着只需要一种类型的门就可以构建任意复杂的数字电路。这简化了芯片制造过程。
三、补充理解与易混淆点
补充理解
1. SAT 问题的计算复杂性与 NP 完全性
可满足性问题(SAT)不仅是逻辑学的基础问题,更是理论计算机科学的核心问题。1971 年,Stephen Cook 在其开创性论文 “The Complexity of Theorem Proving Procedures” 中证明了 SAT 是第一个被确认为 NP 完全(NP-complete) 的问题(Cook-Levin 定理)。这意味着:(1) SAT 本身是 NP 问题(给定一个赋值,可以在多项式时间内验证其是否满足公式);(2) 所有 NP 问题都可以在多项式时间内归约为 SAT。尽管 SAT 是 NP 完全的,现代 SAT 求解器(基于 DPLL 算法和 CDCL——Conflict-Driven Clause Learning 技术)在实际应用中表现出惊人的效率,能够处理包含数百万变量的工业级实例,广泛应用于硬件验证、软件测试、人工智能规划等领域。
- 来源: Cook, S. A. (1971). “The Complexity of Theorem Proving Procedures.” Proceedings of the 3rd Annual ACM Symposium on Theory of Computing, 151-158. https://doi.org/10.1145/800157.805047
- 参考: Mathkour, H. (2023). “On the Structure of the Boolean Satisfiability Problem: A Survey.” IEEE Access. https://doi.org/10.1109/ACCESS.2023.3248866
网络资源:
- Truth Table Generator — 自动判定命题公式是否为重言式/矛盾式
2. 逻辑等价与布尔代数的历史联系
本节中的逻辑等价律与第 12 章将学习的布尔代数恒等式在数学结构上是完全对应的。这种对应关系并非巧合:命题逻辑和布尔代数都是特殊的布尔格(Boolean lattice) 的实例。英国数学家 Augustus De Morgan(1806-1871)在 1840 年代对符号逻辑做出了基础性贡献,他发明的记法帮助证明了以他命名的德摩根定律。De Morgan 还在 1838 年给出了数学归纳法的第一个清晰解释,并在 1842 年提出了极限的精确定义。值得注意的是,De Morgan 的学生 Augusta Ada, Countess of Lovelace(1815-1852)被认为是世界上第一位程序员,她在为 Babbage 的分析机(Analytical Engine)撰写笔记时,深刻理解了逻辑运算与机械计算之间的联系,预见了通用计算机的概念。
- 来源: De Morgan, A. (1847). Formal Logic: or, The Calculus of Inference, Necessary and Probable. Taylor and Walton.
- 参考: Babbage, C. & Lovelace, A. A. (1843). “Sketch of the Analytical Engine.” Scientific Memoirs, 3, 666-731.
网络资源:
- Logic Calculator — 支持布尔代数运算与命题等价验证
易混淆点
1. 逻辑等价()vs 双条件()
- ❌ 将 和 混为一谈,认为它们是同一个东西
- ✅ 是一个逻辑联结词, 是一个命题(有真值); 是一个元语言符号, 是一个关于命题的陈述(表示两个命题在所有赋值下真值相同)。虽然 成立当且仅当 是重言式,但两者的语法角色完全不同。类比: 就像数学中的 ,而 就像运算符
2. 等价律的误用——混合运算符
- ❌ 对混合了 和 的表达式直接套用交换律或结合律,如认为
- ✅ 交换律和结合律仅适用于同类运算符。 是正确的,但 。要处理混合运算符的情况,必须使用分配律:(注意右边多了一个 )
四、习题精选
习题概览
题号范围 核心考点 难度 1-6 用真值表验证基本等价律 ⭐⭐ 7-8 德摩根定律求否定 ⭐⭐ 9-10 条件-析取等价消去条件 ⭐⭐ 11-16 用真值表/推理证明重言式 ⭐⭐⭐ 17 验证吸收律 ⭐⭐ 18-19 判断是否为重言式 ⭐⭐ 20-32 证明逻辑等价 ⭐⭐⭐ 33-34 证明重言式 ⭐⭐⭐ 35-37 证明不等价 ⭐⭐⭐ 38-43 对偶性(duality) ⭐⭐⭐ 44-46 析取范式(DNF)构造 ⭐⭐⭐ 47-49 功能完备性证明 ⭐⭐⭐⭐ 50-58 NAND / NOR 运算 ⭐⭐⭐ 59 真值表数量计数 ⭐⭐ 60 等价关系的传递性 ⭐⭐ 61-63 等价律综合应用 ⭐⭐⭐ 64-65 可满足性判定 ⭐⭐⭐ 71-72 数独 SAT 建模 ⭐⭐⭐⭐
题1:利用等价律证明重言式
题目
利用等价律证明 是重言式。
解答
注意 (双条件语句的定义)。
因此原命题等价于 。
对任意命题 , 是重言式(当 时 ,当 时 )。
因此原命题是重言式。
lacksquare
题2:用等价律化简复合否定
题目
用等价律化简 ,写出每一步使用的等价律。
解答
最终结果为 。
这实际上是德摩根定律对三个变量的推广:。
题3:证明输出律
题目
证明 (输出律,Exportation Law)。
解答
从左到右逐步化简:
因此 成立。
直观理解:输出律说的是”如果 ,那么(如果 则 )“等价于”如果 且 ,则 ”。
题4:不用真值表证明重言式
题目
不用真值表,用等价律证明 是重言式。
解答
最终结果为 (恒真),因此 是重言式。
题5:用等价律证明消解律
题目
用等价律证明 (消解律,Resolution)。
解答
我们需要证明 ,即证明从左到右可以消去 。
策略:证明 蕴含 ,从而 是冗余的。
现在证明上述结果蕴含 。分两种情况:
- 如果 ,则 ✓
- 如果 ,则 且 ,所以上式变为 。此时若 ,则 ,从而 ✓
因此 恒为真, 是冗余的。
所以 。
解题思路提示
- 等价律证明:每一步必须标注所使用的等价律,从左到右逐步变换
- 德摩根定律:否定时同时做两件事——(1) 对每个分量取否定;(2) 交换 和
- 重言式判定:化简最终结果为 即可证明是重言式
五、视频学习指南
视频资源
六、教材原文
教材原文
“An important way to determine whether two compound propositions are equivalent is to use a truth table.”
“The logical equivalences in Table 6, as well as any others that can be derived from these, can be used to construct additional logical equivalences.”
参见 Wiki
—