相关笔记: 1.5 嵌套量词 | 1.7 证明导论

概览

本节建立从逻辑到数学证明的桥梁。核心目标是理解如何从已知前提出发,通过有效的推理规则推导出可靠的结论。

  • 论证(argument) 是一系列命题的序列,最后一个命题是结论,其余是前提
  • 有效论证 要求:当前提全部为真时,结论不可能为假
  • 命题逻辑中有 8 条基本推理规则(modus ponens、modus tollens、假言三段论等)
  • 量词推理有 4 条基本规则(全称实例化、全称泛化、存在实例化、存在泛化)
  • 谬误(fallacy) 是看似有效但实际无效的推理模式,如”肯定结论”和”否定假设”
  • 归结原理(resolution) 是自动定理证明的核心规则,也是 Prolog 语言的逻辑基础

一、知识结构总览

graph TB
    A["1.6 推理规则"] --> B["命题逻辑推理"]
    A --> C["量词推理"]
    A --> D["谬误识别"]
    A --> E["归结原理"]

    B --> B1["Modus Ponens<br/>假言推理"]
    B --> B2["Modus Tollens<br/>拒取式"]
    B --> B3["假言三段论<br/>Hypothetical Syllogism"]
    B --> B4["选言三段论<br/>Disjunctive Syllogism"]
    B --> B5["附加律 Addition"]
    B --> B6["化简律 Simplification"]
    B --> B7["合取律 Conjunction"]
    B --> B8["归结 Resolution"]

    C --> C1["全称实例化<br/>Universal Instantiation"]
    C --> C2["全称泛化<br/>Universal Generalization"]
    C --> C3["存在实例化<br/>Existential Instantiation"]
    C --> C4["存在泛化<br/>Existential Generalization"]

    D --> D1["肯定结论谬误<br/>Fallacy of Affirming Conclusion"]
    D --> D2["否定假设谬误<br/>Fallacy of Denying Hypothesis"]

    E --> E1["子句化"]
    E --> E2["消解"]
    E --> E3["自动定理证明"]

二、核心思想

核心思想

1. 论证与有效性

1. 论证与有效性

论证与论证形式

  • 论证(argument):一个命题序列。除最后一个命题(结论)外,其余均为前提(premises)
  • 论证形式(argument form):用命题变量替换具体命题后得到的复合命题序列。
  • 有效论证:如果所有前提为真,则结论必然为真。即”前提全真而结论为假”的情况不可能发生。

关键等价关系:论证形式 是有效的,当且仅当 是一个重言式(tautology)

示例:Modus Ponens 的论证

前提1:如果你有当前密码,则你可以登录网络。() 前提2:你有当前密码。() 结论:你可以登录网络。()

对应重言式:,可通过真值表验证其为重言式。

有效性与真实性

有效论证只保证”如果前提为真,则结论为真”,但不保证结论一定为真。如果前提本身为假,有效论证仍可能推出假结论。

有效论证但结论为假

“如果 ,则 。我们知道 。因此 。”

论证形式是有效的(modus ponens),但前提 为假(因为 ),结论 也为假。

2. 命题逻辑的推理规则

八条基本推理规则

以下是命题逻辑中最常用的推理规则,每条都对应一个重言式:

规则名称形式对应重言式
Modus Ponens(假言推理)
Modus Tollens(拒取式)
假言三段论
选言三段论
附加律
化简律
合取律
归结

记忆技巧

  • Modus Ponens(肯定前件):有 为真,则 为真。这是最常用的推理规则。
  • Modus Tollens(否定后件):有 为假,则 为假。等价于”逆否命题”推理。
  • 假言三段论:条件的传递性, 蕴含
  • 选言三段论 为真且 为假,则 必为真。

3. 使用推理规则构建论证

当有多个前提时,通常需要组合使用多条推理规则来推导结论。

综合推理示例

前提

  1. 今天下午不是晴天且比昨天冷 ()
  2. 只有晴天我们才去游泳 ()
  3. 如果不去游泳,就去划独木舟 ()
  4. 如果去划独木舟,日落后回家 ()

结论:日落后回家 ()

