Module docstring
{"# Conversion between Finsupp and homogeneous DFinsupp
This module provides conversions between Finsupp and DFinsupp.
It is in its own file since neither Finsupp or DFinsupp depend on each other.
Main definitions
- \"identity\" maps between 
FinsuppandDFinsupp:Finsupp.toDFinsupp : (ι →₀ M) → (Π₀ i : ι, M)DFinsupp.toFinsupp : (Π₀ i : ι, M) → (ι →₀ M)- Bundled equiv versions of the above:
finsuppEquivDFinsupp : (ι →₀ M) ≃ (Π₀ i : ι, M)finsuppAddEquivDFinsupp : (ι →₀ M) ≃+ (Π₀ i : ι, M)finsuppLequivDFinsupp R : (ι →₀ M) ≃ₗ[R] (Π₀ i : ι, M)
 
 - stronger versions of 
Finsupp.split:sigmaFinsuppEquivDFinsupp : ((Σ i, η i) →₀ N) ≃ (Π₀ i, (η i →₀ N))sigmaFinsuppAddEquivDFinsupp : ((Σ i, η i) →₀ N) ≃+ (Π₀ i, (η i →₀ N))sigmaFinsuppLequivDFinsupp : ((Σ i, η i) →₀ N) ≃ₗ[R] (Π₀ i, (η i →₀ N))
 
Theorems
The defining features of these operations is that they preserve the function and support:
Finsupp.toDFinsupp_coeFinsupp.toDFinsupp_supportDFinsupp.toFinsupp_coeDFinsupp.toFinsupp_support
and therefore map Finsupp.single to DFinsupp.single and vice versa:
Finsupp.toDFinsupp_singleDFinsupp.toFinsupp_single
as well as preserving arithmetic operations.
For the bundled equivalences, we provide lemmas that they reduce to Finsupp.toDFinsupp:
finsupp_add_equiv_dfinsupp_applyfinsupp_lequiv_dfinsupp_applyfinsupp_add_equiv_dfinsupp_symm_applyfinsupp_lequiv_dfinsupp_symm_apply
Implementation notes
We provide DFinsupp.toFinsupp and finsuppEquivDFinsupp computably by adding
[DecidableEq ι] and [Π m : M, Decidable (m ≠ 0)] arguments. To aid with definitional unfolding,
these arguments are also present on the noncomputable equivs.
","### Basic definitions and lemmas ","### Lemmas about arithmetic operations ","### Bundled Equivs ","### Stronger versions of Finsupp.split "}