Event-B建模(九)——用Rodin手动证明


前面我们用Rodin建模了各种各样的模型,想必大家都知道Rodin的自动证明器有时候是会出错的吧?有时候,在自动证明器无法证明的情况下,我们需要进行手动的证明

环境更改

我们现在用的是SMT自动证明器,那玩意儿太高级了,为了体验一下手动证明的感觉,我们要首先更改一下我们的环境,来到这个界面,点击new
在这里插入图片描述
我们新建的这个证明环境命名为prp1,然后先把右边Loop On All Pending这个东西拖到中间
在这里插入图片描述
然后左边的都是证明的方法,把这个Goal in Hypotheses这个拖到中间的Loop上,在这里我们只用Goal in Hypotheses这一个方法
在这里插入图片描述
点击finish后就完成了一个自定义的证明器,我们把证明器切换到我们自己定义的这个东东,环境就搭建完了
在这里插入图片描述

证明规则

要证明一个问题,我们就需要简单了解一些证明规则,这里简单地写几个

deduction
H , P ⊢ G H ⊢ P ⇒ G \dfrac{H,P\vdash G}{H\vdash P\Rightarrow G} HPGH,PG

这个规则是说,如果要证明的式子形式是 H ⊢ P ⇒ G H\vdash P\Rightarrow G HPG这样子的,我们就可以把前面这个P放到假设里面,其实这就是演绎定理

Conjunction Introduction
H ⊢ P H ⊢ Q H ⊢ P ∧ Q \dfrac{H\vdash P\qquad H\vdash Q}{H\vdash P\wedge Q} HPQHPHQ

在假设H条件下,要证明P和Q,相当于在假设H条件下,去证明 P ∧ Q P\wedge Q PQ

Disjunction to Implication
H ⊢ ¬ P ⇒ Q H ⊢ P ∨ Q \dfrac{H\vdash \lnot P\Rightarrow Q}{H\vdash P\vee Q} HPQH¬PQ

这个其实就是德摩根律

Contradict
H , P , ¬ Q ⊢ P H , P , ¬ P ⊢ Q \dfrac{H,P,\lnot Q\vdash P}{H,P,\lnot P \vdash Q} H,P,¬PQH,P,¬QP
这个规则就很有趣了,讲的是如果P和 ¬ P \lnot P ¬P都在假设里面,那么我们就认为证明成立,这个规则在rodin里面点选的位置比较特殊

Goal in Hypotheses
H , P ⊢ P \dfrac{}{H,P\vdash P} H,PP

这个规则就是我们之前设定的,非常好理解,如果P在假设里,并且P在证明目标里,那么证明成立,这个是证明的时候最优先考虑的规则,接下里的证明都是基于此

练习

还是实际地手动证明一下比较好,只看概念是不知道会出现什么问题的

要证明的东西是下面这个
在这里插入图片描述
我们现在只有rodin内置和Goal in Hypotheses这几个规则,在这种情况下怎么证明这个thm呢?

在这里插入图片描述
看到中间红色的部分了吗?在带红色的符号上,我们可以使用相应的证明规则

在这里插入图片描述
先用合取规则把要证明的部分拆成两个
在这里插入图片描述
在第一个证明里面用一次析取规则,再拆成俩
在这里插入图片描述
在这里插入图片描述
到了这一步可以使用deduction规则了,这一步把要证明的x∈A和x∈B提到假设了里面
在这里插入图片描述
在这里插入图片描述
再用一次deduction,把x属于A提到假设,这时候我们看到了,x∈B既在假设里面又在要证明的目标里面,所以这一条的证明成立

在这里插入图片描述
下面的这条同样,先用deduction两次
在这里插入图片描述
到了这一步,发现没法继续点下去了,别急,看一下 ¬ x ∈ A \lnot x\in A ¬xA x ∈ A x\in A xA竟然都在假设里面,我们点击一下 x ∈ A x\in A xA前面那个蓝色的ct,然后就这么证明出来了

接下来下面的证明和已演示的过程完全相同,全部点完后证明就完成了,笑脸都绿了呢,保存一下就可以收工了
在这里插入图片描述
其实就算是相同的命题,证明的序列也是多种多样的,不过证明序列有长短的区别,现在单纯的命题逻辑证明还是比较简单的,要是加上谓词逻辑相关的证明,就比较复杂了

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值