Additive monoid structure on ι →₀ M
#
Equations
- Finsupp.instAdd = { add := Finsupp.zipWith (fun (x1 x2 : M) => x1 + x2) ⋯ }
Equations
- Finsupp.instAddZeroClass = { toZero := Finsupp.instZero, toAdd := Finsupp.instAdd, zero_add := ⋯, add_zero := ⋯ }
When ι is finite and M is an AddMonoid, then Finsupp.equivFunOnFinite gives an AddEquiv
Equations
- Finsupp.addEquivFunOnFinite = { toEquiv := Finsupp.equivFunOnFinite, map_add' := ⋯ }
Instances For
AddEquiv between (ι →₀ M) and M, when ι has a unique element
Equations
- AddEquiv.finsuppUnique = { toEquiv := Equiv.finsuppUnique, map_add' := ⋯ }
Instances For
Evaluation of a function f : ι →₀ M
at a point as an additive monoid homomorphism.
See Finsupp.lapply
in Mathlib/LinearAlgebra/Finsupp/Defs.lean
for the stronger version as a
linear map.
Equations
- Finsupp.applyAddHom a = { toFun := fun (g : ι →₀ M) => g a, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Coercion from a Finsupp
to a function type is an AddMonoidHom
.
Equations
- Finsupp.coeFnAddHom = { toFun := DFunLike.coe, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Bundle Finsupp.embDomain f
as an additive map from ι →₀ M
to F →₀ M
.
Equations
- Finsupp.embDomain.addMonoidHom f = { toFun := fun (v : ι →₀ M) => Finsupp.embDomain f v, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Finsupp.single
as an AddMonoidHom
.
See Finsupp.lsingle
in Mathlib/LinearAlgebra/Finsupp/Defs.lean
for the stronger version as a
linear map.
Equations
- Finsupp.singleAddHom a = { toFun := Finsupp.single a, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Finsupp.erase
as an AddMonoidHom
.
Equations
- Finsupp.eraseAddHom a = { toFun := Finsupp.erase a, map_zero' := ⋯, map_add' := ⋯ }
Instances For
A finitely supported function can be built by adding up single a b
for increasing a
.
The lemma induction_on_max₂
swaps the argument order in the sum.
A finitely supported function can be built by adding up single a b
for decreasing a
.
The lemma induction_on_min₂
swaps the argument order in the sum.
A finitely supported function can be built by adding up single a b
for increasing a
.
The lemma induction_on_max
swaps the argument order in the sum.
A finitely supported function can be built by adding up single a b
for decreasing a
.
The lemma induction_on_min
swaps the argument order in the sum.
Note the general SMul
instance for Finsupp
doesn't apply as ℕ
is not distributive
unless F i
's addition is commutative.
Equations
- Finsupp.instNatSMul = { smul := fun (n : ℕ) (v : ι →₀ M) => Finsupp.mapRange (fun (x : M) => n • x) ⋯ v }
Equations
- Finsupp.instAddCommMonoid = { toAddMonoid := Finsupp.instAddMonoid, add_comm := ⋯ }
Equations
- Finsupp.instNeg = { neg := Finsupp.mapRange Neg.neg ⋯ }
Equations
- Finsupp.instSub = { sub := Finsupp.zipWith Sub.sub ⋯ }
Note the general SMul
instance for Finsupp
doesn't apply as ℤ
is not distributive
unless F i
's addition is commutative.
Equations
- Finsupp.instIntSMul = { smul := fun (n : ℤ) (v : ι →₀ G) => Finsupp.mapRange (fun (x : G) => n • x) ⋯ v }
Equations
- Finsupp.instAddCommGroup = { toAddGroup := Finsupp.instAddGroup, add_comm := ⋯ }