Zulip Chat Archive
Stream: mathlib4
Topic: simp for MulAut.inv_def
Antoine Chambert-Loir (Apr 15 2025 at 13:29):
Would it be reasonable to have:
@[simp]
theorem MulAut.inv_apply {M : Type*} [Mul M] (e : MulAut M) (x : M) :
e⁻¹ x = e.symm x := by
rw [MulAut.inv_def]
or even a simp
tag on docs#MulAut.inv_def
Eric Wieser (Apr 15 2025 at 13:32):
inv_apply
(and same for mul
, one
) looks good to me, under the premise that if you are applying your morphisms you no longer care about the group structure
Eric Wieser (Apr 15 2025 at 13:32):
If we make this simp we should do it globally for all the endomorphisms / automorphisms
Eric Wieser (Apr 15 2025 at 13:32):
(not only for consistency, but that's more likely to alert us if this is a bad idea after all)
Edward van de Meent (Apr 15 2025 at 13:35):
i guess this could be a reasonable simp because this is in application form, rather than just a plain e⁻¹ = e.symm
?
Edward van de Meent (Apr 15 2025 at 13:35):
i suspect tagging MulAut.inv_def
with simp will have adverse effects though
Edward van de Meent (Apr 15 2025 at 13:37):
in particular because this is breaking the abstraction barrier between (M ≃* M)
and MulAut M
, whereas the applied form already has broken that barrier, so doesn't worsen it
Antoine Chambert-Loir (Apr 15 2025 at 13:39):
Well, MulAut.inv_apply
doesn't suffice, in fact, what I need is
@[simp]
theorem MulAut.symm_inv_apply {M : Type*} [Mul M] (e : MulAut M) (x : M) : (e⁻¹).symm x = e x := by
simp only [MulAut.inv_def, MulEquiv.symm_symm]
Antoine Chambert-Loir (Apr 15 2025 at 13:40):
(I was led to that after a mere simp
).
Edward van de Meent (Apr 15 2025 at 13:40):
right, because you don't get to apply inv_inv
Eric Wieser (Apr 15 2025 at 13:41):
I think probably we want (e⁻¹).symm = e
and e.symm⁻¹ = e
as simp lemmas too
Edward van de Meent (Apr 15 2025 at 13:42):
yes, i think that makes sense...
Edward van de Meent (Apr 15 2025 at 13:42):
weird question, but should some of these be marked with something like push_cast
?
Antoine Chambert-Loir (Apr 15 2025 at 13:46):
(docs#MulAut.mul_apply and docs#MulAut.one_apply are already marked as simp.)
Antoine Chambert-Loir (Apr 15 2025 at 13:52):
I did that in #24082. I expect that I will have to de-simp
one things or two.
Edward van de Meent (Apr 15 2025 at 13:53):
things like MulAut.apply_inv_self :thinking:
Antoine Chambert-Loir (Apr 15 2025 at 13:54):
That one doesn't prove by simp
, but then, the next one, docs#MulAut.apply_symm_self does.
Last updated: May 02 2025 at 03:31 UTC