相关笔记: 9.2 基本的有效论证形式 | 9.4 有效性形式证明的构造

概览

本节通过多个完整的形式证明示例,帮助读者获得对构建形式证明的”感觉”。核心知识点包括:

  • 形式证明的精确定义:一个陈述序列,每个陈述或者是前提,或者是根据先前陈述经过有效推导而得到,最后一个陈述为结论
  • 证明阅读技巧:从已知前提出发,逐步识别每一步所使用的推论规则
  • 行号引用规范:理由列中按照不同前提在基本有效形式中的顺序来写行号
  • 工具箱约束:证明中每一行都必须通过九个基本有效论证形式之一得到辩护

一、知识结构总览

graph TB
    A["9.3 有效性形式证明示例<br/>Illustrations of Formal Proofs"] --> B["形式证明的精确定义"]
    A --> C["证明阅读方法"]
    A --> D["示例1:Simp+Add+MP+Conj"]
    A --> E["关键规范"]

    B --> B1["陈述序列"]
    B --> B2["每个陈述=前提或有效推导"]
    B --> B3["最后一个陈述=结论"]

    C --> C1["第一步:识别前提"]
    C --> C2["第二步:识别结论"]
    C --> C3["第三步:逐步分析<br/>中间陈述的来源"]
    C --> C4["牢记九条基本规则"]

    D --> D1["第3行:1,Simp.<br/>从A·B得到A"]
    D --> D2["第4行:3,Add.<br/>从A得到A∨C"]
    D --> D3["第5行:2,4,M.P.<br/>从(A∨C)⊃D和A∨C得到D"]
    D --> D4["第6行:3,5,Conj.<br/>从A和D得到A·D"]

    E --> E1["行号引用顺序<br/>按基本形式中的前提顺序"]
    E --> E2["只允许九条规则<br/>其他推理不允许"]
    E --> E3["结论=序列最后一行"]

二、核心思想与证明技巧

核心思想

阅读和理解形式证明是构造形式证明的前提。本节的核心方法是:面对一个完整的证明序列,逐步分析每一行是如何从前面的行中推导出来的。第一步不是要想出这样的证明,而是要理解和领会这些证明。在每个例子中,都有一系列陈述呈现在我们面前,该序列中的每个陈述或者是一个前提,或者利用九个基本有效论证形式能从它前面的陈述中推出。

形式证明的精确定义

定义:有效性的形式证明

一个论证有效性的形式证明是一个陈述序列,其中的每个陈述或者是该论证的前提,或者是根据序列中的先前陈述经过有效推导而得到的陈述,使得该序列中的最后一个陈述为该论证的结论

示例1:简化律 + 附加律 + 肯定前件式 + 合取律

示例1

论证:

完整形式证明:

陈述理由
1前提
2前提
/∴
31, Simp.
43, Add.
52, 4, M.P.
63, 5, Conj.

逐步解读:

[第3行] :从第1行 ,通过简化律(Simp.)得到。因为 为真意味着 都为真,所以可以从中提取 。理由列写”1, Simp.”。

[第4行] :从第3行 ,通过附加律(Add.)得到。附加律说如果 为真,则无论 的真假是什么, 都为真。这里用 替换 替换 。理由列写”3, Add.”。

[第5行] 在第2行中作为条件陈述 的后件出现。我们在第4行已经证明出 为真,现在使用肯定前件式(M.P.),将它与第2行的条件陈述结合来证明 。理由列写”2, 4, M.P.”。

[第6行] 在第3行已被证明为真, 在第5行也被证明为真。因此我们能够有效地将二者结合,使用合取律(Conj.)。理由列写”3, 5, Conj.”。

是论证的结论,因此它也是构成这个证明的序列中的最后一个陈述。证明完成。

行号引用规范

行号引用规范

如果需要指涉一个由两个前提组成的论证(例如M.P.或D.S.),则在右边的理由中要按照不同前提在基本有效形式中的顺序来写

