自然推理系统证明:(∀x)P(x)→C⊢(∃x)(P(x)→C)

博主分享了一次使用自然推理系统证明逻辑命题的经历,详细讲述了从尝试右∃策略到改用右¬策略的过程,通过引入导出规则简化证明,并最终成功推导出目标结论。文章强调了在面对多种证明策略时,应灵活选择并注意变量约束。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一次写博客,先复盘一道简单的证明题练练手

用自然推理系统证明:(∀x)P(x)→C⊢(∃x)(P(x)→C)(\forall x)P(x)\rightarrow C \vdash (\exists x)(P(x)\rightarrow C)(x)P(x)C(x)(P(x)C)

思考过程

看到题目想到两种策略:右∃和右¬,感觉右∃更加自然,故首先尝试右∃:看到题目想到两种策略:右\exists和右\lnot,感觉右\exists更加自然,故首先尝试右\exists:¬:

右边的∃可以无条件加上,故只需证(∀x)P(x)→C⊢P(x)→C右边的\exists可以无条件加上,故只需证(\forall x)P(x)\rightarrow C \vdash P(x)\rightarrow C(x)P(x)CP(x)C

此时用右→策略(右¬我没试),即证(∀x)P(x)→C,P(x)⊢C此时用右\rightarrow策略(右\lnot我没试),即证(\forall x)P(x)\rightarrow C,P(x) \vdash C¬(x)P(x)C,P(x)C

发现左边有x的自由变元,无法推出(∀x)P(x),故无法使用→消去规则推出C,此外,右C规则应该也用不了发现左边有x的自由变元,无法推出(\forall x)P(x),故无法使用\rightarrow消去规则推出C,此外,右C规则应该也用不了x(x)P(x),使CC

因此放弃看上去更自然的右∃策略,采用更简单粗暴的右¬:因此放弃看上去更自然的右\exists策略,采用更简单粗暴的右\lnot:¬

首先引入两个导出规则来简化证明过程(虽然还是很麻烦:首先引入两个导出规则来简化证明过程(虽然还是很麻烦:

1.¬(A→B)⊢A∧¬B1.\lnot(A→B)⊢A∧¬B1.¬(AB)A¬B
2.¬(∃x)P(x)⊢(∀x)(¬P(x))2.¬(∃x)P(x)⊢(∀x)(¬P(x))2.¬(x)P(x)(x)(¬P(x))

倒着推,首先要证(∀x)P(x)→C,¬(∃x)(P(x)→C)⊢⊥倒着推,首先要证(\forall x)P(x)\rightarrow C , \lnot(\exists x)(P(x)\rightarrow C)\vdash \bot(x)P(x)C,¬(x)(P(x)C)

由于左边有点复杂,暂时没有看出来矛盾应该选什么,就先用导出规则2,1进行化简:由于左边有点复杂,暂时没有看出来矛盾应该选什么,就先用导出规则2,1进行化简:21

得到(∀x)P(x)→C,¬(∃x)(P(x)→C)⊢(∀x)(P(x)∧¬C)得到(\forall x)P(x)\rightarrow C,\lnot(\exists x)(P(x)\rightarrow C)\vdash (\forall x)(P(x)\land \lnot C)(x)P(x)C,¬(x)(P(x)C)(x)(P(x)¬C)

可以轻松推出¬C,观察左右两边尝试推出C,关键需要推出(∀x)P(x)可以轻松推出\lnot C,观察左右两边尝试推出C,关键需要推出(\forall x)P(x)¬CC(x)P(x)

可以轻松推出P(x),发现左边没有x的自由变元,所以用∀引入规则推出(∀x)P(x)可以轻松推出P(x),发现左边没有x的自由变元,所以用\forall 引入规则推出(\forall x)P(x)P(x),x(x)P(x)

然后反过来写过程就OK了然后反过来写过程就OK了OK

策略总结

  • 有时候一道题开始有多种策略可以选,当右边比较复杂时,右A/¬A/\lnotA/¬策略可能过于简单粗暴,不是很自然,确实应该先尝试其他策略。但即便如此,该策略很多时候也是有效的
  • 往右边添加∀\forall和往左边添加∃\exists都需要检查自由变元,一旦发现没有自由变元,积极寻求添加这两种量词

证明过程

1.	(∀ x)P(x)->C,¬(∃ x)(P(x)->C)	|-	¬(∃ x)(P(x)->C)							∈
2.	¬(∃ x)(P(x)->C)					|-	(∀ x)(¬(P(x)->C))						导出规则
3.									|-	(¬(∃ x)(P(x)->C))->(∀ x)(¬(P(x)->C))	→+ 2
4.	(∀ x)P(x)->C					|-	(¬(∃ x)(P(x)->C))->(∀ x)(¬(P(x)->C))	∈+ 3
5.	(∀ x)P(x)->C,¬(∃ x)(P(x)->C)	|-	(¬(∃ x)(P(x)->C))->(∀ x)(¬(P(x)->C))	∈+ 4
6.	(∀ x)P(x)->C,¬(∃ x)(P(x)->C)	|-	(∀ x)(¬(P(x)->C))						→- 1,5
7.	(∀ x)P(x)->C,¬(∃ x)(P(x)->C)	|-	¬(P(x)->C)								∀- 6 (x/x)
8.	¬(P(x)->C)						|-	P(x)/\¬C								导出规则
9.									|-	¬(P(x)->C)->P(x)/\¬C					→+ 8
10.	(∀ x)P(x)->C					|-	¬(P(x)->C)->P(x)/\¬C					∈+ 9
11.	(∀ x)P(x)->C,¬(∃ x)(P(x)->C)	|-	¬(P(x)->C)->P(x)/\¬C					∈+ 10
12.	(∀ x)P(x)->C,¬(∃ x)(P(x)->C)	|-	P(x)/\¬C								→- 7,11
13.	(∀ x)P(x)->C,¬(∃ x)(P(x)->C)	|-	P(x)									∧- 12
14.	(∀ x)P(x)->C,¬(∃ x)(P(x)->C)	|-	(∀ x)P(x)								∀+ 13
15.	(∀ x)P(x)->C,¬(∃ x)(P(x)->C)	|-	(∀ x)P(x)->C							∈
16.	(∀ x)P(x)->C,¬(∃ x)(P(x)->C)	|-	C										→- 14,15
17.	(∀ x)P(x)->C,¬(∃ x)(P(x)->C)	|-	¬C										∧- 12
18.	(∀ x)P(x)->C					|-	¬(¬(∃ x)(P(x)->C))						¬+ 16,17
19.	(∀ x)P(x)->C					|-	(∃ x)(P(x)->C)							¬¬- 18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值