如何在 coq 中反向使用引理 a=b?
How in coq to use lemma a=b backwards?
假设我有一个引理L
说
forall x, x + 1 + 1 = x + 2.
如果我的目标是 a + 1 + 1 = b
我可以写一个命令 rewrite L
来获得形式为 a + 2 = b
的目标
但是,如果我的目标是 a + 2 = b
如何反向应用引理来获得目标 a + 1 + 1 = b
?
说
rewrite <- L. (* Rewrite right to left *)
为了对称,还有rewrite -> L
,和rewrite L
一样(从左往右改写)。
这在 Coq's tactic reference 中有记录。
假设我有一个引理L
说
forall x, x + 1 + 1 = x + 2.
如果我的目标是 a + 1 + 1 = b
我可以写一个命令 rewrite L
来获得形式为 a + 2 = b
但是,如果我的目标是 a + 2 = b
如何反向应用引理来获得目标 a + 1 + 1 = b
?
说
rewrite <- L. (* Rewrite right to left *)
为了对称,还有rewrite -> L
,和rewrite L
一样(从左往右改写)。
这在 Coq's tactic reference 中有记录。