Internally-graded rings and algebras #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines the typeclass graded_algebra ๐, for working with an algebra A that is
internally graded by a collection of submodules ๐ : ฮน โ submodule R A.
See the docstring of that typeclass for more information.
Main definitions #
graded_ring ๐: the typeclass, which is a combination ofset_like.graded_monoid, anddirect_sum.decomposition ๐.graded_algebra ๐: A convenience alias forgraded_ringwhen๐is a family of submodules.direct_sum.decompose_ring_equiv ๐ : A โโ[R] โจ i, ๐ i, a more bundled version ofdirect_sum.decompose ๐.direct_sum.decompose_alg_equiv ๐ : A โโ[R] โจ i, ๐ i, a more bundled version ofdirect_sum.decompose ๐.graded_algebra.proj ๐ iis the linear map fromAto its degreei : ฮนcomponent, such thatproj ๐ i x = decompose ๐ x i.
Implementation notes #
For now, we do not have internally-graded semirings and internally-graded rings; these can be
represented with ๐ : ฮน โ submodule โ A and ๐ : ฮน โ submodule โค A respectively, since all
semirings are โ-algebras via algebra_nat, and all rings are โค-algebras via algebra_int.
Tags #
graded algebra, graded ring, graded semiring, decomposition
- to_graded_monoid : set_like.graded_monoid ๐
- to_decomposition : direct_sum.decomposition ๐
An internally-graded R-algebra A is one that can be decomposed into a collection
of submodule R As indexed by ฮน such that the canonical map A โ โจ i, ๐ i is bijective and
respects multiplication, i.e. the product of an element of degree i and an element of degree j
is an element of degree i + j.
Note that the fact that A is internally-graded, graded_algebra ๐, implies an externally-graded
algebra structure direct_sum.galgebra R (ฮป i, โฅ(๐ i)), which in turn makes available an
algebra R (โจ i, ๐ i) instance.
Instances of this typeclass
Instances of other typeclasses for graded_ring
- graded_ring.has_sizeof_inst
If A is graded by ฮน with degree i component ๐ i, then it is isomorphic as
a ring to a direct sum of components.
The projection maps of a graded ring
Equations
- graded_ring.proj ๐ i = (add_submonoid_class.subtype (๐ i)).comp ((dfinsupp.eval_add_monoid_hom i).comp (direct_sum.decompose_ring_equiv ๐).to_ring_hom.to_add_monoid_hom)
A special case of graded_ring with ฯ = submodule R A. This is useful both because it
can avoid typeclass search, and because it provides a more concise name.
Equations
- graded_algebra ๐ = graded_ring ๐
A helper to construct a graded_algebra when the set_like.graded_monoid structure is already
available. This makes the left_inv condition easier to prove, and phrases the right_inv
condition in a way that allows custom @[ext] lemmas to apply.
See note [reducible non-instances].
Equations
- graded_algebra.of_alg_hom ๐ decompose right_inv left_inv = graded_ring.mk
If A is graded by ฮน with degree i component ๐ i, then it is isomorphic as
an algebra to a direct sum of components.
The projection maps of graded algebra
Equations
- graded_algebra.proj ๐ i = (๐ i).subtype.comp ((dfinsupp.lapply i).comp (direct_sum.decompose_alg_equiv ๐).to_alg_hom.to_linear_map)
If A is graded by a canonically ordered add monoid, then the projection map x โฆ xโ is a ring
homomorphism.