Module docstring
{"# Prod instances for module and multiplicative actions
This file defines instances for binary product of modules "}
{"# Prod instances for module and multiplicative actions
This file defines instances for binary product of modules "}
Prod.smulWithZero
instance
[Zero R] [Zero M] [Zero N] [SMulWithZero R M] [SMulWithZero R N] : SMulWithZero R (M × N)
instance smulWithZero [Zero R] [Zero M] [Zero N] [SMulWithZero R M] [SMulWithZero R N] :
SMulWithZero R (M × N) where
smul_zero _ := by ext <;> exact smul_zero ..
zero_smul _ := by ext <;> exact zero_smul ..
Prod.mulActionWithZero
instance
[MonoidWithZero R] [Zero M] [Zero N] [MulActionWithZero R M] [MulActionWithZero R N] : MulActionWithZero R (M × N)
instance mulActionWithZero [MonoidWithZero R] [Zero M] [Zero N] [MulActionWithZero R M]
[MulActionWithZero R N] : MulActionWithZero R (M × N) :=
{ Prod.mulAction, Prod.smulWithZero with }
Prod.instModule
instance
[Semiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] : Module R (M × N)
instance instModule [Semiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] :
Module R (M × N) where
add_smul _ _ _ := by ext <;> exact add_smul ..
zero_smul _ := by ext <;> exact zero_smul ..