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_ring
when๐
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 ๐ i
is the linear map fromA
to 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
semiring
s are โ-algebras via algebra_nat
, and all ring
s 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 A
s 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.