Finitely supported functions on exactly one point #
This file contains definitions and basic results on defining/updating/removing Finsupp
s
using one point of the domain.
Main declarations #
Finsupp.single
: TheFinsupp
which is nonzero in exactly one point.Finsupp.update
: Changes one value of aFinsupp
.Finsupp.erase
: Replaces one value of aFinsupp
by0
.
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
.