数理逻辑 | 自然演绎规则整理

出自黑皮书《面向计算机科学的数理逻辑系统建模与推理》,书名居然比博客名长那么多。感觉推理有点离散数学的影子,但是又完全不一样,头蛮痛的,可能是要长脑子了吧



一、合取规则( ∧ \wedge

1.1 合取引入( ∧ i \wedge i i

前提: Φ \Phi Φ Ψ \Psi Ψ

结论: Φ ∧ Ψ \Phi \wedge \Psi ΦΨ

这个规则写为:

Φ Ψ Φ ∧ Ψ ∧ i \frac{\Phi \quad \Psi }{\Phi \wedge \Psi } \wedge i ΦΨΦΨi

说明:横线上是该规则的两个前提,横线下是结论,横线右边是规则名称 ∧ i \wedge i i 读作“合取引入”。

1.2 合取消去( ∧ e \wedge e e

规则有两个:

Φ ∧ Ψ Φ ∧ e 1 \frac{\Phi \wedge \Psi }{\Phi} \wedge e_1 ΦΦΨe1
Φ ∧ Ψ Ψ ∧ e 2 \frac{\Phi \wedge \Psi }{ \Psi } \wedge e_2 ΨΦΨe2

∧ e 1 \wedge e_1 e1 表示有了 Φ ∧ Ψ \Phi \wedge \Psi ΦΨ 的前提,可以得到 Φ \Phi Φ 的一个证明。

∧ e 2 \wedge e_2 e2 表示有了 Φ ∧ Ψ \Phi \wedge \Psi ΦΨ 的前提,可以得到 Ψ \Psi Ψ 的一个证明。

注意: ∧ e 1 \wedge e_1 e1 结论中 Φ \Phi Φ 必须匹配前提的第一个合取项,与第二个合取项不相关。 ∧ e 2 \wedge e_2 e2 以此类推。 Φ \Phi Φ 可以是任意公式。

1.3 举例说明



二、双重否定规则( ¬ ¬ \neg\neg ¬¬

其实直观来看 Φ \Phi Φ ¬ ¬ Φ \neg\neg\Phi ¬¬Φ 没有差别。比如“今天不下雨不是真的”和“今天下雨”,只不过前者说法体现得让人感觉更加精心设计。

2.1 双重否定的消去规则( ¬ ¬ e \neg\neg e ¬¬e

¬ ¬ Φ Φ ¬ ¬ e \frac{\neg \neg \Phi }{\Phi} \neg\neg e Φ¬¬Φ¬¬e

2.2 双重否定的引入规则( ¬ ¬ i \neg\neg i ¬¬i

Φ ¬ ¬ Φ ¬ ¬ i \frac{\Phi }{\neg\neg\Phi} \neg\neg i ¬¬ΦΦ¬¬i

2.3 举例说明



三、蕴涵消去规则

3.1 蕴涵消去规则 / 分离规则 / 箭头消去规则(→ e)

Φ Φ → Ψ Ψ → e \frac{\Phi \quad \Phi \to \Psi }{\Psi} \to e ΨΦΦΨe

简单说明一下,比如:

p:下过雨了
p→q:如果下过雨了,那么街道是湿的。

则 q 代表“街道是湿的”。现在我们已知“下过雨了”(p),而且知道“下过雨的街道是湿的”(p→q),则结合这两条已知信息(前提),就可以推出“街道是湿的”这个结论(q)。

注意

3.2 反证规则(MT)

像规则 →e,这个规则消去一个蕴涵。假定有 p→q 和 ¬q,那么若p成立,可以应用 →e 得到 q 成立。于是就会有 q 和 ¬q成立,这是不可能的。因此可以推断出 p 必须是假的,而这只能表明 ¬p 是真的。我们将此推理总结为反证规则(MT):

Φ → Ψ ¬ Ψ ¬ Φ M T \frac{\Phi \to \Psi \quad \neg \Psi }{\neg \Phi} MT ¬ΦΦΨ¬ΨMT

可以简单用自然语言描述一个例子:

“如果阿强是中国人,那么他是一个亚洲人。阿强不是亚洲人,因此他不是中国人。”

3.3 举例说明



注意:例1.8这里双重否定和MT的次序是不同的,次序是由矢列式的结构所驱动的。


四、蕴涵引入规则(→ i)

4.1 规则说明

MT规则可以证明矢列 p → q p \to q pq ¬ q ⊢ ¬ p \neg q\vdash \neg p ¬q¬p的有效性,但 p → q ⊢ ¬ q → ¬ p p \to q \vdash \neg q \to \neg p pq¬q¬p 也是合理的,可惜没有构建不出现在证明前提中的蕴含的规则。这种矢列的证明可以这样:


类似地举个例子,p 代表程序期望一个整数值输入 x,q 代表该程序返回一个布尔值 y 作为输出。现在,p → q 的有效性相当于一个假设-保证断言:如果输入是整数,那么输出是布尔值。当输入不是整数值时,同一个程序可能计算出一些莫名其妙的东西或直接崩溃了,此时这个断言也是真的。

这种使用规则 → i 证明 p → q 称为类型检测( type checking)。规则格式如下:

Φ ⋮ Ψ Φ → Ψ → i \frac{\begin{matrix} \Phi \\ \vdots \\ \Psi \end{matrix}}{\Phi \to \Psi } \to i ΦΨΦΨi

这个规则表示:为证明 Φ → Ψ \Phi \to \Psi ΦΨ,做临时的假定 Ψ \Psi Ψ,然后证明 Φ \Phi Φ。在证明 Ψ \Psi Ψ 的过程中,可以使用 Φ \Phi Φ任何其他公式,诸如前提和当前已经得到的临时结论等等。证明可以包括嵌套矩形框,或者在原有的矩形框关闭后又打开新的矩形框。还有一些规则用来说明在证明中的哪些位置可以使用哪些公式。一般来讲,在一个已知位置的证明中,只有在公式 Φ \Phi Φ 先于该位置出现,而且出现的矩形框都没有关闭的情况下,才可以使用该公式。

紧跟在关闭的矩形框后面的行必须与使用该矩形框的规则所得到的结论模式相匹配。就蕴涵引入而言,这意味着,如果一个矩形框的第一个公式是 Φ \Phi Φ,最后一个公式为 Ψ \Psi Ψ,那么紧跟在该矩形框后面的行必须是 Φ → Ψ \Phi \to \Psi ΦΨ 。我们还会再遇到涉及证明框的两个证明规则,它们也需要类似的模式匹配

4.2 定义

若逻辑公式 Φ \Phi Φ 具有有效矢列 ⊢ Φ \vdash \Phi Φ,则称 Φ \Phi Φ 是定理。

4.3 举例说明


注意:其实例1.11也指出可以将 Φ 1 , Φ 2 , ⋯   , Φ n ⊢ Ψ \Phi _1,\Phi _2,\cdots ,\Phi _n\vdash \Psi Φ1,Φ2,,ΦnΨ 的任何证明变换为定理:

⊢ Φ 1 → ( Φ 2 → ( ⋯ → ( Φ n → Ψ ) ⋯   ) ) ) \vdash \Phi _1\to (\Phi 2\to (\cdots \to (\Phi _n\to \Psi )\cdots ))) Φ1(Φ2((ΦnΨ))))
的一个证明:通过规则 → i →i i 一次应用于 Φ n , Φ n − 1 , ⋯   , Φ 1 \Phi _n,\Phi _{n-1},\cdots ,\Phi _1 Φn,Φn1,,Φ1,这n行证明加到原有证明中。




五、析取规则( ∨ \vee

5.1 “或引入”( ∨ i \vee i i

引入远比消去容易。
Φ Φ ∨ Ψ ∨ i 1 \frac{\Phi }{\Phi \vee \Psi } \vee i_1 ΦΨΦi1

Ψ Φ ∨ Ψ ∨ i 2 \frac{\Psi }{\Phi \vee \Psi } \vee i_2 ΦΨΨi2

5.2 “或消去”( ∨ e \vee e e

怎样在证明中使用公式 Φ ∨ Ψ \Phi \vee \Psi ΦΨ 呢?我们的原则是把假设分解为基本要素,以便用于推理中的论证,提炼出期望的结论。假设要证明某个命题 χ \chi χ,已知假设 Φ ∨ Ψ \Phi \vee \Psi ΦΨ。因为不知道 Φ \Phi Φ Ψ \Psi Ψ 哪一个为真,必须给出两个单独的证明,再结合成一个论断。

  1. 首先,假设 Φ \Phi Φ 是真的,得出 χ \chi χ 的证明。
  2. 其次,假设 Ψ \Psi Ψ 是真的,同样需要给出 χ \chi χ 的证明。
  3. 已知上面两个证明,可以从 Φ ∨ Ψ \Phi \vee \Psi ΦΨ 为真推出 χ \chi χ 为真(因为上面的分析是全面的)。因此规则 ∨ e \vee e e 写为:

Φ ∨ Ψ Φ Ψ ⋮ ⋮ χ χ χ ∨ e \frac{\Phi \vee \Psi \quad \begin{matrix} \Phi & \Psi \\\vdots & \vdots \\\chi &\chi \end{matrix} }{\chi } \vee e χΦΨΦχΨχe

使用要点:

  • 两种情形的结论(规则中的 χ \chi χ )实际上是同一公式
  • 两种情形的推理由 ∨ e \vee e e 规则结合。
  • 两种情形都不能使用其他情形中的临时假设,除非那些情形的矩形框已被证明。
  • 第上面例子的 6 行规则 ∨ e \vee e e 的理由包含三点:出现在第 1 行的析取和两种情形的两个矩形框的位置行 2 - 3 以及行 4 - 5)。

5.2 举例说明(例1.18有用到复制规则/copy)



注意:在例1.18中我们使用了复制规则,因为规则 → i 要求在内框中以 p 结束。复制(copy)规则允许我们复制前面出现过的公式,除非这些公式依赖于已经关闭的矩形框的临时假设。尽管有些不完美,但是这个附加的规则值得我们在不只一次使用前提或其他任何“可视”公式的自由性上付出一个小的代价。


六、否定规则( ⊥ \perp 矛盾的概念)

6.1 规则说明

上面有谈到双重否定规则( ¬ ¬ i \neg\neg i ¬¬i ¬ ¬ e \neg\neg e ¬¬e),但是没见过单独一个否定的情况。因为这些规则涉及矛盾概念,论证是关于推理的,必须保持真值,所以存在兜圈子证明(即已知 Φ \Phi Φ 不能直接推出 ¬ Φ \neg \Phi ¬Φ)。

下面将得出否定规则公式,请先看 6.2定义 解释矛盾概念。

矛盾在逻辑中是非常重要的概念,因为对于我们关心的真值来说,它们都是等价的,即我们能证明:

¬ ( r ∨ s → q ) ∧ ( r ∨ s → q ) ⊣ ⊢ ( p → q ) ∧ ¬ ( p → q ) \neg (r\vee s\to q)\wedge (r\vee s\to q) \dashv \vdash (p\to q)\wedge \neg (p\to q) ¬(rsq)(rsq)⊣⊢(pq)¬(pq)

因为该式两边都是矛盾。

事实上,矛盾可以推出矛盾,矛盾还能推导出任何公式。举个例子解释一下,比如我们接受论断 p ∧ ¬ p ⊢ q p\wedge \neg p\vdash q p¬pq,其中:

p:阿强爱上了阿珍
q:月球上没有蟑螂

虽然看上去很好笑,月球上有没有蟑螂和阿强是否爱上阿珍没有关系,但是自然演绎就是有这种性质,即矛盾能推导出任何公式。因此上述论断是有效的。因为如果前提都是矛盾的,那么从这个矛盾出发, ⊢ \vdash 可以得出任何我们想要的结论。 ⊢ \vdash 可以与后面正式解释的基于语义直觉的真值表相匹配:如果所有前提计算都是“真”,那么结论也必须计算为“真”。而且这不是前提之一(总)是假的情形的一个约束。

最后,由底-消去(bottom-elimination)证明规则, ⊥ \bot (矛盾)可以证明论证中的任何编码公式:
⊥ Φ ⊥ e \frac{\bot }{\Phi } \bot e Φe

⊥ \bot 本身表示由非-消去(not-elimination)证明规则编码的一个矛盾:
Φ ¬ Φ ⊥ ¬ e \frac{\Phi \quad \neg \Phi }{\bot } \neg e Φ¬Φ¬e

6.2 定义

矛盾是形如 Φ ∧ ¬ Φ \Phi \wedge \neg \Phi Φ¬Φ ¬ Φ ∧ Φ \neg \Phi \wedge \Phi ¬ΦΦ 的表达式,其中 Φ \Phi Φ 是任意公式。

公式 ⊥ \perp 代表矛盾。

6.3 举例说明

  • 5
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数理逻辑 汪芳庭 pdf》是一本关于数理逻辑的电子书,作者是汪芳庭先生。数理逻辑是数学和哲学的交叉学科,研究命题的推理和证明,以及理性思维的形式化。这本书主要介绍了数理逻辑基本概念、原理和推理方法。 在这本书中,汪芳庭先生首先介绍了数理逻辑的起源和发展,包括古希腊哲学家的思考和欧几里德几何的演绎推理方法。然后,他详细讲解了命题逻辑和谓词逻辑的基本概念,如命题、真值、逻辑连接词、量词等,以及它们的推理规则和证明方法。 此外,书中还涉及了一些重要的数理逻辑定理和结果,如命题逻辑的完备性定理、谓词逻辑的可靠性和完全性定理等。这些定理和结果为理解和应用数理逻辑提供了基础和方法。 除了理论方面的内容,这本书还介绍了数理逻辑在计算机科学和人工智能领域的应用。数理逻辑在这些领域中被广泛应用于证明正确性、推理推断、编程语言设计等方面,对于提高计算机系统的可靠性和智能化水平有着重要的作用。 总之,《数理逻辑 汪芳庭 pdf》是一本全面介绍数理逻辑的优质书籍,它不仅适合对数理逻辑感兴趣的学者和研究者阅读,也适合计算机科学和哲学等领域的学生学习和参考。通过阅读这本书,读者可以全面了解数理逻辑基本概念和原理,以及其在相关领域的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值