我正在通过Coq 8.12.0参考手册学习Coq,并且在证明以下引理时遇到了困难。
From Coq Require Import Lia Reals Lra List.
Lemma lemma1 : forall (x y:Rbar), Rbar_le x 0 -> Rbar_le y 0
-> Rbar_le (Rbar_plus x y) 0.
Proof.
destruct x ; destruct y ; simpl ; intuition.
destruct H.
destruct H0.
unfold Rle.
auto with real.
right.
...然后我就得完成证明。有什么想法吗?
发布于 2021-04-28 13:56:01
当您输入right策略时,您在证明中做出了一个没有被您的假设中的事实所证实的选择。你应该删除这一行,并尝试找到另一种方法来证明你最初的猜想,这似乎真的是可以证明的。
实际上,如果您开始展开Rle的定义并使用destruct,您就进入了太多的细节。...; intuition之后的目标如下:
1 subgoal (ID 207)
r, r0 : R
H : r <= 0
H0 : r0 <= 0
============================
r + r0 <= 0这是简单线性算术的一个目标(因为我们只将变量相加,并使用简单的比较)。这可以通过一种名为lra的强大策略来解决。就叫它吧。您的证明的完整脚本在这里:
Lemma lemma1 : forall (x y:Rbar), Rbar_le x 0 -> Rbar_le y 0
-> Rbar_le (Rbar_plus x y) 0.
Proof.
destruct x ; destruct y ; simpl ; intuition.
lra.
Qed.https://stackoverflow.com/questions/67291367
复制相似问题