【面向计算机的数理逻辑/软件理论基础笔记】一阶谓词逻辑系统的证明理论,包含演绎定理、可证等价关系和完备性定理

314 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一阶形式系统KLK_\mathcal{L}

  • 一阶形式系统KLK_\mathcal{L}是指由一阶语言L\mathcal{L}以及下面的公理和推理规则组成:

    • 公理集:
      • (K1):A(BA)(K_1) : A \to (B \to A)
      • (K2):(A(BC))((AB)(AC))(K_2) : (A \to (B \to C)) \to ((A \to B) \to (A \to C))
      • (K3):(¬B¬A)(AB)(K_3) : (\neg B \to \neg A) \to (A \to B)
      • (K4)(量词消去公理):(xi)AA(K_4)(量词消去公理): (\forall x_i)A \to A
      • (K5)(项代入公理):(xi)A(xi)A(t)(K_5) (项代入公理) : (\forall x_i)A(xi) \to A(t) (xix_iA(xi)A(x_i)的自由变元,,tt关于A(xi)A(x_i)中的xix_i自 由)
      • (K6)(量词换位公理):(xi)(AB)(A(xi)B)(K_6) (量词换位 公理) : (\forall x_i)(A \to B) \to (A \to (\forall x_i)B),(xix_i不在 A 中自由出现)

    K5K5K6K6约束条件的必要性, 否则它们都不是逻辑有效的

    • 推理机制:
      • MP规则A,ABB\frac{A,A \to B}{B}
      • Gen规则(量词引入规则):A(xi)A\frac{A}{(\forall x_i)A}

      MP规则解释:从ABA \to BAA可以得到BB Gen规则解释:从AA可以得到(xi)A(\forall x_i)A

  • 例题一:

    • 设论域DI={a,b,c}D_I=\{a,b,c\},消去公式x(F(x)G(x))\forall x(F(x)\to G(x))中的量词
    • 答案: x(F(x)G(x))(F(a)G(a))(F(b)G(b))(F(c)G(c))\forall x(F(x)\to G(x))\Leftrightarrow (F(a)\to G(a)) \wedge(F(b)\to G(b)) \wedge(F(c)\to G(c))
  • 证明与定理KK中的证明是指一个有限公式序列A1,A2,,AnA_1, A_2,\cdot\cdot\cdot, A_n使得in\forall i ≤ nAiA_i或是公理,或是通过前面两个公式使用MP规则或对前面某个公式使用Gen规则而得到的公式。AnA_n称为KK的定理,记作KAn\vdash_K A_n,或An\vdash A_nnn称为证明的长度。

    • 每个公理都是定理
    • KA\vdash_K A,则K(xi)A\vdash_K (\forall x_i)A
  • 可靠性定理KK中的每个定理都是逻辑有效的,即 KA,则A若\vdash_K A,则\models A

一阶形式系统KK的演绎定理

  • Γ\Gamma -推论:设ΓF(L)\Gamma \subseteq \mathcal{F(L)}AF(L)A \in \mathcal{F(L)}。从Γ\GammaAA的一个推演是一个有限公式序列A1,A2,,An(AnA_1,A_2,\cdot\cdot\cdot,A_n(A_n就是推演出的公式A)A)使得 in,Ai\forall i \leq n, A_i或是公理,或是Γ\Gamma中的成员,或是通过前面两个公式使用MP规则或对前面某个公式使用Gen规则而得到的公式。此时AA叫做Γ\Gamma -推论,记作ΓKA\Gamma \vdash_K A,或ΓA\Gamma \vdash A,而nn叫做推演的长度。
  • KK的演绎定理ΓF(L)\Gamma \subseteq \mathcal{F(L)}A,BF(L)A, B \in \mathcal{F(L)}
    • Γ{A}B\Gamma \cup \{A\} \vdash B且对每个在AA中的自由出现的变元xx,从Γ{A}\Gamma \cup \{A\}BB的推演中没有使用过关于(x)(\forall x)的推广规则,则Γ(AB)\Gamma \vdash (A \to B)
    • Γ(AB)\Gamma \vdash (A \to B),则Γ{A}B\Gamma \cup \{A\} \vdash B
  • HS规则{AB,BC}AC\{A \to B, B \to C\} \vdash A \to C

