Homogeneous submodules of a graded module #
This file defines homogeneous submodule of a graded module ⨁ᵢ ℳᵢ
over graded ring ⨁ᵢ 𝒜ᵢ
and
operations on them.
Main definitions #
For any p : Submodule A M
:
Submodule.IsHomogeneous ℳ p
: The property that a submodule is closed underGradedModule.proj
.HomogeneousSubmodule 𝒜 ℳ
: The structure extending submodules which satisfySubmodule.IsHomogeneous
.
Implementation notes #
The notion of homogeneous submodule does not rely on a graded ring, only a decomposition of the
the module. However, most interesting properties of homogeneous submodules do rely on the base ring
being a graded ring. For technical reasons, we make HomogeneousSubmodule
depend on a graded ring.
For example, if the definition of a homogeneous submodule does not depend on a graded ring, the
instance that HomogeneousSubmodule
is a complete lattice cannot be synthesized due to
synthesation order.
Tags #
graded algebra, homogeneous
An A
-submodule p ⊆ M
is homogeneous if for every m ∈ p
, all homogeneous components of m
are
in p
.
Equations
Instances For
For any Semiring A
, we collect the homogeneous submodule of A
-modules into a type.
- is_homogeneous' : self.IsHomogeneous ℳ
Instances For
Equations
- instSetLikeHomogeneousSubmodule 𝒜 ℳ = { coe := fun (X : HomogeneousSubmodule 𝒜 ℳ) => ↑X.toSubmodule, coe_injective' := ⋯ }
Equations
- HomogeneousSubmodule.setLike 𝒜 ℳ = { coe := fun (p : HomogeneousSubmodule 𝒜 ℳ) => ↑p.toSubmodule, coe_injective' := ⋯ }
The set-theoretic extensionality of HomogeneousSubmodule
.