structure
HomogeneousSubmonoid
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[CommRing A]
[SetLike σ A]
(𝒜 : ι → σ)
extends Submonoid A :
Type u_2
- homogeneous_gen : ∃ (s : Set A), self.toSubmonoid = Submonoid.closure s ∧ ∀ x ∈ s, SetLike.Homogeneous 𝒜 x
Instances For
theorem
HomogeneousSubmonoid.ext
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
{inst✝ : CommRing A}
{inst✝¹ : SetLike σ A}
{𝒜 : ι → σ}
{x y : HomogeneousSubmonoid 𝒜}
(carrier : x.carrier = y.carrier)
:
x = y
instance
HomogeneousSubmonoid.instSetLike
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
:
SetLike (HomogeneousSubmonoid 𝒜) A
Equations
- HomogeneousSubmonoid.instSetLike = { coe := fun (S : HomogeneousSubmonoid 𝒜) => ↑S.toSubmonoid, coe_injective' := ⋯ }
theorem
HomogeneousSubmonoid.homogeneous
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
{x : A}
:
x ∈ S → SetLike.Homogeneous 𝒜 x
def
HomogeneousSubmonoid.map
{ι : Type u_1}
{A : Type u_2}
{B : Type u_3}
{σ : Type u_4}
{σ' : Type u_5}
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[CommRing B]
[SetLike σ' B]
{ℬ : ι → σ'}
(Φ : GradedRingHom 𝒜 ℬ)
(S : HomogeneousSubmonoid 𝒜)
:
Equations
- HomogeneousSubmonoid.map Φ S = { toSubmonoid := Submonoid.map Φ S.toSubmonoid, homogeneous_gen := ⋯ }
Instances For
theorem
HomogeneousSubmonoid.map_toSubmonoid
{ι : Type u_1}
{A : Type u_2}
{B : Type u_3}
{σ : Type u_4}
{σ' : Type u_5}
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[CommRing B]
[SetLike σ' B]
{ℬ : ι → σ'}
(Φ : GradedRingHom 𝒜 ℬ)
(S : HomogeneousSubmonoid 𝒜)
:
(HomogeneousSubmonoid.map Φ S).toSubmonoid = Submonoid.map Φ S.toSubmonoid
theorem
HomogeneousSubmonoid.mem_map_of_mem
{ι : Type u_1}
{A : Type u_2}
{B : Type u_3}
{σ : Type u_4}
{σ' : Type u_5}
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[CommRing B]
[SetLike σ' B]
{ℬ : ι → σ'}
(Φ : GradedRingHom 𝒜 ℬ)
{S : HomogeneousSubmonoid 𝒜}
{x : A}
:
x ∈ S → Φ x ∈ HomogeneousSubmonoid.map Φ S
def
HomogeneousSubmonoid.closure
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(s : Set A)
(hs : ∀ x ∈ s, SetLike.Homogeneous 𝒜 x)
:
Equations
- HomogeneousSubmonoid.closure s hs = { toSubmonoid := Submonoid.closure s, homogeneous_gen := ⋯ }
Instances For
theorem
HomogeneousSubmonoid.mem_closure_singleton
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(a : A)
(ha : SetLike.Homogeneous 𝒜 a)
(x : A)
:
def
HomogeneousSubmonoid.bot
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
:
Equations
- HomogeneousSubmonoid.bot = { carrier := {1}, mul_mem' := ⋯, one_mem' := ⋯, homogeneous_gen := ⋯ }
Instances For
@[simp]
theorem
HomogeneousSubmonoid.bot_carrier
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
:
@[simp]
theorem
HomogeneousSubmonoid.mem_bot
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(x : A)
:
x ∈ HomogeneousSubmonoid.bot ↔ x = 1
instance
HomogeneousSubmonoid.instOne
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
:
Equations
@[simp]
theorem
HomogeneousSubmonoid.mem_one
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(x : A)
:
instance
HomogeneousSubmonoid.instMul
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
:
Equations
- HomogeneousSubmonoid.instMul = { mul := fun (S T : HomogeneousSubmonoid 𝒜) => { toSubmonoid := S.toSubmonoid * T.toSubmonoid, homogeneous_gen := ⋯ } }
@[simp]
theorem
HomogeneousSubmonoid.mul_toSubmonoid
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S T : HomogeneousSubmonoid 𝒜)
:
theorem
HomogeneousSubmonoid.mem_mul_iff
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
{S T : HomogeneousSubmonoid 𝒜}
(x : A)
:
@[simp]
theorem
HomogeneousSubmonoid.mul_self
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
instance
HomogeneousSubmonoid.instCommMonoid
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
:
Equations
theorem
HomogeneousSubmonoid.map_mul
{ι : Type u_1}
{A : Type u_2}
{B : Type u_3}
{σ : Type u_4}
{σ' : Type u_5}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
[CommRing B]
[SetLike σ' B]
{ℬ : ι → σ'}
[AddSubgroupClass σ' B]
[GradedRing ℬ]
(Φ : GradedRingHom 𝒜 ℬ)
(S T : HomogeneousSubmonoid 𝒜)
:
HomogeneousSubmonoid.map Φ (S * T) = HomogeneousSubmonoid.map Φ S * HomogeneousSubmonoid.map Φ T
def
HomogeneousSubmonoid.bar
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
Equations
- S.bar = { carrier := {x : A | SetLike.Homogeneous 𝒜 x ∧ ∃ y ∈ S, x ∣ y}, mul_mem' := ⋯, one_mem' := ⋯, homogeneous_gen := ⋯ }
Instances For
@[simp]
theorem
HomogeneousSubmonoid.mem_bar
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
(x : A)
:
x ∈ S.bar ↔ SetLike.Homogeneous 𝒜 x ∧ ∃ y ∈ S, x ∣ y
instance
HomogeneousSubmonoid.instPartialOrder
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
:
Equations
- HomogeneousSubmonoid.instPartialOrder = PartialOrder.lift (fun (S : HomogeneousSubmonoid 𝒜) => S.toSubmonoid) ⋯
theorem
HomogeneousSubmonoid.bar_mono
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S T : HomogeneousSubmonoid 𝒜)
:
theorem
HomogeneousSubmonoid.left_le_mul
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S T : HomogeneousSubmonoid 𝒜)
:
theorem
HomogeneousSubmonoid.right_le_mul
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S T : HomogeneousSubmonoid 𝒜)
:
instance
HomogeneousSubmonoid.instCommMonoid_1
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
:
Equations
theorem
HomogeneousSubmonoid.le_bar
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
S ≤ S.bar
theorem
HomogeneousSubmonoid.mem_bot_bar
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(x : A)
:
x ∈ HomogeneousSubmonoid.bot.bar ↔ SetLike.Homogeneous 𝒜 x ∧ ∃ (y : A), x * y = 1
def
HomogeneousSubmonoid.deg
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
Instances For
@[simp]
theorem
HomogeneousSubmonoid.coe_deg
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
@[simp]
theorem
HomogeneousSubmonoid.mem_deg_iff
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
(i : ι)
:
theorem
HomogeneousSubmonoid.deg_mono
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S T : HomogeneousSubmonoid 𝒜)
:
@[simp]
theorem
HomogeneousSubmonoid.closure_one
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
:
theorem
HomogeneousSubmonoid.mem_deg_singleton
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(a : A)
(ha : SetLike.Homogeneous 𝒜 a)
(x : ι)
:
theorem
HomogeneousSubmonoid.mem_deg
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
{i : ι}
:
theorem
HomogeneousSubmonoid.zero_mem_deg
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
[Nontrivial A]
:
0 ∈ S.deg
def
HomogeneousSubmonoid.monDeg
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
Equations
- S.monDeg = AddSubmonoid.closure ↑S.deg
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
HomogeneousSubmonoid.agrDeg
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
Equations
- S.agrDeg = AddSubgroup.closure ↑S.deg
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
HomogeneousSubmonoid.agrDegEquiv
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
HomogeneousSubmonoid.convMonDegEmbedding
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
TensorProduct ℕ NNReal ↥S.monDeg →ₗ[NNReal] TensorProduct ℤ ℝ ι
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
HomogeneousSubmonoid.convMonDegEmbedding_apply_tmul
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
(r : NNReal)
(i : ↥S.monDeg)
:
noncomputable def
HomogeneousSubmonoid.convMonDeg
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
Submodule NNReal (TensorProduct ℤ ℝ ι)
Equations
- S.convMonDeg = LinearMap.range S.convMonDegEmbedding
Instances For
noncomputable def
HomogeneousSubmonoid.convMonDeg'
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
Submodule NNReal (TensorProduct ℤ ℝ ι)
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
HomogeneousSubmonoid.mem_convMonDeg
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
[Nontrivial A]
(x : TensorProduct ℤ ℝ ι)
:
def
HomogeneousSubmonoid.IsRelevant
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
Instances For
theorem
HomogeneousSubmonoid.IsRelevant.mul
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
{S T : HomogeneousSubmonoid 𝒜}
(S_rel : S.IsRelevant)
(T_rel : T.IsRelevant)
:
(S * T).IsRelevant
theorem
HomogeneousSubmonoid.IsRelevant.map
{ι : Type u_1}
{A : Type u_2}
{B : Type u_3}
{σ : Type u_4}
{σ' : Type u_5}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
[CommRing B]
[SetLike σ' B]
{ℬ : ι → σ'}
[AddSubgroupClass σ' B]
[GradedRing ℬ]
{S : HomogeneousSubmonoid 𝒜}
(S_rel : S.IsRelevant)
(Φ : GradedRingHom 𝒜 ℬ)
:
(HomogeneousSubmonoid.map Φ S).IsRelevant
theorem
HomogeneousSubmonoid.isRelevant_iff_isTorsion_quotient
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
:
S.IsRelevant ↔ AddMonoid.IsTorsion (ι ⧸ S.bar.agrDeg)
theorem
HomogeneousSubmonoid.isRelevant_iff_finite_quotient_of_FG
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
[AddGroup.FG ι]
:
theorem
HomogeneousSubmonoid.isRelevant_iff_finiteIndex_of_FG
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(S : HomogeneousSubmonoid 𝒜)
[AddGroup.FG ι]
:
S.IsRelevant ↔ S.bar.agrDeg.FiniteIndex
@[reducible, inline]
abbrev
HomogeneousSubmonoid.SetIsRelevant
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(s : Set A)
(hs : ∀ i ∈ s, SetLike.Homogeneous 𝒜 i)
:
Equations
- HomogeneousSubmonoid.SetIsRelevant s hs = (HomogeneousSubmonoid.closure s hs).IsRelevant
Instances For
@[reducible, inline]
abbrev
HomogeneousSubmonoid.ElemIsRelevant
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
(a : A)
(ha : SetLike.Homogeneous 𝒜 a)
:
Equations
- HomogeneousSubmonoid.ElemIsRelevant a ha = (HomogeneousSubmonoid.closure {a} ⋯).IsRelevant
Instances For
theorem
AddSubgroup.closure_add_image_add_eq_top
{G : Type u_1}
[AddGroup G]
{H : AddSubgroup G}
{R S : Set G}
(hR : AddSubgroup.IsComplement (↑H) R)
(hR1 : 0 ∈ R)
(hS : AddSubgroup.closure S = ⊤)
:
theorem
AddSubgroup.closure_add_image_eq
{G : Type u_1}
[AddGroup G]
{H : AddSubgroup G}
{R S : Set G}
(hR : AddSubgroup.IsComplement (↑H) R)
(hR1 : 0 ∈ R)
(hS : AddSubgroup.closure S = ⊤)
:
theorem
AddSubgroup.closure_add_image_eq_top
{G : Type u_1}
[AddGroup G]
{H : AddSubgroup G}
{R S : Set G}
(hR : AddSubgroup.IsComplement (↑H) R)
(hR1 : 0 ∈ R)
(hS : AddSubgroup.closure S = ⊤)
:
theorem
AddSubgroup.closure_add_image_eq_top'
{G : Type u_1}
[AddGroup G]
{H : AddSubgroup G}
[DecidableEq G]
{R S : Finset G}
(hR : AddSubgroup.IsComplement ↑H ↑R)
(hR1 : 0 ∈ R)
(hS : AddSubgroup.closure ↑S = ⊤)
:
AddSubgroup.closure ↑(Finset.image (fun (g : G) => ⟨g + -↑(hR.toRightFun g), ⋯⟩) (R + S)) = ⊤
theorem
AddSubgroup.exists_finset_card_le_add
{G : Type u_1}
[AddGroup G]
(H : AddSubgroup G)
[H.FiniteIndex]
{S : Finset G}
(hS : AddSubgroup.closure ↑S = ⊤)
:
instance
AddSubgroup.fg_of_index_ne_zero
{G : Type u_1}
[AddGroup G]
(H : AddSubgroup G)
[hG : AddGroup.FG G]
[H.FiniteIndex]
:
AddGroup.FG ↥H
theorem
HomogeneousSubmonoid.exists_factorisation_of_elemIsRelevant
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
[AddGroup.FG ι]
(a : A)
(ha : SetLike.Homogeneous 𝒜 a)
(a_rel : HomogeneousSubmonoid.ElemIsRelevant a ha)
:
theorem
HomogeneousSubmonoid.elemIsRelevant_of_homogeneous_of_factorisation
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
[AddGroup.FG ι]
(a : A)
(ha : SetLike.Homogeneous 𝒜 a)
(n : ℕ)
(x : Fin n → A)
(d : Fin n → ι)
(mem : ∀ (i : Fin n), x i ∈ 𝒜 (d i))
(finiteIndex : (AddSubgroup.closure (Set.range d)).FiniteIndex)
(k : ℕ)
(eq : ∏ i : Fin n, x i = a ^ k)
:
theorem
HomogeneousSubmonoid.elemIsRelevant_iff
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
{𝒜 : ι → σ}
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
[AddGroup.FG ι]
(a : A)
(ha : SetLike.Homogeneous 𝒜 a)
:
def
HomogeneousSubmonoid.dagger
{ι : Type u_1}
{A : Type u_2}
{σ : Type u_4}
[AddCommGroup ι]
[CommRing A]
[SetLike σ A]
(𝒜 : ι → σ)
[DecidableEq ι]
[AddSubgroupClass σ A]
[GradedRing 𝒜]
:
Equations
- HomogeneousSubmonoid.dagger 𝒜 = { toSubmodule := Ideal.span {x : A | ∃ (h : SetLike.Homogeneous 𝒜 x), HomogeneousSubmonoid.ElemIsRelevant x h}, is_homogeneous' := ⋯ }
Instances For
Equations
- HomogeneousSubmonoid.«term_†» = Lean.ParserDescr.trailingNode `HomogeneousSubmonoid.«term_†» 1024 1024 (Lean.ParserDescr.symbol "†")