gpt4 book ai didi

coq - 在前提中引入新的假设

转载 作者:行者123 更新时间:2023-12-04 02:06:25 26 4
gpt4 key购买 nike

我目前的目标如下:

  n' : nat
IHn' : forall m : nat, n' + n' = m + m -> n' = m
m' : nat
H1 : n' + n' = m' + m'
============================
S n' = S m'

现在,我想在 IHn'应用 H1,从而引入以下假设:

n' = m'

我试过这个:

apply H1 with (m := m') in IHn'.

但这给了我这个错误:

Error: No such bound variable m.

这是具有这些目标的完整可复制程序:

Theorem my_theorem : forall n m,
n + n = m + m -> n = m.
Proof.
intros n. induction n as [| n'].
- simpl.
intros m H.
symmetry in H.
destruct m as [| m'].
+ reflexivity.
+ rewrite -> plus_Sn_m in H.
inversion H.
- simpl.
rewrite <- plus_n_Sm.
intros m.
intros H.
destruct m as [| m'].
+ simpl in H.
inversion H.
+ rewrite -> plus_Sn_m in H.
rewrite <- plus_n_Sm in H.
inversion H.
Abort.

最佳答案

问题是您的 apply 倒退了。您需要在 H1 中编写 apply IHn' with (m := m')。 请注意,在这种情况下,省略 with (m := m') 是安全的> 子句,因为 Coq 足够聪明,可以自己找出这些信息。

关于coq - 在前提中引入新的假设,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43096905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com