Zulip Chat Archive
Stream: maths
Topic: ring_mul_action
Kevin Buzzard (Oct 04 2022 at 18:25):
A mul_action
is G →* (X ≃ X)
, and a distrib_mul_action
is G →* (X ≃+ X)
. For the study of decomposition and inertia groups @Michail Karatarakis needs G →* (X ≃+* X)
, e.g. a Galois group acting on the top field. Should there be a new typeclass for this? The extra axioms are g \bub 1 = 1
and g \bub (x * y) = g \bub x * g \bub y
.
Adam Topaz (Oct 04 2022 at 18:34):
Adam Topaz (Oct 04 2022 at 18:34):
I learned this existed from @Eric Wieser !
Eric Wieser (Oct 04 2022 at 18:35):
I learnt it existed only because it being in mathlib interfered with a refactor at one point!
Eric Wieser (Oct 04 2022 at 18:36):
docs#mul_semiring_action.to_ring_equiv is almost what Kevin is asking for I think
Eric Wieser (Oct 04 2022 at 18:37):
I think we're missing the group structure on ring automorphisms? (docs#ring_aut.group)
Eric Wieser (Oct 04 2022 at 18:37):
docs#mul_semiring_action.to_ring_aut seems to be what's missing
Yaël Dillies (Oct 04 2022 at 18:38):
docs#ring_hom.End is a dead end
Eric Wieser (Oct 04 2022 at 18:39):
That's the one that I was thinking of as being missing, thanks
Adam Topaz (Oct 04 2022 at 18:39):
Is @Kevin Buzzard asking for the actual morphism G →* (X ≃+* X)
, or just for the class? Or both?
Eric Wieser (Oct 04 2022 at 18:39):
Well we have the class, just not the morphism
Adam Topaz (Oct 04 2022 at 18:39):
right
Eric Wieser (Oct 04 2022 at 18:39):
The latter would be easy to add!
Kevin Buzzard (Oct 04 2022 at 18:41):
Oh nice! Thanks!
Eric Wieser (Oct 04 2022 at 18:42):
We also seem to be missing the ring_equiv version of docs#alg_equiv.apply_mul_semiring_action
Kevin Buzzard (Oct 04 2022 at 18:45):
Do we have
example (G : Type) [group G] (X : Type) :
mul_action G X ≃ (G →* (X ≃ X)) :=
{ to_fun := λ a, by exactI
{ to_fun := λ g,
{ to_fun := λ x, g • x,
inv_fun := λ x, g⁻¹ • x,
left_inv := inv_smul_smul g,
right_inv := smul_inv_smul g },
map_one' := equiv.ext (one_smul G),
map_mul' := λ g h, equiv.ext (mul_smul g h) },
inv_fun := λ f,
{ smul := λ g x, f g x,
one_smul := λ x, begin
have := f.map_one,
rw equiv.ext_iff at this,
exact this x,
end,
mul_smul := λ g h x, begin
have := f.map_mul g h,
rw equiv.ext_iff at this,
exact this x,
end },
left_inv := λ x, begin
ext,
refl,
end,
right_inv := λ f, begin
ext g x,
refl,
end }
and the equivalent for distrib_mul_action
and mul_semiring_action
?
Adam Topaz (Oct 04 2022 at 18:46):
I doubt it.
Kevin Buzzard (Oct 04 2022 at 18:57):
IIRC
{ to_fun := λ x, g • x,
inv_fun := λ x, g⁻¹ • x,
left_inv := inv_smul_smul g,
right_inv := smul_inv_smul g },
has a name
Yaël Dillies (Oct 04 2022 at 18:59):
Eric Wieser (Oct 04 2022 at 19:17):
If you add the definitions I mention above then we essentially do have that
Eric Wieser (Oct 04 2022 at 19:18):
docs#mul_semiring_action.to_ring_aut would be the forward direction, and docs#mul_semiring_action.comp_hom would be the reverse (edit: also missing, c.f docs#mul_action.comp_hom)
Kevin Buzzard (Oct 04 2022 at 20:01):
@Michail Karatarakis can you put the pieces together?
Michail Karatarakis (Oct 04 2022 at 20:14):
Yes, thank you
Eric Wieser (Oct 04 2022 at 21:30):
If you end up PRing these, feel free to ping me in review
Michail Karatarakis (Oct 06 2022 at 16:17):
Hi, could someone give me permission to push (this is my first PR) please? My Github name is mkaratarakis
Riccardo Brasca (Oct 06 2022 at 16:26):
Invitation sent!
Michail Karatarakis (Oct 06 2022 at 16:32):
Great, thanks a lot!
Last updated: Dec 20 2023 at 11:08 UTC