Zulip Chat Archive
Stream: Is there code for X?
Topic: symm_map_smul
Scott Carnahan (May 20 2025 at 17:36):
I would like to contribute the following analogue of docs#MulEquiv.symm_map_mul but I don't know where to put it:
import Mathlib
lemma symm_map_smul {Γ Γ' P Q : Type*} [SMul Γ P] [SMul Γ' Q]
(f : Γ ≃ Γ') (f₁ : P ≃ Q) (h : ∀ (x : Γ) (y : P), f₁ (x • y) = f x • f₁ y) (u : Γ') (v : Q) :
f₁.symm (u • v) = f.symm u • f₁.symm v := by
simpa [Equiv.symm_apply_apply f₁, Equiv.apply_symm_apply] using
congrArg f₁.symm (h (f.symm u) (f₁.symm v)).symm
find_home! suggests a long list of low-level files, but none of them seem to fit well.
Aaron Liu (May 20 2025 at 17:44):
Why not state it for docs#MulActionSemiHomClass
Aaron Liu (May 20 2025 at 18:00):
import Mathlib.GroupTheory.GroupAction.Hom
@[to_additive EquivLike.inv_map_vaddₛₗ]
lemma EquivLike.inv_map_smulₛₗ {Γ Γ' P Q M F : Type*} [SMul Γ P] [SMul Γ' Q] [EquivLike M Γ Γ'] [EquivLike F P Q]
(f : M) [MulActionSemiHomClass F f P Q] (f₁ : F) (u : Γ') (v : Q) :
EquivLike.inv f₁ (u • v) = EquivLike.inv f u • EquivLike.inv f₁ v :=
MulActionSemiHomClass.map_smulₛₗ (MulActionHom.inverse' f₁ (inv f₁)
(EquivLike.right_inv f) (EquivLike.left_inv f₁) (EquivLike.right_inv f₁)) u v
Scott Carnahan (May 20 2025 at 18:22):
Thank you, that looks great! I was not aware of Equivlike.
Last updated: Dec 20 2025 at 21:32 UTC