Conversion between AddMonoidAlgebra and homogeneous DirectSum #
This module provides conversions between AddMonoidAlgebra and DirectSum.
The latter is essentially a dependent version of the former.
Note that since DirectSum.instMul combines indices additively, there is no equivalent to
MonoidAlgebra.
Main definitions #
AddMonoidAlgebra.toDirectSum : AddMonoidAlgebra M ι → (⨁ i : ι, M)DirectSum.toAddMonoidAlgebra : (⨁ i : ι, M) → AddMonoidAlgebra M ι- Bundled equiv versions of the above:
addMonoidAlgebraEquivDirectSum : AddMonoidAlgebra M ι ≃ (⨁ i : ι, M)addMonoidAlgebraAddEquivDirectSum : AddMonoidAlgebra M ι ≃+ (⨁ i : ι, M)addMonoidAlgebraRingEquivDirectSum R : AddMonoidAlgebra M ι ≃+* (⨁ i : ι, M)addMonoidAlgebraAlgEquivDirectSum R : AddMonoidAlgebra A ι ≃ₐ[R] (⨁ i : ι, A)
Theorems #
The defining feature of these operations is that they map Finsupp.single to
DirectSum.of and vice versa:
as well as preserving arithmetic operations.
For the bundled equivalences, we provide lemmas that they reduce to
AddMonoidAlgebra.toDirectSum:
addMonoidAlgebraAddEquivDirectSum_applyadd_monoid_algebra_lequiv_direct_sum_applyaddMonoidAlgebraAddEquivDirectSum_symm_applyadd_monoid_algebra_lequiv_direct_sum_symm_apply
Implementation notes #
This file largely just copies the API of Mathlib/Data/Finsupp/ToDFinsupp.lean, and reuses the
proofs. Recall that AddMonoidAlgebra M ι is defeq to ι →₀ M and ⨁ i : ι, M is defeq to
Π₀ i : ι, M.
Note that there is no AddMonoidAlgebra equivalent to Finsupp.single, so many statements
still involve this definition.
Basic definitions and lemmas #
Interpret an AddMonoidAlgebra as a homogeneous DirectSum.
Equations
Instances For
Interpret a homogeneous DirectSum as an AddMonoidAlgebra.
Equations
Instances For
Lemmas about arithmetic operations #
AddMonoidAlgebra.toDirectSum and DirectSum.toAddMonoidAlgebra together form an
equiv.
Equations
- addMonoidAlgebraEquivDirectSum = { toFun := AddMonoidAlgebra.toDirectSum, invFun := DirectSum.toAddMonoidAlgebra, left_inv := ⋯, right_inv := ⋯ }
Instances For
The additive version of AddMonoidAlgebra.addMonoidAlgebraEquivDirectSum.
Equations
- addMonoidAlgebraAddEquivDirectSum = { toFun := AddMonoidAlgebra.toDirectSum, invFun := DirectSum.toAddMonoidAlgebra, left_inv := ⋯, right_inv := ⋯, map_add' := ⋯ }
Instances For
The ring version of AddMonoidAlgebra.addMonoidAlgebraEquivDirectSum.
Equations
- addMonoidAlgebraRingEquivDirectSum = { toFun := AddMonoidAlgebra.toDirectSum, invFun := DirectSum.toAddMonoidAlgebra, left_inv := ⋯, right_inv := ⋯, map_mul' := ⋯, map_add' := ⋯ }
Instances For
The algebra version of AddMonoidAlgebra.addMonoidAlgebraEquivDirectSum.
Equations
- One or more equations did not get rendered due to their size.