【面向计算机的数理逻辑/软件理论基础笔记】命题逻辑系统的推理机制

152 阅读4分钟

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

形式系统LL

  • 命题逻辑形式系统LL的组成:
    • 命题逻辑公式集F(S)F(S)
    • 三条公理:
      • 宽容律:L1:A(BA)L_{1}:A \to (B \to A)
      • 蕴含分配律:L2:(A(BC))((AB)(AC))L_{2}:(A \to (B \to C)) \to ((A \to B) \to (A \to C))
      • 逆否命题法则:L3:(¬A¬B)(BA)L_{3}: (\neg A \to \neg B) \to (B \to A)
    • 一条推理规则:Modus Ponens 规则(简称MPMP规则),又叫分离规则 MPMP:当我们知道了由AA可以推导出BB,也就是ABA \to B,而我们知道了AA,则我们可以由此得到BB,公式表示为: AB,AB\frac {A \to B,A}{B}
  • L1,L2,L3L_{1},L_{2},L_{3}是公理模式,由此可以得到无穷多个公理
  • 使用逆否命题法则时注意,反过来推(AB)(¬B¬A)( A \to B) \to (\neg B \to\neg A)是不成立的
  • AF(S)A \in F(S),那么也意味着¬A,¬¬A,¬¬¬A,...F(S)\neg A,\neg \neg A,\neg \neg\neg A,... \in F(S)
  • 不需要任何前提的公式叫做公理

LL的证明与定理

  • LL中的一个证明是一个有限公式序列:A1,A2,...,AnA_{1},A_{2},...,A_{n},这些公式分为三类
    • 第一类:AiA_{i}本身就是公理;
    • 第二类:存在j,k<ij,k<i,使得AiA_{i}是由AjA_{j}AkA_{k}使用MPMP规则推导出来的定理;
    • 第三类:最后一项公式AnA_{n}是推导出来的最终定理,通常称为结论,记作An\vdash A_{n}nn叫做证明的长度。

每个公理都是定理,定理也可以当作公理适用于证明中

  • LL的证明题:(p1p2)(p1p1)\vdash (p_{1} \to p_{2}) \to (p_{1} \to p_{1})
    • 证明: (1)p1(p2p1)L1公理一宽容律(2)(p1(p2p1))L2公理二蕴含分配律(3)(p1p2)(p1p1)MP(1,2)根据第一条公式(1)和第二条公式(2)进行推理\begin{aligned} & (1)p_{1} \to (p_{2} \to p_{1}) && L_{1} && 公理一宽容律 \\ &(2)(p_{1} \to (p_{2} \to p_{1})) && L_{2} && 公理二蕴含分配律 \\ &(3) (p_{1} \to p_{2}) \to (p_{1} \to p_{1}) \qquad && MP(1,2) \qquad &&根据第一条公式(1)和第二条公式(2)进行推理\\ \end{aligned}

答案解释: > - 像这样没有前提,直接需要证明结果的题,我们需要借助三条公理和推理规则来进行证明。 > 1. 首先,观察结论,发现结论(p1p2)(p1p1)(p_{1} \to p_{2}) \to (p_{1} \to p_{1})的格式和公理二的结论很相似(AB)(AC)(A \to B) \to (A \to C),所以我们要寻找符合公理二前提的式子A(BC)A \to (B \to C); > 2. 我们发现p1(p2p1)p_{1} \to (p_{2} \to p_{1})符合公理二的前提,而且这个式子也和公理一A(BA)A \to (B \to A)完全相符,因此可以直接将p1(p2p1)p_{1} \to (p_{2} \to p_{1})拿来作为公式使用; > 3. 因此,在证明过程中,我们根据公理一,得出公式p1(p2p1)p_{1} \to (p_{2} \to p_{1}),再根据公理二,得到公式(1)和结论的推理关系,最终,通过推理规则MP(1,2)MP(1,2),根据公式(1)和公式(2)得到我们需要的结论公式(3)。