推理过程

步骤命题理由
1前提
2化简律,由 (1)
3前提
4Modus Tollens,由 (2) 和 (3)
5前提
6Modus Ponens,由 (4) 和 (5)
7前提
8Modus Ponens,由 (6) 和 (7)

使用逆否命题的推理

前提 结论

步骤命题理由
1前提
2逆否命题,由 (1)
3前提
4假言三段论,由 (2) 和 (3)
5前提
6假言三段论,由 (4) 和 (5)

4. 归结原理(Resolution)

归结

归结是一条特殊的推理规则,基于重言式 。其核心思想是:两个子句中若存在互补文字(一个命题及其否定),则可以消去这对互补文字,将剩余部分合取。

归结的特殊情形

  • 时:(两个子句归结为
  • 时:(退化为选言三段论)

归结与自动定理证明

归结原理是自动定理证明的基础。要使用归结进行证明:

  1. 将所有前提和结论的否定都转化为**子句(clause)**形式(即析取式)
  2. 反复应用归结规则
  3. 若能推导出空子句(矛盾),则原论证有效

这是 Prolog 等逻辑编程语言的理论基础。

归结示例

前提:“Jasmine 在滑雪或没下雪” () 和 “下雪或 Bart 在打曲棍球” ()

应用归结:互补文字为 ,消去后得到 ,即 “Jasmine 在滑雪或 Bart 在打曲棍球”。

5. 谬误(Fallacies)

两种常见谬误

谬误是基于偶然式(contingency)而非重言式的无效推理模式。

1. 肯定结论谬误(Fallacy of Affirming the Conclusion)

形式:

对应命题 不是重言式(当 时为假)。

肯定结论谬误

“如果你做了本书每道题,你就能学会离散数学。你学会了离散数学。因此你做了每道题。”

这是无效推理——你可以通过其他方式学会离散数学。

2. 否定假设谬误(Fallacy of Denying the Hypothesis)

形式:

对应命题 不是重言式(当 时为假)。

否定假设谬误

“如果你做了每道题,你就能学会离散数学。你没做每道题。因此你没学会离散数学。”

无效——即使没做每道题,也可能通过其他途径学会。

6. 量词化命题的推理规则

四条量词推理规则

规则名称形式说明
全称实例化从全称命题中取出特定元素
全称泛化 为任意元素)从任意元素推广到全称
存在实例化(某个特定 从存在命题中取出一个 witness
存在泛化(某个特定 从特定元素推广到存在

全称泛化的关键限制

全称泛化要求 任意选取的元素,不能对 做出任何额外假设。如果 是某个具有特殊性质的元素,则不能使用全称泛化。

存在实例化的关键限制

存在实例化选出的 必须是一个新的名字,不能与证明中已使用的任何名字冲突。在同一个证明中,对不同的 命题做存在实例化时,必须使用不同的名字

量词推理综合示例

前提

  1. 班上有人没读过这本书:
  2. 班上每个人都通过了第一次考试:

结论:有人通过了第一次考试但没读过这本书:

步骤命题理由
1前提
2存在实例化,由 (1), 是某个特定学生
3化简律,由 (2)
4前提
5全称实例化,由 (4)
6Modus Ponens,由 (3) 和 (5)
7化简律,由 (2)
8合取律,由 (6) 和 (7)
9存在泛化,由 (8)

7. 命题规则与量词规则的组合

全称假言推理与全称拒取式

全称假言推理(Universal Modus Ponens)

本质上是全称实例化 + 假言推理的组合。

全称拒取式(Universal Modus Tollens)

本质上是全称实例化 + 拒取式的组合。

全称假言推理示例

“对所有正整数 ,如果 ,则 。” 令 为 "", 为 ""。 为真(因为 ),由全称假言推理得 为真,即


三、补充理解与易混淆点

补充理解

自然演绎系统

推理规则的思想可追溯到 Gentzen(1935) 提出的**自然演绎(Natural Deduction)系统。在自然演绎中,每个逻辑联结词都由引入规则(introduction rules)消去规则(elimination rules)**来刻画。引入规则告诉我们如何证明含有该联结词的命题,消去规则告诉我们从含有该联结词的命题可以推出什么。Rosen 本节中的推理规则本质上就是自然演绎系统中命题逻辑部分的子集。

来源:Gentzen, G. (1935). Untersuchungen ueber das logische Schliessen. Mathematische Zeitschrift, 39, 176-210, 405-431. 参考:Stanford Encyclopedia of Philosophy, “Natural Deduction Systems in Logic” — https://plato.stanford.edu/entries/natural-deduction/

网络资源:

归结原理与自动定理证明

Robinson(1965) 提出的归结原理(Resolution Principle)是自动定理证明领域的里程碑。其核心洞察是:如果将所有命题转化为子句形式(析取式),那么仅用归结这一条推理规则就能构成一个完备的演绎系统。这意味着:如果一个论证是有效的,归结原理一定能通过有限步推导出矛盾。这一发现直接催生了 Prolog 等逻辑编程语言,并在人工智能的自动推理领域产生了深远影响。

来源:Robinson, J. A. (1965). A Machine-Oriented Logic Based on the Resolution Principle. Journal of the ACM, 12(1), 23-41. 链接https://dl.acm.org/doi/10.1145/321250.321253

网络资源:

易混淆点

1. Modus Tollens vs. 否定假设谬误

Modus Tollens(有效)否定假设谬误(无效)
形式
操作否定后件 否定前件
本质逆否命题推理错误推理
记忆”后件假则前件假""前件假则后件假”

2. 全称泛化 vs. 存在实例化中对 的选取

全称泛化存在实例化
的性质必须是任意元素,不能有额外假设必须是特定元素,满足
能否重复使用一次泛化覆盖所有元素每次实例化需用新名字
典型错误对特殊元素做全称泛化对不同 命题用同一个名字

四、习题精选

习题概览

题号核心考点难度
1-2识别论证形式并判断有效性★☆☆
3-4识别具体论证使用的推理规则★☆☆
5-6使用推理规则构建有效论证★★☆
7-8经典三段论中的推理规则★★☆
9-10从前提中推导结论★★★
11-12论证有效性的元推理★★★
13-14量词推理规则的综合应用★★★
15-16判断论证正确性(识别谬误)★★☆
17-18量词实例化的常见错误★★★
19-20判断论证有效性★★☆
23-24量词推理中的典型错误分析★★★
25-29组合推理规则的证明★★★
30-33归结原理的应用★★★

题1:使用推理规则构建论证

题目

已知前提:(1) 如果今天下雨,我就带伞();(2) 今天下雨();(3) 如果我带伞,包就很重()。请推导出”包很重”()。

题2:Modus Ponens 的应用

题目

用 Modus Ponens 从前提 推出 。写出完整的推理步骤。

题3:识别谬误

题目

判断论证”如果下雨则地湿。地湿。因此下雨。“是否有效。如果是无效的,指出犯了什么谬误。

题4:假言三段论的完整证明

题目

用假言三段论从前提 推出 ,写出完整的推理步骤。

题5:综合推理证明

题目

用推理规则证明:前提 ,结论


解题思路提示

  1. 推理规则选择:Modus Ponens 用于”有条件+有前件”,Modus Tollens 用于”有条件+后件为假”
  2. 谬误识别:肯定结论()和否定假设()都是无效的
  3. 量词推理:全称泛化要求 是任意元素,存在实例化必须使用新名字

五、视频学习指南

视频资源

资源链接对应内容备注
Rosen 8e Section 1.6教材原文推理规则完整内容英文教材
MIT 6.042J Lectures链接对应章节讲解英文,MIT开放课程
TrevTutor Discrete Math链接知识点精讲英文,适合入门

六、教材原文

教材原文

“An argument in propositional logic is a sequence of propositions. All propositions in the argument except the final one are called premises, and the final proposition is called the conclusion.”

“The rules of inference are templates for constructing valid arguments.”


参见 Wiki

  • 推理规则 — 从前提推出结论的有效推理模式
  • 证明方法 — 建立数学命题为真的形式化论证技术

逻辑与证明