mathlib documentation


Group action on rings #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

This file defines the typeclass of monoid acting on semirings mul_semiring_action M R, and the corresponding typeclass of invariant subrings.

Note that algebra does not satisfy the axioms of mul_semiring_action.

Implementation notes #

There is no separate typeclass for group acting on rings, group acting on fields, etc. They are all grouped under mul_semiring_action.

Tags #

group action, invariant subring

def mul_semiring_action.to_ring_hom (M : Type u_1) [monoid M] (R : Type v) [semiring R] [mul_semiring_action M R] (x : M) :
R →+* R

Each element of the monoid defines a semiring homomorphism.

def mul_semiring_action.to_ring_equiv (G : Type u_3) [group G] (R : Type v) [semiring R] [mul_semiring_action G R] (x : G) :
R ≃+* R

Each element of the group defines a semiring isomorphism.

def mul_semiring_action.comp_hom {M : Type u_1} {N : Type u_2} [monoid M] [monoid N] (R : Type v) [semiring R] (f : N →* M) [mul_semiring_action M R] :

Compose a mul_semiring_action with a monoid_hom, with action f r' • m. See note [reducible non-instances].

theorem smul_inv'' {M : Type u_1} [monoid M] {F : Type v} [division_ring F] [mul_semiring_action M F] (x : M) (m : F) :
x m⁻¹ = (x m)⁻¹

Note that smul_inv' refers to the group case, and smul_inv has an additional inverse on x.