Homogeneous subsemirings of a graded semiring #
This file defines homogeneous subsemirings of a graded semiring, as well as operations on them.
Main definitions #
HomogeneousSubsemiring ๐: The type of subsemirings which satisfySetLike.IsHomogeneous.
theorem DirectSum.SetLike.IsHomogeneous.mem_iff {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] (๐ : ฮน โ ฯ) [DecidableEq ฮน] [GradedRing ๐] {R : Subsemiring A} (hR : IsHomogeneous ๐ R) {a : A} :
structure HomogeneousSubsemiring {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] (๐ : ฮน โ ฯ) [DecidableEq ฮน] [GradedRing ๐] extends Subsemiring A :
Type u_3
A HomogeneousSubsemiring is a Subsemiring that satisfies IsHomogeneous.
- is_homogeneous' : DirectSum.SetLike.IsHomogeneous ๐ self.toSubsemiring
Instances For
theorem HomogeneousSubsemiring.toSubsemiring_injective {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] {๐ : ฮน โ ฯ} [DecidableEq ฮน] [GradedRing ๐] :
@[instance_reducible]
instance HomogeneousSubsemiring.setLike {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] {๐ : ฮน โ ฯ} [DecidableEq ฮน] [GradedRing ๐] :
SetLike (HomogeneousSubsemiring ๐) A
Equations
- HomogeneousSubsemiring.setLike = { coe := fun (x : HomogeneousSubsemiring ๐) => x.carrier, coe_injective := โฏ }
@[instance_reducible]
instance HomogeneousSubsemiring.instPartialOrder {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] {๐ : ฮน โ ฯ} [DecidableEq ฮน] [GradedRing ๐] :
theorem HomogeneousSubsemiring.isHomogeneous {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] {๐ : ฮน โ ฯ} [DecidableEq ฮน] [GradedRing ๐] (R : HomogeneousSubsemiring ๐) :
instance HomogeneousSubsemiring.subsemiringClass {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] {๐ : ฮน โ ฯ} [DecidableEq ฮน] [GradedRing ๐] :
SubsemiringClass (HomogeneousSubsemiring ๐) A
theorem HomogeneousSubsemiring.ext {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] {๐ : ฮน โ ฯ} [DecidableEq ฮน] [GradedRing ๐] {R S : HomogeneousSubsemiring ๐} (h : R.toSubsemiring = S.toSubsemiring) :
theorem HomogeneousSubsemiring.ext_iff {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] {๐ : ฮน โ ฯ} [DecidableEq ฮน] [GradedRing ๐] {R S : HomogeneousSubsemiring ๐} :
theorem HomogeneousSubsemiring.ext' {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] {๐ : ฮน โ ฯ} [DecidableEq ฮน] [GradedRing ๐] {R S : HomogeneousSubsemiring ๐} (h : โ (i : ฮน), โ a โ ๐ i, a โ R โ a โ S) :
@[simp]
theorem HomogeneousSubsemiring.mem_iff {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] {๐ : ฮน โ ฯ} [DecidableEq ฮน] [GradedRing ๐] {R : HomogeneousSubsemiring ๐} {a : A} :
theorem IsHomogeneous.subsemiringClosure {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] {๐ : ฮน โ ฯ} [DecidableEq ฮน] [GradedRing ๐] {s : Set A} (h : โ (i : ฮน) โฆx : Aโฆ, x โ s โ โ(((DirectSum.decompose ๐) x) i) โ s) :
theorem IsHomogeneous.subsemiringClosure_of_isHomogeneousElem {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] {๐ : ฮน โ ฯ} [DecidableEq ฮน] [GradedRing ๐] {s : Set A} (h : โ x โ s, SetLike.IsHomogeneousElem ๐ x) :
def Subsemiring.homogeneousCore {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] (๐ : ฮน โ ฯ) [DecidableEq ฮน] [GradedRing ๐] (R : Subsemiring A) :
For any subsemiring R, not necessarily homogeneous, R.homogeneousCore ๐ is the largest
homogeneous subsemiring contained in R.
Equations
- Subsemiring.homogeneousCore ๐ R = { toSubsemiring := Subsemiring.closure (Subtype.val '' Subtype.val โปยน' โR), is_homogeneous' := โฏ }
Instances For
theorem Subsemiring.homogeneousCore_mono {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] (๐ : ฮน โ ฯ) [DecidableEq ฮน] [GradedRing ๐] :
Monotone (homogeneousCore ๐)
theorem Subsemiring.toSubsemiring_homogeneousCore_le {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] (๐ : ฮน โ ฯ) [DecidableEq ฮน] [GradedRing ๐] (R : Subsemiring A) :
theorem Subsemiring.isHomogeneous_iff_forall_subset {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] (๐ : ฮน โ ฯ) [DecidableEq ฮน] [GradedRing ๐] (R : Subsemiring A) :
DirectSum.SetLike.IsHomogeneous ๐ R โ โ (i : ฮน), โR โ โ(GradedRing.proj ๐ i) โปยน' โR
theorem Subsemiring.isHomogeneous_iff_subset_iInter {ฮน : Type u_1} {ฯ : Type u_2} {A : Type u_3} [AddMonoid ฮน] [Semiring A] [SetLike ฯ A] [AddSubmonoidClass ฯ A] (๐ : ฮน โ ฯ) [DecidableEq ฮน] [GradedRing ๐] (R : Subsemiring A) :
DirectSum.SetLike.IsHomogeneous ๐ R โ โR โ โ (i : ฮน), โ(GradedRing.proj ๐ i) โปยน' โR