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

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

用自然推理系统证明: ( ∀ 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 ∧ ¬ B 1.\lnot(A→B)⊢A∧¬B 1.¬(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)

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

策略总结

  • 有时候一道题开始有多种策略可以选,当右边比较复杂时,右 A / ¬ A/\lnot A/¬策略可能过于简单粗暴,不是很自然,确实应该先尝试其他策略。但即便如此,该策略很多时候也是有效的
  • 往右边添加 ∀ \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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值