我有以下Coq env。为什么后面的Coq重写不适用于假设的右侧?
1 subgoals
m : nat
IHm : forall n : nat, n + n = m + m -> n = m
n : nat
H : S (n + S n) = S (m + S m)
ll := ll : forall k : nat, k + S k = S k + k
做rewrite ll in H
,只改变了LHS S (n + S n)
到S (S n + n)
但不是RHS S (m + S m)
。 ll
应该适用于nat类型的所有变量。这里有什么问题?
'重写H'只会使用'H'的一个实例,您需要使用'!'量词来强制更多的重写。例如:引理ex n m:n = m - > n + 0 = m + 0。现在重写< - !plus_n_O。 Qed.' – ejgallego
@ejgallego,你应该发布这个答案! –
我没有时间正确写出答案,对不起。我的评论缺少一些东西,其中包括对“重写”如何选择实例化模式的解释。 – ejgallego