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 := ⋯ }