我有以下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