Internally graded rings and algebras #
This module provides DirectSum.GSemiring and DirectSum.GCommSemiring instances for a collection
of subobjects A when a SetLike.GradedMonoid instance is available:
With these instances in place, it provides the bundled canonical maps out of a direct sum of subobjects into their carrier type:
DirectSum.coeRingHom(aRingHomversion ofDirectSum.coeAddMonoidHom)DirectSum.coeAlgHom(anAlgHomversion ofDirectSum.coeLinearMap)
Strictly the definitions in this file are not sufficient to fully define an "internal" direct sum;
to represent this case, (h : DirectSum.IsInternal A) [SetLike.GradedMonoid A] is
needed. In the future there will likely be a data-carrying, constructive, typeclass version of
DirectSum.IsInternal for providing an explicit decomposition function.
When iSupIndep (Set.range A) (a weaker condition than
DirectSum.IsInternal A), these provide a grading of ⨆ i, A i, and the
mapping ⨁ i, A i →+ ⨆ i, A i can be obtained as
DirectSum.toAddMonoid (fun i ↦ AddSubmonoid.inclusion <| le_iSup A i).
This file also provides some extra structure on A 0, namely:
SetLike.GradeZero.subsemiring, which leads toSetLike.GradeZero.subring, which leads toSetLike.GradeZero.subalgebra, which leads to
Tags #
internally graded ring
From AddSubmonoids and AddSubgroups #
Build a DirectSum.GNonUnitalNonAssocSemiring instance for a collection of additive
submonoids.
Equations
- SetLike.gnonUnitalNonAssocSemiring A = { toGMul := SetLike.gMul A, mul_zero := ⋯, zero_mul := ⋯, mul_add := ⋯, add_mul := ⋯ }
Build a DirectSum.GSemiring instance for a collection of additive submonoids.
Equations
- One or more equations did not get rendered due to their size.
Build a DirectSum.GCommSemiring instance for a collection of additive submonoids.
Equations
- One or more equations did not get rendered due to their size.
Build a DirectSum.GRing instance for a collection of additive subgroups.
Equations
- SetLike.gring A = { toGSemiring := SetLike.gsemiring A, intCast := fun (z : ℤ) => ⟨↑z, ⋯⟩, intCast_ofNat := ⋯, intCast_negSucc_ofNat := ⋯ }
Build a DirectSum.GCommRing instance for a collection of additive submonoids.
Equations
- One or more equations did not get rendered due to their size.
The canonical ring isomorphism between ⨁ i, A i and R
Equations
- DirectSum.coeRingHom A = DirectSum.toSemiring (fun (i : ι) => AddSubmonoidClass.subtype (A i)) ⋯ ⋯
Instances For
The canonical ring isomorphism between ⨁ i, A i and R
Alias of DirectSum.coe_mul_apply_eq_dfinsuppSum.
Build a DirectSum.GAlgebra instance for a collection of Submodules.
Equations
- Submodule.galgebra A = { toFun := (LinearMap.codRestrict (A 0) (Algebra.linearMap S R) ⋯).toAddMonoidHom, map_one := ⋯, map_mul := ⋯, commutes := ⋯, smul_def := ⋯ }
A direct sum of powers of a submodule of an algebra has a multiplicative structure.
The canonical algebra isomorphism between ⨁ i, A i and R.
Equations
- DirectSum.coeAlgHom A = DirectSum.toAlgebra S (fun (i : ι) => ↥(A i)) (fun (i : ι) => (A i).subtype) ⋯ ⋯
Instances For
The supremum of submodules that form a graded monoid is a subalgebra, and equal to the range of
DirectSum.coeAlgHom.
Facts about grade zero #
The subsemiring A 0 of R.
Equations
- SetLike.GradeZero.subsemiring A = { carrier := ↑(A 0), mul_mem' := ⋯, one_mem' := ⋯, add_mem' := ⋯, zero_mem' := ⋯ }
Instances For
The semiring A 0 inherited from R in the presence of SetLike.GradedMonoid A.
Equations
The commutative semiring A 0 inherited from R in the presence of
SetLike.GradedMonoid A.
The subring A 0 of R.
Equations
- SetLike.GradeZero.subring A = { carrier := ↑(A 0), mul_mem' := ⋯, one_mem' := ⋯, add_mem' := ⋯, zero_mem' := ⋯, neg_mem' := ⋯ }
Instances For
The ring A 0 inherited from R in the presence of SetLike.GradedMonoid A.
Equations
The commutative ring A 0 inherited from R in the presence of SetLike.GradedMonoid A.
Equations
The subalgebra A 0 of R.
Equations
- SetLike.GradeZero.subalgebra A = { carrier := ↑(A 0), mul_mem' := ⋯, one_mem' := ⋯, add_mem' := ⋯, zero_mem' := ⋯, algebraMap_mem' := ⋯ }
Instances For
The S-algebra A 0 inherited from R in the presence of SetLike.GradedMonoid A.
Equations
Gradings by canonically linearly ordered additive monoids #
The difference with DirectSum.listProd_apply_eq_zero is that the indices at which
the terms of the list are zero is allowed to vary.
The difference with DirectSum.multisetProd_apply_eq_zero is that the indices at which
the terms of the multiset are zero is allowed to vary.
The difference with DirectSum.finsetProd_apply_eq_zero is that the indices at which
the terms of the multiset are zero is allowed to vary.