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 a CommMonoid if N is commutative.
Equations
- One or more equations did not get rendered due to their size.
(M →+ N) is an AddCommMonoid if N is commutative.
Equations
- One or more equations did not get rendered due to their size.
If G is a commutative group, then M →* G is a commutative group too.
Equations
- One or more equations did not get rendered due to their size.
If G is an additive commutative group, then M →+ G is an additive commutative
group too.
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
Instances For
flip arguments of f : M →+ N →+ P
Equations
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.id (M →* N)).flip
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.id (M →+ N)).flip
Instances For
The expression fun g m ↦ g (f m) as a MonoidHom.
Equivalently, (fun g ↦ MonoidHom.comp g f) as a MonoidHom.
Equations
- f.compHom' = (MonoidHom.eval.comp f).flip
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
- f.compHom' = (AddMonoidHom.eval.comp f).flip
Instances For
Composition of monoid morphisms (MonoidHom.comp) as a monoid morphism.
Note that unlike MonoidHom.comp_hom' this requires commutativity of N.
Equations
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
Instances For
Flipping arguments of monoid morphisms (MonoidHom.flip) as a monoid morphism.
Equations
- MonoidHom.flipHom = { toFun := MonoidHom.flip, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Flipping arguments of additive monoid morphisms (AddMonoidHom.flip)
as an additive monoid morphism.
Equations
- AddMonoidHom.flipHom = { toFun := AddMonoidHom.flip, map_zero' := ⋯, map_add' := ⋯ }
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.
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₂
Instances For
The expression fun m n ↦ g (f m n) as a MonoidHom.
Equations
- f.compr₂ g = (MonoidHom.compHom g).comp 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
- f.compr₂ g = (AddMonoidHom.compHom g).comp f