Group action on rings #
This file defines the typeclass of monoid acting on semirings MulSemiringAction M R,
and the corresponding typeclass of invariant subrings.
Note that Algebra does not satisfy the axioms of MulSemiringAction.
Implementation notes #
There is no separate typeclass for group acting on rings, group acting on fields, etc.
They are all grouped under MulSemiringAction.
Tags #
group action, invariant subring
Typeclass for multiplicative actions by monoids on semirings.
This combines DistribMulAction with MulDistribMulAction.
- smul : M → R → R
Multipliying
1by a scalar gives1Scalar multiplication distributes across multiplication
Instances
Multipliying 1 by a scalar gives 1
Equations
Each element of the monoid defines a semiring homomorphism.
Equations
- MulSemiringAction.toRingHom M R x = let __src := MulDistribMulAction.toMonoidHom R x; let __src_1 := DistribMulAction.toAddMonoidHom R x; { toMonoidHom := __src, map_zero' := ⋯, map_add' := ⋯ }
Instances For
RingHom.applyMulSemiringAction is faithful.
Equations
- ⋯ = ⋯
Compose a MulSemiringAction with a MonoidHom, with action f r' • m.
See note [reducible non-instances].
Equations
- MulSemiringAction.compHom R f = let __src := DistribMulAction.compHom R f; let __src_1 := MulDistribMulAction.compHom R f; MulSemiringAction.mk ⋯ ⋯
Instances For
Note that smul_inv' refers to the group case, and smul_inv has an additional inverse
on x.