在COQ中使用归纳法证明某事物小于或等于其他事物

时间:2018-06-24 23:07:54

标签: coq induction inequality

我需要证明公式的树的高度始终小于同一树的节点数,但是在假设之后我被困住了,不知道如何进行。有人可以帮我填写“入场证”吗?空格?

Require Import String.
Require Import Init.Nat.
Require Import PeanoNat.
Require Import Plus.
Require Import Le.

Theorem le_plus_trans2 : forall n m p, (n <= m) -> (n <= p + m).

Proof.
 intros n m p.
 intros x.
 apply le_trans with (m:= m).
 assumption.
 admit.
Qed.

2 个答案:

答案 0 :(得分:3)

如果您Require Import Coq.omega.Omega,则可以用admit替换所有omega

或者,如果您想要一个不太麻烦的解决方案,则可以将admit替换为

 etransitivity; [ eassumption | apply le_plus_l || apply le_plus_r ].

也就是说,您可以将x <= x + yy <= x + yx : nat用于y : natRequire Import Coq.omega.Omega的事实。

编辑(在您更新问题后)。现在,您的问题包含一个完全不同的目标,但是仍然可以使用标准算术锤来解决此目标。如果您intros; omega.,则整个定理将由this.setState({ messages: this.state.messages.concat({ text: 'new message' }) }) 证明

答案 1 :(得分:1)

尝试使用Plus.le_plus_transPeanoNat.Nat.add_comm