Documentation

Mathlib.Algebra.Module.Hom

Bundled Hom instances for module and multiplicative actions #

This file defines instances for Module on bundled Hom types.

These are analogous to the instances in Algebra.Module.Pi, but for bundled instead of unbundled functions.

We also define a bundled versions of (ยท โ€ข ยท) as AddMonoidHom.smul.

@[implicit_reducible]
instance ZeroHom.instModule {R : Type u_1} {A : Type u_4} {B : Type u_5} [Semiring R] [AddMonoid A] [AddCommMonoid B] [Module R B] :
Module R (ZeroHom A B)

Instances for AddMonoidHom #

@[implicit_reducible]
instance AddMonoidHom.instModule {R : Type u_1} {A : Type u_4} {B : Type u_5} [Semiring R] [AddMonoid A] [AddCommMonoid B] [Module R B] :
@[implicit_reducible]
instance AddMonoidHom.instDomMulActModule {S : Type u_6} {M : Type u_7} {Mโ‚‚ : Type u_8} [Semiring S] [AddCommMonoid M] [AddCommMonoid Mโ‚‚] [Module S M] :

Instances for AddMonoid.End #

These are direct copies of the instances above.

@[implicit_reducible]
@[simp]
theorem AddMonoid.End.coe_smul {R : Type u_1} {A : Type u_4} [Monoid R] [AddCommMonoid A] [DistribMulAction R A] (r : R) (f : AddMonoid.End A) :
โ‡‘(r โ€ข f) = r โ€ข โ‡‘f
theorem AddMonoid.End.smul_apply {R : Type u_1} {A : Type u_4} [Monoid R] [AddCommMonoid A] [DistribMulAction R A] (r : R) (f : AddMonoid.End A) (x : A) :
(r โ€ข f) x = r โ€ข f x
@[implicit_reducible]
instance AddMonoid.End.instModule {R : Type u_1} {A : Type u_4} [Semiring R] [AddCommMonoid A] [Module R A] :
@[implicit_reducible]

The tautological action by AddMonoid.End ฮฑ on ฮฑ.

This generalizes AddMonoid.End.applyDistribMulAction.

Miscellaneous morphisms #

@[deprecated DistribSMul.toAddMonoidHom (since := "2026-01-07")]
def AddMonoidHom.smulLeft {M : Type u_3} {A : Type u_4} [AddMonoid A] [DistribSMul M A] (c : M) :

Scalar multiplication on the left as an additive monoid homomorphism.

See also the linear map version of this Module.End.smulLeft.

Instances For
    @[simp]
    theorem AddMonoidHom.smulLeft_apply {M : Type u_3} {A : Type u_4} [AddMonoid A] [DistribSMul M A] (c : M) :
    โ‡‘(AddMonoidHom.smulLeft c) = fun (x : A) => c โ€ข x
    def AddMonoidHom.smul {R : Type u_1} {M : Type u_3} [Semiring R] [AddCommMonoid M] [Module R M] :

    Scalar multiplication as a biadditive monoid homomorphism. We need M to be commutative to have addition on M โ†’+ M.

    Instances For