Properties of the module Π₀ i, M i #
Given an indexed collection of R-modules M i, the R-module structure on Π₀ i, M i
is defined in Mathlib/Data/DFinsupp/Module.lean.
In this file we define LinearMap versions of various maps:
DFinsupp.lsingle a : M →ₗ[R] Π₀ i, M i:DFinsupp.single aas a linear map;DFinsupp.lmk s : (Π i : (↑s : Set ι), M i) →ₗ[R] Π₀ i, M i:DFinsupp.mkas a linear map;DFinsupp.lapply i : (Π₀ i, M i) →ₗ[R] M: the mapfun f ↦ f ias a linear map;DFinsupp.lsum:DFinsupp.sumorDFinsupp.liftAddHomas aLinearMap.
Implementation notes #
This file should try to mirror LinearAlgebra.Finsupp where possible. The API of Finsupp is
much more developed, but many lemmas in that file should be eligible to copy over.
Tags #
function with finite support, module, linear algebra
DFinsupp.mk as a LinearMap.
Equations
Instances For
DFinsupp.single as a LinearMap
Equations
Instances For
Two R-linear maps from Π₀ i, M i which agree on each single i x agree everywhere.
Two R-linear maps from Π₀ i, M i which agree on each single i x agree everywhere.
See note [partially-applied ext lemmas].
After applying this lemma, if M = R then it suffices to verify
φ (single a 1) = ψ (single a 1).
Equations
DFinsupp.equivCongrLeft as a linear equivalence.
This is the DFinsupp version of Finsupp.domLCongr.
Equations
Instances For
DFinsupp.sigmaCurryEquiv as a linear equivalence.
This is the DFinsupp version of Finsupp.finsuppProdLEquiv.
Equations
Instances For
DFinsupp.equivFunOnFintype as a linear equivalence.
This is the DFinsupp version of Finsupp.linearEquivFunOnFintype.
Equations
Instances For
The DFinsupp version of Finsupp.lsum.
See note [bundled maps over different rings] for why separate R and S semirings are used.
Equations
Instances For
While simp can prove this, it is often convenient to avoid unfolding lsum into sumAddHom
with DFinsupp.lsum_apply_apply.
Bundled versions of DFinsupp.mapRange #
The names should match the equivalent bundled Finsupp.mapRange definitions.
DFinsupp.mapRange as a LinearMap.
Equations
Instances For
DFinsupp.mapRange.linearMap as a LinearEquiv.
Equations
Instances For
Given a family of linear maps f i : M i →ₗ[R] N, we can form a linear map
(Π₀ i, M i) →ₗ[R] N which sends x : Π₀ i, M i to the sum over i of f i applied to x i.
This is the map coming from the universal property of Π₀ i, M i as the coproduct of the M i.
See also LinearMap.coprod for the binary product version.
Equations
Instances For
Alias of Submodule.dfinsuppSum_mem.
Alias of Submodule.dfinsuppSumAddHom_mem.
The supremum of a family of submodules is equal to the range of DFinsupp.lsum; that is
every element in the iSup can be produced from taking a finite number of non-zero elements
of p i, coercing them to N, and summing them.
The bounded supremum of a family of commutative additive submonoids is equal to the range of
DFinsupp.sumAddHom composed with DFinsupp.filter_add_monoid_hom; that is, every element in the
bounded iSup can be produced from taking a finite number of non-zero elements from the S i that
satisfy p i, coercing them to γ, and summing them.
A characterisation of the span of a family of submodules.
See also Submodule.mem_iSup_iff_exists_finsupp.
A variant of Submodule.mem_iSup_iff_exists_dfinsupp with the RHS fully unfolded.
See also Submodule.mem_iSup_iff_exists_finsupp.
Independence of a family of submodules can be expressed as a quantifier over DFinsupps.
This is an intermediate result used to prove
iSupIndep_of_dfinsupp_lsum_injective and
iSupIndep.dfinsupp_lsum_injective.
Alias of iSupIndep_of_dfinsuppSumAddHom_injective.
Combining DFinsupp.lsum with LinearMap.toSpanSingleton is the same as
Finsupp.linearCombination
If DFinsupp.sumAddHom applied with AddSubmonoid.subtype is injective then the additive
subgroups are independent.
Alias of iSupIndep_of_dfinsuppSumAddHom_injective'.
If DFinsupp.sumAddHom applied with AddSubmonoid.subtype is injective then the additive
subgroups are independent.
The canonical map out of a direct sum of a family of submodules is injective when the submodules
are iSupIndep.
Note that this is not generally true for [Semiring R], for instance when A is the
ℕ-submodules of the positive and negative integers.
See Counterexamples/DirectSumIsInternal.lean for a proof of this fact.
The canonical map out of a direct sum of a family of additive subgroups is injective when the
additive subgroups are iSupIndep.
Alias of iSupIndep.dfinsuppSumAddHom_injective.
The canonical map out of a direct sum of a family of additive subgroups is injective when the
additive subgroups are iSupIndep.
A family of submodules over an additive group are independent if and only iff DFinsupp.lsum
applied with Submodule.subtype is injective.
Note that this is not generally true for [Semiring R]; see
iSupIndep.dfinsupp_lsum_injective for details.
A family of additive subgroups over an additive group are independent if and only if
DFinsupp.sumAddHom applied with AddSubgroup.subtype is injective.
Alias of iSupIndep_iff_dfinsuppSumAddHom_injective.
A family of additive subgroups over an additive group are independent if and only if
DFinsupp.sumAddHom applied with AddSubgroup.subtype is injective.
If (pᵢ)ᵢ is a family of independent submodules that generates the whole module N, then
N is isomorphic to the direct sum of the submodules.
Equations
Instances For
If a family of submodules is independent, then a choice of nonzero vector from each submodule forms a linearly independent family.
See also iSupIndep.linearIndependent'.
Alias of LinearMap.coe_dfinsuppSum.
Alias of LinearMap.dfinsuppSum_apply.
Alias of LinearMap.map_dfinsuppSumAddHom.
Alias of LinearEquiv.map_dfinsuppSumAddHom.