Bundled Hom instances for module and multiplicative actions #
This file defines instances for Module
, MulAction
and related structures on bundled Hom
types.
These are analogous to the instances in Algebra.Module.Pi
, but for bundled instead of unbundled
functions.
We also define bundled versions of (c • ·)
and (· • ·)
as AddMonoidHom.smulLeft
and
AddMonoidHom.smul
, respectively.
instance
AddMonoidHom.distribSMul
{A : Type u_3}
{B : Type u_4}
{M : Type u_5}
[AddZeroClass A]
[AddCommMonoid B]
[DistribSMul M B]
:
DistribSMul M (A →+ B)
instance
AddMonoidHom.distribMulAction
{R : Type u_1}
{A : Type u_3}
{B : Type u_4}
[Monoid R]
[AddMonoid A]
[AddCommMonoid B]
[DistribMulAction R B]
:
DistribMulAction R (A →+ B)
@[simp]
theorem
AddMonoidHom.coe_smul
{R : Type u_1}
{A : Type u_3}
{B : Type u_4}
[Monoid R]
[AddMonoid A]
[AddCommMonoid B]
[DistribMulAction R B]
(r : R)
(f : A →+ B)
:
theorem
AddMonoidHom.smul_apply
{R : Type u_1}
{A : Type u_3}
{B : Type u_4}
[Monoid R]
[AddMonoid A]
[AddCommMonoid B]
[DistribMulAction R B]
(r : R)
(f : A →+ B)
(x : A)
:
instance
AddMonoidHom.smulCommClass
{R : Type u_1}
{S : Type u_2}
{A : Type u_3}
{B : Type u_4}
[Monoid R]
[Monoid S]
[AddMonoid A]
[AddCommMonoid B]
[DistribMulAction R B]
[DistribMulAction S B]
[SMulCommClass R S B]
:
SMulCommClass R S (A →+ B)
instance
AddMonoidHom.isScalarTower
{R : Type u_1}
{S : Type u_2}
{A : Type u_3}
{B : Type u_4}
[Monoid R]
[Monoid S]
[AddMonoid A]
[AddCommMonoid B]
[DistribMulAction R B]
[DistribMulAction S B]
[SMul R S]
[IsScalarTower R S B]
:
IsScalarTower R S (A →+ B)
instance
AddMonoidHom.isCentralScalar
{R : Type u_1}
{A : Type u_3}
{B : Type u_4}
[Monoid R]
[AddMonoid A]
[AddCommMonoid B]
[DistribMulAction R B]
[DistribMulAction Rᵐᵒᵖ B]
[IsCentralScalar R B]
:
IsCentralScalar R (A →+ B)
@[simp]
theorem
AddMonoidHom.smulLeft_apply
{A : Type u_3}
{M : Type u_5}
[Monoid M]
[AddMonoid A]
[DistribMulAction M A]
(c : M)
:
↑(AddMonoidHom.smulLeft c) = fun x => c • x
def
AddMonoidHom.smulLeft
{A : Type u_3}
{M : Type u_5}
[Monoid M]
[AddMonoid A]
[DistribMulAction M A]
(c : M)
:
A →+ A
Scalar multiplication on the left as an additive monoid homomorphism.
Equations
Instances For
Scalar multiplication as a biadditive monoid homomorphism. We need M
to be commutative
to have addition on M →+ M
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
AddMonoidHom.coe_smul'
{R : Type u_1}
{M : Type u_5}
[Semiring R]
[AddCommMonoid M]
[Module R M]
:
↑AddMonoidHom.smul = AddMonoidHom.smulLeft
instance
AddMonoidHom.module
{R : Type u_1}
{A : Type u_3}
{B : Type u_4}
[Semiring R]
[AddMonoid A]
[AddCommMonoid B]
[Module R B]
: