tactic.rewrite
source
assoc_rewrite [h₀,← h₁] at ⊢ h₂ behaves like rewrite [h₀,← h₁] at ⊢ h₂ with the exception that associativity is used implicitly to make rewriting possible.
assoc_rewrite [h₀,← h₁] at ⊢ h₂
rewrite [h₀,← h₁] at ⊢ h₂
It works for any function f for which an is_associative f instance can be found.
f
is_associative f
example {α : Type*} (f : α → α → α) [is_associative α f] (a b c d x : α) : let infix `~` := f in b ~ c = x → (a ~ b ~ c ~ d) = (a ~ x ~ d) := begin intro h, assoc_rw h, end
synonym for assoc_rewrite
assoc_rewrite