Instances on spaces of monoid and group morphisms #
We endow the space of monoid morphisms M →* N with a CommMonoid structure when the target is
commutative, through pointwise multiplication, and with a CommGroup structure when the target
is a commutative group. We also prove the same instances for additive situations.
Since these structures permit morphisms of morphisms, we also provide some composition-like operations.
Finally, we provide the Ring structure on AddMonoid.End.
(M →+ N) is an AddCommMonoid if N is commutative.
(M →* N) is a CommMonoid if N is commutative.
If G is an additive commutative group, then M →+ G is an additive commutative
group too.
If G is a commutative group, then M →* G is a commutative group too.
Equations
- instAddCommMonoidEndToAddZeroClassToAddMonoid = AddMonoidHom.addCommMonoid
Equations
- One or more equations did not get rendered due to their size.
See also AddMonoid.End.natCast_def.
Equations
- instAddCommGroupEndToAddZeroClassToAddMonoidToSubNegMonoidToAddGroup = AddMonoidHom.addCommGroup
Equations
- One or more equations did not get rendered due to their size.
See also AddMonoid.End.intCast_def.
Morphisms of morphisms #
The structures above permit morphisms that themselves produce morphisms, provided the codomain is commutative.
flip arguments of f : M →+ N →+ P
Equations
- One or more equations did not get rendered due to their size.
Instances For
flip arguments of f : M →* N →* P
Equations
- One or more equations did not get rendered due to their size.
Instances For
Evaluation of an AddMonoidHom at a point as an additive monoid homomorphism.
See also AddMonoidHom.apply for the evaluation of any function at a point.
Equations
- AddMonoidHom.eval = AddMonoidHom.flip (AddMonoidHom.id (M →+ N))
Instances For
Evaluation of a MonoidHom at a point as a monoid homomorphism. See also MonoidHom.apply
for the evaluation of any function at a point.
Equations
- MonoidHom.eval = MonoidHom.flip (MonoidHom.id (M →* N))
Instances For
The expression fun g m ↦ g (f m) as an AddMonoidHom.
Equivalently, (fun g ↦ AddMonoidHom.comp g f) as an AddMonoidHom.
This also exists in a LinearMap version, LinearMap.lcomp.
Equations
- AddMonoidHom.compHom' f = AddMonoidHom.flip (AddMonoidHom.comp AddMonoidHom.eval f)
Instances For
The expression fun g m ↦ g (f m) as a MonoidHom.
Equivalently, (fun g ↦ MonoidHom.comp g f) as a MonoidHom.
Equations
- MonoidHom.compHom' f = MonoidHom.flip (MonoidHom.comp MonoidHom.eval f)
Instances For
Composition of additive monoid morphisms (AddMonoidHom.comp) as an additive
monoid morphism.
Note that unlike AddMonoidHom.comp_hom' this requires commutativity of N.
This also exists in a LinearMap version, LinearMap.llcomp.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Composition of monoid morphisms (MonoidHom.comp) as a monoid morphism.
Note that unlike MonoidHom.comp_hom' this requires commutativity of N.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Flipping arguments of additive monoid morphisms (AddMonoidHom.flip)
as an additive monoid morphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Flipping arguments of monoid morphisms (MonoidHom.flip) as a monoid morphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The expression fun m q ↦ f m (g q) as an AddMonoidHom.
Note that the expression fun q n ↦ f (g q) n is simply AddMonoidHom.comp.
This also exists as a LinearMap version, LinearMap.compl₂
Equations
Instances For
The expression fun m q ↦ f m (g q) as a MonoidHom.
Note that the expression fun q n ↦ f (g q) n is simply MonoidHom.comp.
Equations
- MonoidHom.compl₂ f g = MonoidHom.comp (MonoidHom.compHom' g) f
Instances For
The expression fun m n ↦ g (f m n) as an AddMonoidHom.
This also exists as a LinearMap version, LinearMap.compr₂
Equations
- AddMonoidHom.compr₂ f g = AddMonoidHom.comp (↑AddMonoidHom.compHom g) f
Instances For
The expression fun m n ↦ g (f m n) as a MonoidHom.
Equations
- MonoidHom.compr₂ f g = MonoidHom.comp (↑MonoidHom.compHom g) f
Instances For
Miscellaneous definitions #
Due to the fact this file imports Algebra.GroupPower.Basic, it is not possible to import it in
some of the lower-level files like Algebra.Ring.Basic. The following lemmas should be rehomed
if the import structure permits them to be.
Multiplication of an element of a (semi)ring is an AddMonoidHom in both arguments.
This is a more-strongly bundled version of AddMonoidHom.mulLeft and AddMonoidHom.mulRight.
Stronger versions of this exists for algebras as LinearMap.mul, NonUnitalAlgHom.mul
and Algebra.lmul.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An AddMonoidHom preserves multiplication if pre- and post- composition with
AddMonoidHom.mul are equivalent. By converting the statement into an equality of
AddMonoidHoms, this lemma allows various specialized ext lemmas about →+ to then be applied.
The left multiplication map: (a, b) ↦ a * b. See also AddMonoidHom.mulLeft.
Equations
- AddMonoid.End.mulLeft = AddMonoidHom.mul
Instances For
The right multiplication map: (a, b) ↦ b * a. See also AddMonoidHom.mulRight.
Equations
- AddMonoid.End.mulRight = AddMonoidHom.flip AddMonoidHom.mul