Declarations about scalar multiplication on Finsupp #
Implementation notes #
This file is a noncomputable theory and uses classical logic throughout.
Scalar multiplication acting on the domain.
This is not an instance as it would conflict with the action on the range.
See the instance_diamonds test for examples of such conflicts.
Equations
- Finsupp.comapSMul = { smul := fun (g : G) => Finsupp.mapDomain fun (x : α) => g • x }
Instances For
Finsupp.comapSMul is multiplicative
Equations
- Finsupp.comapMulAction = { toSMul := Finsupp.comapSMul, one_smul := ⋯, mul_smul := ⋯ }
Instances For
Finsupp.comapSMul is distributive
Equations
- Finsupp.comapDistribMulAction = { toMulAction := Finsupp.comapMulAction, smul_zero := ⋯, smul_add := ⋯ }
Instances For
When G is a group, Finsupp.comapSMul acts by precomposition with the action of g⁻¹.
Throughout this section, some Monoid and Semiring arguments are specified with {} instead of
[]. See note [implicit instance arguments].
Equations
- Finsupp.distribMulAction α M = { toSMul := (Finsupp.distribSMul α M).toSMul, one_smul := ⋯, mul_smul := ⋯, smul_zero := ⋯, smul_add := ⋯ }
Equations
- Finsupp.module α M = { toDistribMulAction := Finsupp.distribMulAction α M, add_smul := ⋯, zero_smul := ⋯ }
A version of Finsupp.comapDomain_smul that's easier to use.
A version of Finsupp.sum_smul_index' for bundled additive maps.
Finsupp.single as a DistribMulActionSemiHom.
See also Finsupp.lsingle for the version as a linear map.
Equations
- Finsupp.DistribMulActionHom.single a = { toFun := (↑(Finsupp.singleAddHom a)).toFun, map_smul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
See note [partially-applied ext lemmas].