如何rewrite ->
仅应用定位子表达式?例如,考虑这个定理:
Parameter add : nat -> nat -> nat.
Axiom comm : forall a b, add a b = add b a.
Theorem t1 : forall a b : nat,
(add (add a b) (add a (add a b))) =
(add (add a b) (add a (add b a))).
直观地说,它只需要交换一个(add a b)
子表达式,但如果我这样做 rewrite -> (comm a b)
,它会重写所有出现的情况。如何定位特定的子表达式?