在Coq中不等于成功者

时间:2015-12-01 23:42:03

标签: coq proof

我试图在Coq中证明以下引理:

Lemma not_eq_S2: forall m n, S m <> S n -> m <> n.

这似乎很容易,但我找不到如何完成证明。请有人帮帮我吗?

谢谢。

2 个答案:

答案 0 :(得分:4)

要知道的是,在Coq中,否定是一个隐含False的函数,因此S m <> S n实际上是S m = S n -> False。因此,我们可以引入n <> m(我们可以展开n = m或明确告诉not)而不是证明intros,而是取代目标False 。但是在上下文中n = m我们可以将HS: S n <> S m重写为HS: S n <> S n,这可以由auto或其他许多策略处理,例如apply HS. reflexivity.或{{ 1}}等等。

congruence.

答案 1 :(得分:1)

这很容易(但否定会使它有点混乱)。

foreach(int i in lista)