推演

  • ΓF(S)\Gamma \subset F(S), 从Γ\Gamma出发的LL中一个推演是一有限公式序列A1,A2,...,AnA_{1},A_{2},...,A_{n},这些公式分为四类:
    • 第一类:AiA_{i}本身就是公理;
    • 第二类:存在j,k<ij,k<i,使得AiA_{i}是由AjA_{j}AkA_{k}使用MPMP规则推导出来的公理;
    • 第三类:最后一项公式AnA_{n}称为LL中的一个定理,记作An\vdash A_{n},n叫做证明的长度;
    • 第四类:AiA_{i}Γ\Gamma中的成员。(在LL的一个证明是一个有限公式序列中没有此类)
  • 例题一:{A,B(AC)}BC\{A, B \to (A \to C)\} \vdash B \to C
    • 证明: (1)AΓ(2)B(AC)Γ(3)(B(AC))((BA)(BC))L2(4)(BA)(BC)MP(2,3)(5)A(BA)L1(6)BAMP(1,5)(7)BCMP(4,6)\begin{aligned} & (1) A && \Gamma \\ & (2) B \to (A \to C) && \Gamma \\ &(3) (B \to (A \to C)) \to ((B \to A) \to (B \to C)) \qquad && L_{2} \\ &(4) (B \to A) \to (B \to C) && MP(2, 3) \\ &(5) A \to (B \to A) && L_{1} \\ &(6) B \to A && MP(1, 5) \\ &(7) B \to C && MP(4, 6) \\ \end{aligned}
  • 格式说明:左边为证明过程,每一个公式前面有一个序号,右边为标识,表示左边的公式是如何得来的,Γ\Gamma表示从题目中的前提得到的,L1L_{1}表示从公理一宽容律得到的,L2L_{2}表示从公理二蕴含分配律得到的,MP(1,5)MP(1,5)表示根据第一个公式(1)和第五个公式(5)推理出来的。
  • 题意解析:根据题意可知,Γ={A,B(AC),C}\Gamma =\{A, B \to (A \to C),C\},我们要根据公式AA和公式B(AC)B \to (A \to C)推导出公式CC
  • 演绎定理:设ΓF(S),A,BF(S)\Gamma \subset F(S),A,B \in F(S),若Γ{A}B\Gamma \cup \{A\} \vdash B,则ΓAB\Gamma \vdash A \to B
    • 演绎定理解释为:集合Γ\Gamma含于集合F(S)F(S),公式A,BA,B属于集合F(S)F(S),如果集合Γ\Gamma和集合{A}\{A\}的并集可以推演出公式BB,那么集合Γ\Gamma可以推演出公式ABA \to B
    • 演绎定理的逆定理也成立:若ΓAB\Gamma \vdash A \to B,则Γ{A}B\Gamma \cup \{A\} \vdash B
    • 例题二:¬A(AB)\vdash \neg A \to (A \to B)
      • 证明: 由演绎定理可知,我们只需证明 {¬A}(AB)\{\neg A\} \vdash (A \to B) 又由演绎定理可知,我们只需证明 {¬A,A}B\{\neg A, A\} \vdash B (1)¬AΓ(2)AΓ(3)¬A(¬B¬A)L1(4)¬B¬AMP(1,3)(5)(¬B¬A)(AB)L3(6)ABMP(4,5)(7)BMP(2,6)\begin{aligned} & (1) \neg A && \Gamma \\ & (2) A && \Gamma \\ &(3) \neg A \to (\neg B \to \neg A) \qquad && L_{1} \\ &(4)\neg B \to \neg A && MP(1, 3) \\ &(5) (\neg B \to \neg A) \to (A \to B) && L_{3} \\ &(6) A \to B && MP(4, 5) \\ &(7) B && MP(2, 6) \\ \end{aligned}
  • 三段论规则-HS 规则:{AB,BC}AC\{A \to B,B \to C\} \vdash A \to C
  • 推论:设AB⊢ A \to BBC\vdash B \to C,则 AC\vdash A \to C

