From 0a8fd3ef7cedb909dd11e28001f66bd4ef24379a Mon Sep 17 00:00:00 2001 From: monula95 dutta Date: Mon, 12 Jun 2023 23:09:47 +0000 Subject: [PATCH] Test --- comm_alg/Defhil.lean | 34 +++++++++++----------------------- comm_alg/hilpol.lean | 41 ++++++++++++++++++++++++++++++++++------- 2 files changed, 45 insertions(+), 30 deletions(-) diff --git a/comm_alg/Defhil.lean b/comm_alg/Defhil.lean index 63c140a..65da0c6 100644 --- a/comm_alg/Defhil.lean +++ b/comm_alg/Defhil.lean @@ -1,23 +1,15 @@ import Mathlib +import Mathlib.RingTheory.Ideal.Basic +import Mathlib.RingTheory.Ideal.Operations +import Mathlib.LinearAlgebra.Finsupp +import Mathlib.RingTheory.GradedAlgebra.Basic +import Mathlib.RingTheory.GradedAlgebra.HomogeneousIdeal + + + variable {R : Type _} (M A B C : Type _) [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup A] [Module R A] [AddCommGroup B] [Module R B] [AddCommGroup C] [Module R C] -variable (A' B' C' : ModuleCat R) -#check ModuleCat.of R A -example : Module R A' := inferInstance - -#check ModuleCat.of R B - -example : Module R B' := inferInstance - -#check ModuleCat.of R C - -example : Module R C' := inferInstance - -namespace CategoryTheory - -noncomputable instance abelian : Abelian (ModuleCat.{v} R) := inferInstance -noncomputable instance haszero : Limits.HasZeroMorphisms (ModuleCat.{v} R) := inferInstance #check (A B : Submodule _ _) → (A ≤ B) @@ -25,17 +17,13 @@ noncomputable instance haszero : Limits.HasZeroMorphisms (ModuleCat.{v} R) := in #check krullDim (Submodule _ _) -noncomputable def length := krullDim (Submodule R M) - -open ZeroObject - -namespace HasZeroMorphisms +noncomputable def length := Set.chainHeight {M' : Submodule R M | M' < ⊤} open LinearMap #check length M -#check ModuleCat.of R -lemma length_additive_shortexact {f : A ⟶ B} {g : B ⟶ C} (h : ShortExact f g) : length B = length A + length C := sorry + +--lemma length_additive_shortexact {f : A ⟶ B} {g : B ⟶ C} (h : ShortExact f g) : length B = length A + length C := sorry diff --git a/comm_alg/hilpol.lean b/comm_alg/hilpol.lean index 957bade..0aab559 100644 --- a/comm_alg/hilpol.lean +++ b/comm_alg/hilpol.lean @@ -1,14 +1,41 @@ -import Mathlib +import Mathlib.Order.KrullDimension +import Mathlib.Order.JordanHolder +import Mathlib.AlgebraicGeometry.PrimeSpectrum.Basic +import Mathlib.Order.Height +import Mathlib.RingTheory.Ideal.Basic +import Mathlib.RingTheory.Ideal.Operations +import Mathlib.LinearAlgebra.Finsupp +import Mathlib.RingTheory.GradedAlgebra.Basic +import Mathlib.RingTheory.GradedAlgebra.HomogeneousIdeal +import Mathlib.Algebra.Module.GradedModule +import Mathlib.RingTheory.Ideal.AssociatedPrime +import Mathlib.RingTheory.Noetherian +variable {ι σ R A : Type _} ---class GradedRing +section HomogeneousDef -variable [GradedRing S] +variable [Semiring A] -namespace DirectSum +variable [SetLike σ A] [AddSubmonoidClass σ A] (𝒜 : ℤ → σ) -namespace ideal +variable [GradedRing 𝒜] -def S_+ := ⊕ (i ≥ 0) S_i +variable (I : HomogeneousIdeal 𝒜) -lemma A set of homogeneous elements fi∈S+ generates S as an algebra over S0 ↔ they generate S+ as an ideal of S. \ No newline at end of file +-- def Ideal.IsHomogeneous : Prop := +-- ∀ (i : ι) ⦃r : A⦄, r ∈ I → (DirectSum.decompose 𝒜 r i : A) ∈ I +-- #align ideal.is_homogeneous Ideal.IsHomogeneous + +-- structure HomogeneousIdeal extends Submodule A A where +-- is_homogeneous' : Ideal.IsHomogeneous 𝒜 toSubmodule + +--#check Ideal.IsPrime hI + +def HomogeneousPrime (I : Ideal A):= Ideal.IsPrime I + +def HomogeneousMax (I : Ideal A):= Ideal.IsMaximal I + +--theorem monotone_stabilizes_iff_noetherian : +-- (∀ f : ℕ →o Submodule R M, ∃ n, ∀ m, n ≤ m → f n = f m) ↔ IsNoetherian R M := by +-- rw [isNoetherian_iff_wellFounded, WellFounded.monotone_chain_condition] \ No newline at end of file