Merge pull request #43 from ssavkar1/main

added two lemmas
This commit is contained in:
ssavkar1 2023-06-13 16:02:02 -07:00 committed by GitHub
commit 62906d776c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,13 +3,66 @@ import Mathlib.RingTheory.Noetherian
import Mathlib.RingTheory.Artinian
import Mathlib.RingTheory.Ideal.Quotient
import Mathlib.AlgebraicGeometry.PrimeSpectrum.Basic
import Mathlib.RingTheory.DedekindDomain.DVR
lemma FieldisArtinian (R : Type _) [CommRing R] (IsField : ):= by sorry
lemma ArtinianDomainIsField (R : Type _) [CommRing R] [IsDomain R]
(IsArt : IsArtinianRing R) : IsField (R) := by
-- Assume P is nonzero and R is Artinian
-- Localize at P; Then R_P is Artinian;
-- Assume R_P is not a field
-- Then Jacobson Radical of R_P is nilpotent so it's maximal ideal is nilpotent
-- Maximal ideal is zero since local ring is a domain
-- a contradiction since P is nonzero
-- Therefore, R is a field
have maxIdeal := Ideal.exists_maximal R
obtain ⟨m,hm⟩ := maxIdeal
have h:= Ideal.primeCompl_le_nonZeroDivisors m
have artRP : IsDomain _ := IsLocalization.isDomain_localization h
have h' : IsArtinianRing (Localization (Ideal.primeCompl m)) := inferInstance
have h' : IsNilpotent (Ideal.jacobson (⊥ : Ideal (Localization
(Ideal.primeCompl m)))):= IsArtinianRing.isNilpotent_jacobson_bot
have := LocalRing.jacobson_eq_maximalIdeal (⊥ : Ideal (Localization
(Ideal.primeCompl m))) bot_ne_top
rw [this] at h'
have := IsNilpotent.eq_zero h'
rw [Ideal.zero_eq_bot, ← LocalRing.isField_iff_maximalIdeal_eq] at this
by_contra h''
--by_cases h'' : m = ⊥
have := Ring.ne_bot_of_isMaximal_of_not_isField hm h''
have := IsLocalization.AtPrime.not_isField R this (Localization (Ideal.primeCompl m))
contradiction
lemma quotientRing_is_Artinian (R : Type _) [CommRing R] (I : Ideal R) (IsArt : IsArtinianRing R):
IsArtinianRing (RI) := by sorry
#check Ideal.IsPrime
#check IsDomain
lemma isArtinianRing_of_quotient_of_artinian (R : Type _) [CommRing R]
(I : Ideal R) (IsArt : IsArtinianRing R) : IsArtinianRing (R I) :=
isArtinian_of_tower R (isArtinian_of_quotient_of_artinian R R I IsArt)
lemma IsPrimeMaximal (R : Type _) [CommRing R] (P : Ideal R)
(IsArt : IsArtinianRing R) (isPrime : Ideal.IsPrime P) : Ideal.IsMaximal P :=
by
-- if R is Artinian and P is prime then R/P is Integral Domain
-- which is Artinian Domain
-- RP is a field by the above lemma
-- P is maximal
have : IsDomain (RP) := Ideal.Quotient.isDomain P
have artRP : IsArtinianRing (RP) := by
exact isArtinianRing_of_quotient_of_artinian R P IsArt
-- Then R/I is Artinian
-- have' : IsArtinianRing R ∧ Ideal.IsPrime I → IsDomain (RI) := by
-- RI.IsArtinian → monotone_stabilizes_iff_artinian.RI
lemma IsPrimeMaximal (R : Type _) [CommRing R] (I : Ideal R) (IsArt : IsArtinianRing R) (isPrime : Ideal.IsPrime I) : Ideal.IsMaximal I := by sorry
-- Use Stacks project proof since it's broken into lemmas