如何证明plus的单射性?

问题描述 投票:0回答:1

这就是我想要证明的:

Theorem add_n_injective : forall n m p, n + m = n + p -> m = p.

我尝试过 Coq 的内置策略,但不起作用。有没有简单的方法可以证明这一点? 这是我所做的:

Theorem plus_injective : forall n m, n + n = m + m -> n = m.
Proof. intros n m H.
       induction n.
       - simpl in H. induction m.
         + reflexivity.
         + rewrite H. discriminate.
       - simpl in H. induction m.
         + simpl in H. rewrite <- H. discriminate.
         + rewrite <- H in IHn. rewrite IHn in IHm.
            
Qed.

并且它被一个子目标困住了

coq coq-tactic
1个回答
0
投票

你如何在纸上证明这一点?我想说可能不是通过归纳法。也许你已经有了

+n
的逆矩阵?

请注意,还有解决线性整数算术问题的

lia
策略。您只需使用以下命令导入它即可。

From Coq Require Import Lia.
© www.soinside.com 2019 - 2024. All rights reserved.