Documentation

LeanPool.AndersonConjecture.AdicNoetherian

Adic Completion of a Noetherian Local Ring is Noetherian #

For a Noetherian local ring (R, M), the M-adic completion R-hat is Noetherian. The key facts are that R-hat / M-hat^n is isomorphic to R / M^n for each n, and that the completion is M-adically complete, so the Noetherian property lifts by successive approximation (Atiyah--Macdonald, Prop. 10.11).

Part 1: ker(evalₐ I n) = (map f I)ⁿ #

theorem eval_cauchy_stable {R : Type u_1} [CommRing R] (I : Ideal R) (f : AdicCompletion I R) (hf : ∀ {m n : }, m nf m f n [SMOD I ^ m ]) {k n : } (hkn : k n) :
theorem factorPow_comp_evalₐ_noeth {R : Type u_1} [CommRing R] (I : Ideal R) {m n : } (hmn : m n) (x : AdicCompletion I R) :

Part 2: R̂/M̂ⁿ ≅ R/Mⁿ #

Part 3: IsPrecomplete M (AdicCompletion M R) #

The adic completion of a Noetherian local ring is M-adically precomplete.

Part 4: Main theorem — IsNoetherianRing R̂ #

noncomputable def buildAdicSeq {α : Type u_3} {P : αProp} (base : { a : α // P 0 a }) (step : (K : ) → { a : α // P K a }{ a : α // P (K + 1) a }) (K : ) :
{ a : α // P K a }

Generic helper: build a recursive sequence with proof-carrying data. This is a standalone def so its elaboration budget is independent.

Equations
Instances For
    theorem filtration_smul_le (R : Type u_2) [CommRing R] (Mi : Ideal R) (J : Ideal (AdicCompletion Mi R)) (FN : Ideal R) (hFN_def : ∀ (n : ), FN n = Mi ^ nIdeal.comap (Ideal.Quotient.mk (Mi ^ (n + 1))) (Ideal.map (AdicCompletion.evalₐ Mi (n + 1)).toRingHom J)) (n : ) :
    Mi * FN n FN (n + 1)
    theorem evalₐ_mk_smul_eq (R : Type u_2) [CommRing R] (Mi : Ideal R) (n0 K : ) (m s : R) (hm : m Mi ^ K) (δ_s : AdicCompletion Mi R) (hδ_s_eq : (AdicCompletion.evalₐ Mi (n0 + 1)) δ_s = (Ideal.Quotient.mk (Mi ^ (n0 + 1))) s) :
    (Ideal.Quotient.mk (Mi ^ (n0 + K + 1))) m * (AdicCompletion.evalₐ Mi (n0 + K + 1)) δ_s = (Ideal.Quotient.mk (Mi ^ (n0 + K + 1))) (m s)
    theorem smul_lift_of_filtration (R : Type u_2) [CommRing R] (Mi : Ideal R) (n0 K : ) (FN_n0 : Ideal R) (S_F : Finset R) (hS_F : Ideal.span S_F = FN_n0) (I₀ : Ideal (AdicCompletion Mi R)) (hlift_span : tIdeal.span S_F, δI₀, (AdicCompletion.evalₐ Mi (n0 + 1)) δ = (Ideal.Quotient.mk (Mi ^ (n0 + 1))) t) (r' : R) (hr' : r' Mi ^ K FN_n0) :
    δI₀, (AdicCompletion.evalₐ Mi (n0 + K + 1)) δ = (Ideal.Quotient.mk (Mi ^ (n0 + K + 1))) r'
    theorem coeff_decomp_of_smul (R : Type u_2) [CommRing R] (Mi : Ideal R) (n0 K : ) (FN_n0 : Ideal R) (S_F : Finset R) (hS_F : Ideal.span S_F = FN_n0) (genS : Finset (AdicCompletion Mi R)) (I₀ : Ideal (AdicCompletion Mi R)) (hI₀_eq : I₀ = Ideal.span genS) (hlift_span : tIdeal.span S_F, δI₀, (AdicCompletion.evalₐ Mi (n0 + 1)) δ = (Ideal.Quotient.mk (Mi ^ (n0 + 1))) t) (r' : R) (hr' : r' Mi ^ K FN_n0) :
    ∃ (c : AdicCompletion Mi RAdicCompletion Mi R), (∀ ggenS, c g Ideal.map (algebraMap R (AdicCompletion Mi R)) Mi ^ K) (AdicCompletion.evalₐ Mi (n0 + K + 1)) (∑ ggenS, c g * g) = (Ideal.Quotient.mk (Mi ^ (n0 + K + 1))) r'
    theorem extract_filtration_rep (R : Type u_2) [CommRing R] (Mi : Ideal R) (J : Ideal (AdicCompletion Mi R)) (FN : Ideal R) (n0 K : ) (hFN_def : ∀ (n : ), FN n = Mi ^ nIdeal.comap (Ideal.Quotient.mk (Mi ^ (n + 1))) (Ideal.map (AdicCompletion.evalₐ Mi (n + 1)).toRingHom J)) (FN_n0_sub : Submodule R R) (hn0_pow : ∀ (K : ), Mi ^ K FN_n0_sub = (fun (n : ) => FN n) (n0 + K)) (Mhat : Ideal (AdicCompletion Mi R)) (hker_eq : ∀ (N : ), RingHom.ker (AdicCompletion.evalₐ Mi N).toRingHom = Mhat ^ N) (e : AdicCompletion Mi R) (he : e Mhat ^ (n0 + K)) (heJ : e J) :
    rMi ^ K FN_n0_sub, (AdicCompletion.evalₐ Mi (n0 + K + 1)) e = (Ideal.Quotient.mk (Mi ^ (n0 + K + 1))) r

    The adic completion of a Noetherian local ring is Noetherian.