Commit 2025-06-12 08:08 d9571603
View on Github āfeat: make sure that the simp normal form of equiv-like classes pushes symm
and trans
to the right (#25604)
This follows the usual convention for coercions. See discussion at #mathlib4 > simp normal form for symm and coercions @ š¬
For each equiv class, after the PR we should have lemmas like
@[simp]
lemma coe_toEquiv (e : G ā+c[a, b] H) : āe.toEquiv = e := rfl
@[simp]
lemma coe_symm_toEquiv (e : G ā+c[a, b] H) : āe.toEquiv.symm = e.symm := rfl
@[simp]
lemma toEquiv_symm (e : G ā+c[a, b] H) : e.symm.toEquiv = e.toEquiv.symm := rfl
@[simp]
lemma toEquiv_trans (eā : G ā+c[a, b] H) (eā : H ā+c[b, c] K) :
(eā.trans eā).toEquiv = eā.toEquiv.trans eā.toEquiv := rfl
The PR does not complete this task, because it would require killing the coercion from EquivLike classes to Equivs (which I am planning to do in a subsequent PR), but it is a significant first step in this direction.