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_submonoid
s 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_subgroup
s.
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_subgroup
s 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 submodules
s.