K 的可证等价关系

  • 定义:设A,BA, B是一阶语言L\mathcal{L}中的两个公式, 若ABA \to BBAB \to A都是KK的定理,则称AABB是可证等价的, 记作ABA \sim B

    \simF(L)\mathcal{F(L)}上的同余关系

  • 可证等价与逻辑等价的一致性:设A,BA, B是一阶语言L\mathcal{L}中的两个公式. 则ABA \sim B当且仅当ABA \simeq B
  • 变元代换定理:设A(xi)FA(x_i) \in FxixiA(xi)A(x_i)中的自由变元, 且A(xi)A(x_i)不含变元xjx_j,则(xi)A(xi)(\forall x_i)A(x_i)(xj)A(xj)(∀x_j )A(x_j )可证等价
  • 例题二:
    • 问题:设xix_i不在AA中自由出现,证明 (A(xi)B)(xi)(AB)\vdash (A \to (\forall x_i)B) \to (\forall x_i)(A \to B)
    • 答案:
      • 证明:

&(1) A \to (\forall x_i) B && \Gamma\ &(2) (\forall x_i)B \to B &&K_4\ &(3) A \to B &&HS(1,2)\ &(4) (\forall x_i)(A \to B) &&Gen3\ \end{aligned}$$ 故(A(xi)B)(xi)(AB)(A \to (\forall x_i)B) \vdash (\forall x_i)(A \to B),那么将Γ\Gamma{A(xi)B)}\{A \to (\forall x_i)B)\}合并后,依然可以推出(xi)(AB)(\forall x_i)(A \to B),也就是Γ{(A(xi)B)}(xi)(AB)\Gamma \cup \{(A \to (\forall x_i)B) \} \vdash (\forall x_i)(A \to B)。上述推演虽然用到了Gen规则,但xix_i不在AA中自由出现,从而也不在A(xi)BA \to (\forall x_i)B中自由出现,所以由演绎定理得到(A(xi)B)(xi)(AB)\vdash (A \to (\forall x_i)B) \to (\forall x_i)(A \to B)

  • 例题三:
    • 证明 A(xi)A\vdash A \to(\exist x_i)A成立
    • 答案:
      • 证明:

&(1) \neg\neg(\forall x_i)\neg A \to (\forall x_i)\neg A && 已证定理 \ &(2)(\forall x_i)\neg A\to \neg A &&K_4\ &(3)\neg\neg (\forall x_i)\neg A \to \neg A &&HS(1,2)\ &(4) (\neg\neg(\forall x_i)\neg A \to \neg A) \to (A \to \neg(\forall x_i)\neg A) &&K_3\ &(5) A \to \neg(\forall x_i)\neg A &&MP(3,4)\ &(6) A \to (\exist x_i)A&&存在量词的解释\ \end{aligned}$$

  • 命题:AA是定理当且仅当AA的闭包cl(A)cl(A)是定理

K 的完备性

  • 相容:设SSKLK_\mathcal{L}的一个扩张,若不存在公式AA使得AA¬A\neg A都是SS的定理,则称SS是相容的
    • KK的相容性:一阶逻辑系统KLK_\mathcal{L}是相容的
  • 扩张:设SS是一阶系统,若SS是由添加或改变KLK_\mathcal{L}的公理而得,且KLK_\mathcal{L}中的定理都是SS中的定理,则称SSKLK_\mathcal{L}的扩张
  • 完全:设SSKLK_\mathcal{L}的一个扩张,若对于每个闭公式AASA\vdash_S AS¬A\vdash_S \neg A至少有一个成立,则称SS是完全的
    • 相容扩张性:设SS是相容的一阶系统,AA是一个闭公式,若AA不是SS中的定理,把¬A\neg A作为一条新公理添加到SS的公理集中,而得的SS的一个扩张 SS^∗,则SS^∗是相容的一阶系统
  • 完全性:设SS是相容的一阶系统,则存在SS的相容的完全扩张
    • 解释与相容性定理:设一阶系统SSKLK_\mathcal{L}的相容扩张, 则一阶语言 L\mathcal{L}有解释II使对L\mathcal{L}中的任一公式AA,满足 SA,IA若\vdash_S A, 则I \models A
  • 完备性定理KK的每个逻辑有效公式都是KK的定理, 即 A,则KA若\models A,则\vdash_K A