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.

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)
Equations

    Instances for AddMonoidHom #

    instance AddMonoidHom.instModule {R : Type u_1} {A : Type u_4} {B : Type u_5} [Semiring R] [AddMonoid A] [AddCommMonoid B] [Module R B] :
    Module R (A →+ B)
    Equations
      instance AddMonoidHom.instDomMulActModule {S : Type u_6} {M : Type u_7} {M₂ : Type u_8} [Semiring S] [AddCommMonoid M] [AddCommMonoid M₂] [Module S M] :
      Equations

        Instances for AddMonoid.End #

        These are direct copies of the instances above.

        Equations
          @[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
          instance AddMonoid.End.isScalarTower {R : Type u_1} {S : Type u_2} {A : Type u_4} [Monoid R] [Monoid S] [AddCommMonoid A] [DistribMulAction R A] [DistribMulAction S A] [SMul R S] [IsScalarTower R S A] :
          instance AddMonoid.End.instModule {R : Type u_1} {A : Type u_4} [Semiring R] [AddCommMonoid A] [Module R A] :
          Equations

            The tautological action by AddMonoid.End α on α.

            This generalizes AddMonoid.End.applyDistribMulAction.

            Equations

              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) :
              A →+ A

              Scalar multiplication on the left as an additive monoid homomorphism.

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

              Equations
                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] :
                  R →+ M →+ M

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

                  Equations
                    Instances For