Prod instances for additive and multiplicative actions #
This file defines instances for binary product of additive and multiplicative actions and provides
scalar multiplication as a homomorphism from α × β to β.
Main declarations #
smulMulHom/smulMonoidHom: Scalar multiplication bundled as a multiplicative/monoid homomorphism.
See also #
Mathlib/Algebra/Group/Action/Option.leanMathlib/Algebra/Group/Action/Pi.leanMathlib/Algebra/Group/Action/Sigma.leanMathlib/Algebra/Group/Action/Sum.lean
Porting notes #
The to_additive attribute can be used to generate both the smul and vadd lemmas
from the corresponding pow lemmas, as explained on zulip here:
https://leanprover.zulipchat.com/#narrow/near/316087838
This was not done as part of the port in order to stay as close as possible to the mathlib3 code.
Equations
- Prod.mulAction = { toSMul := Prod.instSMul, one_smul := ⋯, mul_smul := ⋯ }
Equations
- Prod.addAction = { toVAdd := Prod.instVAdd, zero_vadd := ⋯, add_vadd := ⋯ }
Scalar multiplication as a homomorphism #
Scalar multiplication as a multiplicative homomorphism.
Instances For
Scalar multiplication as a monoid homomorphism.
Equations
- smulMonoidHom = { toFun := smulMulHom.toFun, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Construct a MulAction by a product monoid from MulActions by the factors.
This is not an instance to avoid diamonds for example when α := M × N.
Equations
Instances For
Construct an AddAction by a product monoid from AddActions by the factors.
This is not an instance to avoid diamonds for example when α := M × N.