例如,在M.P.的基本形式 中,条件句 在前,前件 在后。因此,示例1中第5行的理由是”2, 4, M.P.”——第2行(条件句)在前,第4行(前件)在后。

同理,在D.S.的基本形式 中,析取式 在前,否定式 在后。

工具箱约束

重要约束

所有证明中的每一行都必须通过九个基本有效论证形式之一得到辩护。无论其他推理看起来如何可信,都不允许在证明中使用。形式证明的严格性正是其效力的来源——如果证明正确,则对由此得出的推理的有效性就不存在任何一点怀疑。


三、补充理解与易混淆点

补充理解

补充1:证明策略中的"向前链"与"向后链"

来源: Anderson, D. & Belnap, N. (1975). Entailment, Vol. 1. Princeton University Press.

安德森和贝尔纳普在《蕴涵》第一卷中深入分析了形式证明中的两种基本策略:

  1. 向前链(Forward Chaining):从已知的前提出发,运用推论规则逐步推出新的陈述,直到到达结论。这种策略是”数据驱动”的——它问”从我已经知道的东西中,我还能推出什么?”

  2. 向后链(Backward Chaining):从结论出发,问”要得到这个结论,我需要什么前提?“然后递归地分析这些前提的来源,直到回溯到给定的前提。这种策略是”目标驱动”的——它问”我需要什么才能得到我想要的?”

在实际证明构造中,两种策略通常是交替使用的:

  • 先用向后链确定大致方向(“我需要什么”)
  • 再用向前链填充具体步骤(“我能从已知前提推出什么”)

示例1中的证明过程就体现了这种交替:

  • 向后链:结论是 (合取),需要 分别为真。 可以从前提1()通过Simp.得到。 需要从前提2()通过M.P.得到,这需要 ,而 可以通过Add.从 得到
  • 向前链:从 得到 (Simp.),从 得到 (Add.),从 得到 (M.P.),从 得到 (Conj.)

安德森和贝尔纳普强调,熟练的证明构造者能够在向前链和向后链之间自如切换,这种能力是逻辑训练的核心目标之一。

补充2:形式证明中的"子目标"分解技术

来源: Fitch, F.B. (1952). Symbolic Logic. Ronald Press.

弗雷德里克·菲奇(Frederic Fitch)在其著作《符号逻辑》中提出了一种系统的证明构造方法——“子目标分解”技术。这种方法的核心思想是:

  1. 将最终目标分解为子目标:如果结论是 ,则子目标是分别证明
  2. 对每个子目标递归分解:要证明 ,需要 ;要证明 ,需要 ;要证明 ,需要
  3. 检查子目标是否已被前提满足 正好是前提1,因此分解完成
  4. 将分解路径反转为证明序列:按照分解的逆序写出证明步骤

菲奇的子目标分解技术可以表示为一棵”目标树”:

目标:A·D
├── 子目标1:A ← Simp. ← A·B(前提1)✓
└── 子目标2:D ← M.P. ← (A∨C)⊃D(前提2)+ A∨C
                             └── A∨C ← Add. ← A(已得)✓

这种方法的优势在于:它将复杂的证明任务分解为一系列简单的、可独立处理的子任务,降低了证明构造的认知负担。菲奇指出,虽然这种方法最初需要更多的”元推理”(关于证明结构的推理),但随着练习,子目标分解会变得越来越自动化,最终成为直觉性的证明策略。

易混淆点

误区:证明中的行号引用 = 前提编号

错误理解: 理由列中引用的数字就是前提的编号(如”1, 2”总是指前提1和前提2)。 ✅ 正确理解: 理由列中引用的数字是证明序列中的行号,不限于前提。任何已经被正确推出的陈述都可以被后续步骤引用,无论它是前提还是中间推导出的陈述。

例如,在示例1中:

  • 第5行的理由”2, 4, M.P.”——其中”2”是前提2,但”4”是中间推导出的陈述(第4行 ),不是前提
  • 第6行的理由”3, 5, Conj.”——其中”3”和”5”都是中间推导出的陈述,不是前提

