Documentation

Mathlib.Data.Finsupp.Sigma

Embedding a finitely supported function into a sigma type summand #

This file provides Finsupp.embSigma, which embeds a finitely supported function ι k →₀ M into the corresponding summand of (Σ k, ι k) →₀ M.

Main declarations #

Implementation notes #

This is a special case of Finsupp.embDomain using Function.Embedding.sigmaMk.

def Finsupp.embSigma {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] {k : κ} (f : ι k →₀ M) :
(k : κ) × ι k →₀ M

Embed a finitely supported function f : ι k →₀ M into the k-th summand of the sigma type (Σ k, ι k) →₀ M.

This is Finsupp.embDomain specialized to Function.Embedding.sigmaMk k.

Equations
Instances For
    theorem Finsupp.embSigma_apply {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] [DecidableEq κ] {k : κ} (f : ι k →₀ M) (i : (k : κ) × ι k) :
    f.embSigma i = if h : i.fst = k then f (h i.snd) else 0
    @[simp]
    theorem Finsupp.embSigma_apply_self {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] {k : κ} (f : ι k →₀ M) (i : ι k) :
    f.embSigma k, i = f i
    theorem Finsupp.embSigma_apply_of_ne {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] {k k' : κ} (f : ι k →₀ M) (hk : k' k) (i : ι k') :
    f.embSigma k', i = 0

    Values of embSigma f at indices outside the k-th summand are zero.

    @[simp]
    theorem Finsupp.support_embSigma {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] {k : κ} (f : ι k →₀ M) :
    @[simp]
    theorem Finsupp.embSigma_zero {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] {k : κ} :
    @[simp]
    theorem Finsupp.embSigma_eq_zero {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] {k : κ} {f : ι k →₀ M} :
    f.embSigma = 0 f = 0
    theorem Finsupp.embSigma_injective {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] {k : κ} :
    @[simp]
    theorem Finsupp.embSigma_inj {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] {k : κ} {f g : ι k →₀ M} :
    theorem Finsupp.embSigma_add {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [AddMonoid M] {k : κ} (f g : ι k →₀ M) :
    @[simp]
    theorem Finsupp.embSigma_single {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] {k : κ} (i : ι k) (m : M) :
    @[simp]
    theorem Finsupp.split_embSigma_self {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] {k : κ} (f : ι k →₀ M) :

    embSigma is a left inverse to split at the same index.

    theorem Finsupp.split_embSigma_of_ne {κ : Type u_1} {ι : κType u_2} {M : Type u_3} [Zero M] {k k' : κ} (f : ι k →₀ M) (hk : k' k) :

    split returns zero at indices different from where embSigma embeds.