命题逻辑
语法规则
P : : = T ∣ ⊥ ∣ x ∣ P ∧ P ∣ P ∨ P ∣ P → P ∣ ¬ P P::= T|⊥| x | P ∧P | P ∨ P | P → P | ¬ P P::=T∣⊥∣x∣P∧P∣P∨P∣P→P∣¬P
用符号P代表任意逻辑命题,它由几种不同语法形式组成:符号T
和⊥
分别代表两个逻辑常量“真和“假”;小写符号x代表一个原子命题变量
;这三种语法形式都是基本的,因此可称它们为原子命题
。
还可以通过连接词连接子命题,而构成复合命题;具体的有四种联接词:合取∧
、析取∨
、蕴含→
和否定¬
,其中前三个算符是二元的,最后一个算符是一元的。
自然演绎系统
环境
环境 Г
是由n(n >=0)个命题构成的命题列表:
Γ
=
P
1
,
.
.
.
,
P
n
\varGamma = P_1,\ ...\ ,P_n
Γ=P1, ... ,Pn
特别的,若n = 0,则称 Г
为空环境。
断言
断言是由环境 Г
和命题P构成的元组:
Γ
├
P
\varGamma \ ├ \ P
Γ ├ P
证明规则
证明规则是形如:
Γ
1
├
P
1
.
.
.
Γ
n
├
P
n
Γ
├
P
(
R
u
l
e
−
N
a
m
e
)
\frac{\varGamma_1├ \ P_1 \ ...\ \varGamma_n├\ P_n }{\varGamma \ ├ \ P} \quad\quad\quad\quad\quad(Rule-Name)
Γ ├ PΓ1├ P1 ... Γn├ Pn(Rule−Name)
的一条公式,其中n >= 0。
证明规则由三部分组成:
第一部分是横向上方的n个断言:也被成为是规则的n个前提
Γ
i
├
P
i
,
1
≤
i
≤
n
\varGamma_i\ ├ \ P_i\ ,\quad 1≤i≤n
Γi ├ Pi ,1≤i≤n
第二部分是横线下方唯一的断言:也被成为是规则的结论
Γ
├
P
\varGamma \ ├ \ P
Γ ├ P
第三部分是横线右侧的规则的名字 Rule-Name
,它唯一地标识了这条规则
十四条规则
1、单个命题
Γ , P ├ P ( V a r ) \frac{}{\varGamma,P \ ├ \ P} \quad\quad\quad\quad\quad(Var) Γ,P ├ P(Var)
规则Var
是一条公理,表示若命题P在环境中出现,现任可推出P成立。
2、真 T – 引入
Γ ├ T ( T I ) \frac{}{\varGamma \quad├ \quad T} \quad\quad\quad\quad\quad(T I) Γ├T(TI)
规则T I
也是一条公理,表示在任意环境 Г
中,真T
都无条件成立。
3、真 T – 消去
Γ ├ ⊥ Γ ├ P ( ⊥ E ) \frac{\varGamma \quad├ \quad ⊥}{\varGamma \quad├ \quad P} \quad\quad\quad\quad\quad(⊥ E) Γ├PΓ├⊥(⊥E)
规则⊥ E
表示,若能证明“假”,则可以推出任意命题P为真,即假的推出一切
。
4、合取 ∧ – 引入
Γ ├ P Γ ├ Q Γ ├ P ∧ Q ( ∧ I ) \frac{\varGamma ├ \ P \quad \quad \varGamma ├ \ Q}{\varGamma \quad├ \quad P∧Q} \quad\quad\quad\quad\quad(∧ I) Γ├P∧QΓ├ PΓ├ Q(∧I)
规则∧I
表示,若若前提中的命题P和Q都成立,则可推出二者的合取式P∧Q
成立。
5、6、合取 ∧ – 消去1、消去2
Γ ├ P ∧ Q Γ ├ P ( ∧ E 1 ) \frac{\varGamma \quad├ \quad P∧Q}{\varGamma ├ \ P} \quad\quad\quad\quad\quad(∧ E_1) Γ├ PΓ├P∧Q(∧E1)
Γ ├ P ∧ Q Γ ├ Q ( ∧ E 2 ) \frac{\varGamma \quad├ \quad P∧Q}{ \varGamma ├ \ Q} \quad\quad\quad\quad\quad(∧ E_2) Γ├ QΓ├P∧Q(∧E2)
规则∧E1
和∧E2
表示,若合取命题P∧Q
成立,则可分别推出P和Q成立。
7、8、析取 ∨ – 引入1、引入2
Γ ├ P Γ ├ P ∨ Q ( ∨ I 1 ) \frac{\varGamma ├ \ P}{\varGamma \quad├ \quad P∨Q} \quad\quad\quad\quad\quad(∨ I_1) Γ├P∨QΓ├ P(∨I1)
Γ ├ Q Γ ├ P ∨ Q ( ∨ I 2 ) \frac{\varGamma ├ \ Q}{\varGamma \quad├ \quad P∨Q} \quad\quad\quad\quad\quad(∨ I_2) Γ├P∨QΓ├ Q(∨I2)
规则∨I1
和∨I2
表示,只要命题P或Q成立,就能推出P∨Q
成立。
9、析取 ∨ – 消去
Γ ├ P ∨ Q Γ , P ├ R Γ , Q ├ R Γ ├ R ( ∨ E ) \frac{\varGamma \ ├ \ P∨Q\quad\quad \varGamma,P ├ \ R\quad\quad \varGamma,Q ├ \ R}{\varGamma ├ \ R} \quad\quad\quad\quad\quad(∨ E) Γ├ RΓ ├ P∨QΓ,P├ RΓ,Q├ R(∨E)
规则∨E
表示,若环境 Г
能够推出析取命题P∨Q
成立,且在假定命题 P 或 Q 成立的前提下,都能推出命题 R 成立,则可在环境 Г
下推出命题 R 成立
10、蕴含 → – 引入
Γ , P ├ Q Γ ├ P → Q ( → I ) \frac{\varGamma,P ├ \ Q}{\varGamma ├ \ P→Q} \quad\quad\quad\quad\quad(→ I) Γ├ P→QΓ,P├ Q(→I)
规则→I
表示,若能在环境 Г
,P 下推出析取命题 Q 成立,则可在环境 Г
下推出蕴含命题 P→Q
成立。
11、蕴含 → – 消去
Γ ├ P → Q Γ ├ P Γ ├ Q ( → E ) \frac{\varGamma ├ \ P→Q \quad\quad \varGamma ├ \ P}{\varGamma ├ \ Q} \quad\quad\quad\quad\quad(→ E) Γ├ QΓ├ P→QΓ├ P(→E)
规则→E
表示,若命题 P→Q
和 P 都成立,则可推出命题Q成立。
12、否定 ¬ – 引入
Γ , P ├ ⊥ Γ ├ ¬ P ( ¬ I ) \frac{\varGamma,P ├ \ ⊥}{\varGamma ├ \ ¬P} \quad\quad\quad\quad\quad(¬ I) Γ├ ¬PΓ,P├ ⊥(¬I)
规则¬ I
表示,若在假设命题P成立的前提下,能够推出“假”,则可推出命题P的否定¬P
。
13、否定 ¬ – 消去
Γ ├ P Γ ├ ¬ P Γ ├ ⊥ ( ¬ E ) \frac{\varGamma ├ \ P \quad\quad \varGamma ├ \ ¬P}{\varGamma ├ \ ⊥} \quad\quad\quad\quad\quad(¬ E) Γ├ ⊥Γ├ PΓ├ ¬P(¬E)
规则¬ E
表示,若在环境 Г
下,能够同时推出命题P和它的否定 ¬P ,则可推出“假” ⊥
。
14、双重否定 ¬¬ – 消去
Γ ├ ¬ ¬ P Γ ├ P ( ¬ ¬ E ) \frac{\varGamma ├ \ ¬¬P}{\varGamma ├ \ P} \quad\quad\quad\quad\quad(¬¬E) Γ├ PΓ├ ¬¬P(¬¬E)
规则¬¬ E
表示,若能推出命题P的双重否定 ¬¬P,则可推出命题P。
命题证明
这一部分要求我们用上面的14个基本的证明规则,去证明一个又一个复杂的命题。
刚开始学的时候,课上一头雾水,后来课下花时间消化了之后,的确找到一些技巧了。总结如下:
技巧1
环境 Г
就是前提,是已知的假设,可以是很多个命题,也可以为空。不可被拆分,只能在初始环境上添加命题。
技巧2
把上述规则化简并进一步总结,就能得出很多命题证明问题的原型了。
这里我按规则的结论(即横线下方的断言),将问题总结为六大类型:
1、Q
Γ ├ Q { ( 1 ) 证 Γ ├ ⊥ ( 2 ) 证 Γ ├ P ∧ Q 或 Γ ├ Q ∧ P ( 3 ) 证 Γ ├ P ∨ R 且 Γ , P ├ Q 且 Γ , R ├ Q ( 4 ) 证 Γ ├ P → Q 且 Γ ├ P ( 5 ) 证 Γ ├ ¬ ¬ Q \varGamma ├ \ Q \begin{cases} (1)\quad 证 \quad \varGamma ├ ⊥ \quad\quad\quad \\ (2)\quad 证 \quad \varGamma ├ \ P∧Q \ 或 \ \varGamma ├ \ Q∧P \quad\quad\quad\\ (3)\quad 证 \quad \varGamma ├ \ P∨R \quad 且 \quad \varGamma,P ├ \ Q \quad 且 \quad \varGamma,R ├ \ Q \quad\quad\quad \\ (4)\quad 证 \quad \varGamma ├ \ P→Q \quad 且 \quad \varGamma ├ \ P \quad\quad\quad \\ (5)\quad 证 \quad \varGamma ├ \ ¬¬ \ Q\quad\quad\quad \end{cases} Γ├ Q⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧(1)证Γ├⊥(2)证Γ├ P∧Q 或 Γ├ Q∧P(3)证Γ├ P∨R且Γ,P├ Q且Γ,R├ Q(4)证Γ├ P→Q且Γ├ P(5)证Γ├ ¬¬ Q
其中,规则(2)(4)是比较常用的。
2、P∧Q
Γ ├ P ∧ Q 只 有 证 : Γ ├ P 且 Γ ├ Q \varGamma ├ \ P∧Q \ \quad 只有证:\quad \varGamma ├ \ P \quad 且 \quad \varGamma ├ \ Q \\ Γ├ P∧Q 只有证:Γ├ P且Γ├ Q
3、P∨Q
Γ ├ P ∨ Q 可 以 证 Γ ├ P , 或 者 证 Γ ├ Q \varGamma ├ \ P∨Q \ \quad 可以证 \ \varGamma ├ \ P ,\ 或者证 \ \varGamma ├ \ Q \\ Γ├ P∨Q 可以证 Γ├ P, 或者证 Γ├ Q
4、P→Q
Γ ├ P → Q 只 有 证 : Γ , P ├ Q \varGamma ├ \ P→Q \ \quad 只有证:\quad \varGamma,P ├ \ Q \quad \\ Γ├ P→Q 只有证:Γ,P├ Q
5、⊥
Γ ├ ⊥ 只 有 证 : Γ ├ P 且 Γ ├ ¬ P \varGamma ├ \ ⊥ \ \quad 只有证:\quad \varGamma ├ \ P \quad 且 \quad \varGamma ├ \ ¬P \\ Γ├ ⊥ 只有证:Γ├ P且Γ├ ¬P
6、¬Q
Γ ├ ¬ Q 只 有 证 : Γ , Q ├ ⊥ \varGamma ├ \ ¬Q \ \quad 只有证:\quad \varGamma,Q ├ \ ⊥ \\ Γ├ ¬Q 只有证:Γ,Q├ ⊥
上述类型中,1、2、3、4是比较常见的。
还有重要的一点:上面的类型2~6,其实都可以看成是一个类型1,因为环境中也许就包含了他自己,举个栗子:
要证明`P→Q`,并且此时环境中含有命题`(P→Q)∧(P→R)`,那么其实就可以将`P→Q`看成是类型1,而不是类型4。
所以还是要灵活运用上面的规则。
1、真
T
在任意环境下都成立,所以也就没有证明了。
2、细心的你们也许会发现,公理Var
也没有在上面,嘿嘿,先卖个关子。
技巧3
拿到一个证明题,该怎么一步步去证明呢?
大体的思路就是:把结论一步步地拆分成一个或多个中间目标,这些中间目标尽可能是环境 Г
所包含的。一旦包含了,就用公理Var
。
比如:需要证明Q:(注意这里的Q是一个复合命题,不是原子命题)
可以将其拆分为一个中间目标:P∧Q
也可以拆分成两个目标:P
和P→Q
. . . . . .
环境 Г
里有哪种中间目标,就拆分成哪种中间目标。
值得一提的是:通过蕴含引入规则,可以为环境 Г 增加新的命题,一般也是证明时使用的第一条规则。
小试牛刀
道理方法都讲完了,是时候练一练了:
├
(
P
→
R
)
∧
(
Q
→
R
)
→
(
P
∧
Q
→
R
)
├ \quad (P→R)∧(Q→R) \ → \ (P∧Q→R)
├(P→R)∧(Q→R) → (P∧Q→R)
1、首先,分析题目。需要证明的结论是类型4:P→Q
;并且是一个空环境。
按照之前类型4的技巧:只能使用蕴含引入规则(→ I)
,如下:
2、这时环境中就有了新的命题(P→R)∧(Q→R)
。并且结论又是类型4,继续使用蕴含引入规则(→ I)
:
3、结论变成了类型1:Q,这就有很多思路了。通过观察环境中的命题,可以发现和(3)(4)都很类似,那就选个简单的(4)吧,即蕴含消去规则 (→ E)
:
4、分成了两个子目标:P→R
和P
先来看P→R
,根据上面的技巧提示,把他看成是类型1,因为环境中出现了(P→R)∧(Q→R)
,使用类型1的方法2,即合取消去1规则(∧E1)
。
再来看P
,发现环境中含有P∧Q
,所以也用合取消去1规则(∧E1)
。
推导如下:
5、现在两个子结论都在各自的环境中作为一个单独命题出现了,显而易见,使用公理Var
收官:
以上就是完整的证明过程。
练习
理论学习过后,需要不断地练习加以巩固,以下两个小题目可以自己动手试试:
(
1
)
├
(
P
→
Q
∧
R
)
→
(
P
→
Q
)
∧
(
P
→
R
)
(1)\ \ \quad\quad\quad\quad\quad├ \quad (P→Q∧R) \ → \ (P→Q)∧(P→R)
(1) ├(P→Q∧R) → (P→Q)∧(P→R)
( 2 ) ├ ( P ∧ ( Q ∧ R ) ) → ( ( P ∧ Q ) ∧ R ) (2)\quad\quad\quad\quad\quad\quad\quad├ \quad (P∧(Q∧R)) \ → \ ((P∧Q)∧R) (2)├(P∧(Q∧R)) → ((P∧Q)∧R)