可证等价关系

  • A,BF(S)A,B \in F(S),若AB\vdash A \to BBA\vdash B \to A 成立,则称 AABB 可证等价,记作 ABA \approx B
  • 例题三:设 AF(S)A \in F(S),则¬¬AA\neg\neg A \approx A
    • 证明: 首先证明 {¬¬A}A\{\neg\neg A\} \vdash A (1)¬¬A假设(2)¬¬A(¬¬¬¬A¬¬A)L1(3)¬¬¬¬A¬¬AMP(1,2)(4)(¬¬¬¬A¬¬A)(¬A¬¬¬A)L3(5)¬A¬¬¬AMP(3.4)(6)(¬A¬¬¬A)(¬¬AA)(7)¬¬AAMP(5.6)(8)AMP(1,7)\begin{aligned} & (1) \neg\neg A && 假设 \\ & (2)\neg\neg A \to (\neg\neg \neg\neg A \to \neg\neg A) && L_{1} \\ & (3) \neg\neg \neg\neg A \to \neg\neg A && MP(1,2) \\ & (4) (\neg\neg \neg\neg A \to \neg\neg A) \to (\neg A \to \neg\neg\neg A) && L_{3} \\ & (5) \neg A \to \neg \neg \neg A && MP(3.4) \\ & (6) (\neg A \to \neg \neg \neg A ) \to (\neg \neg A \to A) && \\ & (7) \neg\neg A \to A && MP(5.6) \\ & (8) A && MP(1,7) \\ \end{aligned} 由此得{¬¬A}A\{\neg\neg A\} \vdash A成立,即¬¬AA\vdash \neg \neg A \to A 再证明 A{¬¬A}A \vdash \{\neg\neg A\} (1)A假设(2)¬¬¬A¬A根据上一个证明,推出¬¬(¬A)(¬A)(3)(¬¬¬A¬A)(A¬¬A)L3(4)A¬¬AMP(2.3)(5)¬¬AMP(1,4)\begin{aligned} & (1) A && 假设 \\ &(2) \neg\neg\neg A \to \neg A && 根据上一个证明,推出\vdash \neg \neg(\neg A) \to( \neg A ) \\ &(3) (\neg\neg\neg A \to \neg A) \to (A \to \neg\neg A) && L_{3} \\ &(4) A \to \neg\neg A && MP(2.3) \\ &(5) \neg\neg A && MP(1,4) \\ \end{aligned} 由此得 A{¬¬A}A \vdash \{\neg\neg A\}成立,即A¬¬A\vdash A \to \neg \neg A 因此,¬¬AA\neg\neg A \approx A
  • 第一个证明的公式(2)再解释一下:由公理L1:A(BA)L_{1}:A \to (B \to A)可知把公理中的AA看作¬¬A\neg \neg A,把公理中的BB看作¬¬¬¬A\neg \neg \neg \neg A,此时,公理L1L_{1}就可以写作公式¬¬A(¬¬¬¬A¬¬A)\neg\neg A \to (\neg\neg \neg\neg A \to \neg\neg A),我们便可以直接将此公式作为前提放在推演过程中使用。
  • 第二个证明的公式(2)再解释一下:由第一个证明的结论¬¬AA\vdash \neg \neg A \to A,我们可以知道,当AF(S)A \in F(S)时,¬¬AA\neg \neg A \to A是成立的,那么,对于¬AF(S)\neg A \in F(S)时,¬¬¬A¬A\neg\neg\neg A \to \neg A也是成立的,因此,此时我们将¬¬¬A¬A\neg\neg\neg A \to \neg A看作是前提在推演中直接使用。
  • AF(S)A \in F(S)时,A¬¬A\vdash A \to \neg \neg A是一个定理,意味着我们以后进行推理,可以直接使用A¬¬AA \to \neg \neg A¬¬AA\neg \neg A \to A两个公式,比如例题四。
  • 例题四:设A,BF(S)A, B \in F(S),则(AB)(¬B¬A)(A \to B) \approx (\neg B\to \neg A)
    • 证明: 由L3L_{3}我们可以得到 (¬B¬A)(AB)\vdash (\neg B \to \neg A) \to (A \to B),所以我们只需证明 (AB)(¬B¬A)\vdash (A \to B) \to (\neg B \to \neg A) 再由演绎定理可知,我们只需证明{AB}(¬B¬A)\{A \to B\} \vdash (\neg B \to \neg A)即可 (1)AB假设(2)¬¬AA例题三已证定理(3)¬¬ABHS1,2(4)(B¬¬B)例题三已证定理(5)¬¬A¬¬BHS3,4(6)(¬¬A¬¬B)(¬B¬A)L3(7)¬B¬AMP(5.6)\begin{aligned} & (1) A \to B && 假设 \\ & (2) \neg \neg A \to A && 例题三已证定理 \\ & (3) \neg \neg A \to B && HS(1,2) \\ & (4) (B \to \neg \neg B) && 例题三已证定理 \\ & (5) \neg\neg A \to \neg \neg B && HS(3,4) \\ & (6) (\neg\neg A \to \neg \neg B)\to (\neg B \to \neg A) && L_{3} \\ & (7) \neg B \to \neg A && MP(5.6) \\ \end{aligned} 所以,{AB}(¬B¬A)\{A \to B\} \vdash (\neg B \to \neg A),即 (AB)(¬B¬A)\vdash (A \to B) \to (\neg B \to \neg A)成立 因此,(AB)(¬B¬A)(A \to B) \approx (\neg B\to \neg A)成立

