Direct sum #
This file defines the direct sum of abelian groups, indexed by a discrete type.
Notation #
⨁ i, β i is the n-ary direct sum direct_sum.
This notation is in the direct_sum locale, accessible after open_locale direct_sum.
References #
direct_sum β is the direct sum of a family of additive commutative monoids β i.
Note: open_locale direct_sum will enable the notation ⨁ i, β i for direct_sum β.
Equations
- direct_sum ι β = Π₀ (i : ι), β i
Equations
Equations
mk β s x is the element of ⨁ i, β i that is zero outside s
and has coefficient x i for i in s.
Equations
- direct_sum.mk β s = {to_fun := dfinsupp.mk s, map_zero' := _, map_add' := _}
of i is the natural inclusion map from β i to ⨁ i, β i.
Equations
- direct_sum.of β i = dfinsupp.single_add_hom β i
If two additive homomorphisms from ⨁ i, β i are equal on each of β i y,
then they are equal.
If two additive homomorphisms from ⨁ i, β i are equal on each of β i y,
then they are equal.
to_add_monoid φ is the natural homomorphism from ⨁ i, β i to γ
induced by a family φ of homomorphisms β i → γ.
Equations
from_add_monoid φ is the natural homomorphism from γ to ⨁ i, β i
induced by a family φ of homomorphisms γ → β i.
Note that this is not an isomorphism. Not every homomorphism γ →+ ⨁ i, β i arises in this way.
Equations
- direct_sum.from_add_monoid = direct_sum.to_add_monoid (λ (i : ι), ⇑add_monoid_hom.comp_hom (direct_sum.of β i))
set_to_set β S T h is the natural homomorphism ⨁ (i : S), β i → ⨁ (i : T), β i,
where h : S ⊆ T.
Equations
- direct_sum.set_to_set β S T H = direct_sum.to_add_monoid (λ (i : ↥S), direct_sum.of (λ (i : subtype T), β ↑i) ⟨↑i, _⟩)
A direct sum over an empty type is trivial.
Equations
The natural equivalence between ⨁ _ : ι, M and M when unique ι.
Equations
- direct_sum.id M ι = {to_fun := ⇑(direct_sum.to_add_monoid (λ (_x : ι), add_monoid_hom.id M)), inv_fun := ⇑(direct_sum.of (λ (_x : ι), M) default), left_inv := _, right_inv := _, map_add' := _}
Reindexing terms of a direct sum.
Equations
- direct_sum.equiv_congr_left h = {to_fun := (dfinsupp.equiv_congr_left h).to_fun, inv_fun := (dfinsupp.equiv_congr_left h).inv_fun, left_inv := _, right_inv := _, map_add' := _}
Isomorphism obtained by separating the term of index none of a direct sum over option ι.
Equations
The natural map between ⨁ (i : Σ i, α i), δ i.1 i.2 and ⨁ i (j : α i), δ i j.
Equations
- direct_sum.sigma_curry = {to_fun := dfinsupp.sigma_curry (λ (i : ι) (j : α i), add_zero_class.to_has_zero (δ i j)), map_zero' := _, map_add' := _}
The natural map between ⨁ i (j : α i), δ i j and Π₀ (i : Σ i, α i), δ i.1 i.2, inverse of
curry.
Equations
- direct_sum.sigma_uncurry = {to_fun := dfinsupp.sigma_uncurry (λ (i : ι) (i_1 : α i), add_zero_class.to_has_zero ((λ (j : α i), δ i j) i_1)), map_zero' := _, map_add' := _}
The natural map between ⨁ (i : Σ i, α i), δ i.1 i.2 and ⨁ i (j : α i), δ i j.
Equations
- direct_sum.sigma_curry_equiv = {to_fun := direct_sum.sigma_curry.to_fun, inv_fun := dfinsupp.sigma_curry_equiv.inv_fun, left_inv := _, right_inv := _, map_add' := _}
The canonical embedding from ⨁ i, A i to M where A is a collection of add_submonoid M
indexed by ι
Equations
- direct_sum.add_submonoid_coe A = direct_sum.to_add_monoid (λ (i : ι), (A i).subtype)
The direct_sum formed by a collection of add_submonoids of M is said to be internal if the
canonical map (⨁ i, A i) →+ M is bijective.
See direct_sum.add_subgroup_is_internal for the same statement about add_subgroups.
The canonical embedding from ⨁ i, A i to M where A is a collection of add_subgroup M
indexed by ι
Equations
- direct_sum.add_subgroup_coe A = direct_sum.to_add_monoid (λ (i : ι), (A i).subtype)
The direct_sum formed by a collection of add_subgroups of M is said to be internal if the
canonical map (⨁ i, A i) →+ M is bijective.
See direct_sum.submodule_is_internal for the same statement about submoduless.