Finitely supported functions on exactly one point #
This file contains definitions and basic results on defining/updating/removing Finsupps
using one point of the domain.
Main declarations #
Finsupp.single: TheFinsuppwhich is nonzero in exactly one point.Finsupp.update: Changes one value of aFinsupp.Finsupp.erase: Replaces one value of aFinsuppby0.
Implementation notes #
This file is a noncomputable theory and uses classical logic throughout.
theorem
Finsupp.single_apply_left
{α : Type u_1}
{β : Type u_2}
{M : Type u_5}
[Zero M]
{f : α → β}
(hf : Function.Injective f)
(x z : α)
(y : M)
:
theorem
Finsupp.single_eq_update
{α : Type u_1}
{M : Type u_5}
[Zero M]
[DecidableEq α]
(a : α)
(b : M)
:
theorem
Finsupp.single_eq_pi_single
{α : Type u_1}
{M : Type u_5}
[Zero M]
[DecidableEq α]
(a : α)
(b : M)
:
Finsupp.single a b is injective in b. For the statement that it is injective in a, see
Finsupp.single_left_injective
theorem
Finsupp.single_left_injective
{α : Type u_1}
{M : Type u_5}
[Zero M]
{b : M}
(h : b ≠ 0)
:
Function.Injective fun (a : α) => single a b
Finsupp.single a b is injective in a. For the statement that it is injective in b, see
Finsupp.single_injective
theorem
Finsupp.apply_surjective
{α : Type u_1}
{M : Type u_5}
[Zero M]
(a : α)
:
Function.Surjective fun (f : α →₀ M) => f a
instance
Finsupp.instNontrivial
{α : Type u_1}
{M : Type u_5}
[Zero M]
[Nonempty α]
[Nontrivial M]
:
Nontrivial (α →₀ M)
@[simp]
theorem
Finsupp.equivFunOnFinite_single
{α : Type u_1}
{M : Type u_5}
[Zero M]
[DecidableEq α]
[Finite α]
(x : α)
(m : M)
:
@[simp]
theorem
Finsupp.equivFunOnFinite_symm_single
{α : Type u_1}
{M : Type u_5}
[Zero M]
[DecidableEq α]
[Finite α]
(x : α)
(m : M)
:
Replace the value of a α →₀ M at a given point a : α by a given value b : M.
If b = 0, this amounts to removing a from the Finsupp.support.
Otherwise, if a was not in the Finsupp.support, it is added to it.
This is the finitely-supported version of Function.update.
Equations
Instances For
@[simp]
theorem
Finsupp.coe_update
{α : Type u_1}
{M : Type u_5}
[Zero M]
(f : α →₀ M)
(a : α)
(b : M)
[DecidableEq α]
:
@[deprecated Finsupp.erase_of_notMem_support (since := "2025-05-23")]
theorem
Finsupp.erase_of_not_mem_support
{α : Type u_1}
{M : Type u_5}
[Zero M]
{f : α →₀ M}
{a : α}
(haf : a ∉ f.support)
:
Alias of Finsupp.erase_of_notMem_support.