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.OptionMathlib.Algebra.Group.Action.PiMathlib.Algebra.Group.Action.SigmaMathlib.Algebra.Group.Action.Sum
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.
Scalar multiplication as a homomorphism #
Scalar multiplication as a multiplicative homomorphism.
Equations
- smulMulHom = { toFun := fun (a : α × β) => a.1 • a.2, map_mul' := ⋯ }
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
- MulAction.prodOfSMulCommClass M N α = MulAction.mk ⋯ ⋯
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.
Equations
- AddAction.prodOfVAddCommClass M N α = AddAction.mk ⋯ ⋯