辨析: 行号是证明序列中所有陈述的统一编号系统。前提只是序列中编号靠前的陈述,中间推导出的陈述同样可以被引用。关键原则是:只能引用出现在当前行之前的行

误区:推论规则可以应用于陈述的部分

错误理解: 如果某行包含一个合取陈述,即使它不是整行的主要联结词,也可以用简化律提取其合取支。 ✅ 正确理解: 推论规则只能应用于作为推论前提的整个陈述,不能应用于这些陈述的部分分支陈述。

例如,给定陈述

  • 可以通过简化律推出 ——因为整个陈述是一个合取(以 为主联结词),简化律提取其左支 ✅
  • 不能通过简化律推出 ——因为 只是合取支 的一个部分,而 本身只是条件陈述的前件,不是整行陈述 ❌
  • 不能通过简化律推出 ——因为 虽然是合取陈述的右支,但简化律只能提取左支

辨析: 推论规则操作的是”整行陈述”,不是”陈述的某个部分”。判断一个规则能否应用,要看该规则的模式是否与整行陈述的结构匹配,而不是与行中某个子公式的结构匹配。微小的差别就会毁掉整个论证的效力


四、习题精选

习题概览

题号来源核心考点难度
1自编完成给定部分证明(填空)⭐⭐
2自编阅读并验证完整证明⭐⭐

题1:完成部分证明(填空)

题目

以下是一个不完整的形式证明。请为编了号但不是前提的每行写出理由(行号 + 规则缩写),使证明完整。

陈述理由
1前提
2前提
3前提
/∴
4?
5?
6?
7?
8?

解题思路提示

完成部分证明的步骤:

  1. 从上到下逐行分析:看每个被推导出的陈述与前面哪些行有关系
  2. 识别联结词模式:该陈述是某个合取的支?某个条件句的后件?某个析取的支?
  3. 匹配九条规则:找到唯一匹配的规则(通常只有一条规则能解释从A和B得到C)
  4. 注意行号顺序:对于两个前提的规则(M.P./M.T./D.S./H.S./C.D./Conj.),按照基本形式中的前提顺序写行号

五、视频学习指南

视频资源

资源链接对应内容备注
Wireless Philosophy: Natural Deduction Proofs链接自然演绎证明示例英文,配合动画讲解
Kevin deLaplante: Proof Examples链接形式证明示例详解英文,系列教程
Michael Genesereth: Proof Techniques链接证明技巧与策略英文,斯坦福大学课程

六、教材原文

教材原文

来源: 逻辑学导论 第15版,第9章第3节

形式证明的定义: 我们已经将一个论证有效性的形式证明定义如下:它是一个陈述序列,其中的每个陈述或者是该论证的前提,或者是根据序列中的先前陈述经过有效推导而得到的陈述,使得该序列中的最后一个陈述为该论证的结论。我们的目标就是要构造这样的一个序列,来证明所面对的论证的有效性。

证明阅读方法: 第一步不是要想出这样的证明,而是要理解和领会这些证明。在每个例子中,都有一系列陈述呈现在我们面前。该序列中的每个陈述或者是一个前提,或者利用9.1节中的某个基本有效论证能从它前面的陈述中推出。如果一个证明中每一步所依赖的推论规则并没有给出,则我们知道证明中所有不是前提的行都可以从前面的陈述中演绎得出。为了理解这些演绎推出,需要牢记九个基本的有效论证。

行号引用规范: 如果我们需要指涉一个由两个前提组成的论证(例如M.P.或者D.S.),则我们在右边的根据中要按照不同前提在基本有效形式中的顺序来写。

工具箱约束: 这个例子以及后面的练习中,所有证明中的每一行都能通过我们逻辑工具箱中的某个基本有效论证形式得到辩护。无论其他推理看起来如何可信,都不允许在证明中使用。


参见 Wiki

命题逻辑