HSHS是前面讲到的三段论规则

语义蕴含 \models

  • 定义:设符号ΓA\Gamma \models A表示:BΓ\forall B \in \Gamma,和解释II,若IBI \models B,则IAI \models A。此时称Γ\Gamma语义蕴含AAIIΓ\Gamma的模型。
  • 通俗点解释:
    • 格式:φ1,φ2,...,φnψ\varphi_1,\varphi_2,...,\varphi_n \models \psi
    • 解释:当φ1,φ2,...,φn\varphi_1,\varphi_2,...,\varphi_n蕴含ψ\psi时,表明φ1,φ2,...,φnψ\varphi_1,\varphi_2,...,\varphi_n \models \psi是有效的,也表示当φ1,φ2,...,φn\varphi_1,\varphi_2,...,\varphi_ntruetrue时,ψ\psi一定为truetrue
  • 范例:pq,q,rpp \vee q,q,r \models p具有有效性
    • 含义:当 pqp \wedge qtruetrueqqtruetruerrtruetrue时,pp一定为truetrue. 所以pq,q,rp \wedge q,q,r蕴含pp

可靠性与完备性

  • 可靠性
    • 定义:AF(S)\forall A \in F(S),若AA\vdash A 则 \models A
    • 通俗点解释:令φ1,φ2,...,φn\varphi_1,\varphi_2,...,\varphi_nψ\psi为命题逻辑中的公式,如果φ1,φ2,...,φnψ\varphi_1,\varphi_2,...,\varphi_n \vdash \psi是有效的, 那么φ1,φ2,...,φnψ\varphi_1,\varphi_2,...,\varphi_n \models \psi是有效的。
  • 完备性
    • 定义:AF(S)\forall A \in F(S),若AA\models A 则 \vdash A
    • 通俗点解释:令φ1,φ2,...,φn\varphi_1,\varphi_2,...,\varphi_nψ\psi为命题逻辑中的公式,如果φ1,φ2,...,φnψ\varphi_1,\varphi_2,...,\varphi_n \models \psi是有效的, 那么φ1,φ2,...,φnψ\varphi_1,\varphi_2,...,\varphi_n \vdash \psi是有效的。