Skip to content

Commit c49a048

Browse files
committed
chore(RingTheory): rearrange lemma about square of IsLocalRing.maximalIdeal (leanprover-community#39292)
1 parent 8244455 commit c49a048

3 files changed

Lines changed: 43 additions & 12 deletions

File tree

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6608,6 +6608,7 @@ public import Mathlib.RingTheory.LocalRing.Length
66086608
public import Mathlib.RingTheory.LocalRing.LocalSubring
66096609
public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic
66106610
public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Defs
6611+
public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Square
66116612
public import Mathlib.RingTheory.LocalRing.Module
66126613
public import Mathlib.RingTheory.LocalRing.NonLocalRing
66136614
public import Mathlib.RingTheory.LocalRing.Quotient

Mathlib/RingTheory/Ideal/KrullsHeightTheorem.lean

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -496,15 +496,3 @@ lemma ringKrullDim_le_spanFinrank_maximalIdeal [IsLocalRing R] :
496496
Ideal.IsPrime.ne_top'))
497497

498498
end Algebra
499-
500-
/-- In a Noetherian local ring of positive Krull dimension,
501-
the square of the maximal ideal is strictly contained in the maximal ideal. -/
502-
lemma IsLocalRing.maximalIdeal_sq_lt [IsLocalRing R] (h : 0 < ringKrullDim R) :
503-
(IsLocalRing.maximalIdeal R) ^ 2 < IsLocalRing.maximalIdeal R := by
504-
refine lt_of_le_of_ne (Ideal.pow_le_self two_ne_zero) fun h_eq => h.ne' ?_
505-
have : IsLocalRing.maximalIdeal R = ⊥ :=
506-
Submodule.eq_bot_of_le_smul_of_le_jacobson_bot _ _
507-
(IsNoetherian.noetherian _)
508-
(by rw [Ideal.smul_eq_mul, ← sq]; exact h_eq.symm.le)
509-
(IsLocalRing.maximalIdeal_le_jacobson ⊥)
510-
rw [← IsLocalRing.maximalIdeal_height_eq_ringKrullDim, this, Ideal.height_bot, WithBot.coe_zero]
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/-
2+
Copyright (c) 2026 Nailin Guan. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Nailin Guan
5+
-/
6+
module
7+
8+
public import Mathlib.RingTheory.KrullDimension.Field
9+
public import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic
10+
public import Mathlib.RingTheory.Nakayama
11+
12+
/-!
13+
14+
# Lemmas about square of maximal ideal of local ring
15+
16+
-/
17+
18+
public section
19+
20+
variable {R : Type*} [CommRing R] [IsLocalRing R] [IsNoetherianRing R]
21+
22+
variable (R) in
23+
lemma IsLocalRing.maximalIdeal_sq_lt_maximalIdeal :
24+
maximalIdeal R ^ 2 < maximalIdeal R ↔ ¬ IsField R := by
25+
trans ¬ maximalIdeal R ^ 2 = maximalIdeal R
26+
· simp [lt_iff_le_and_ne, Ideal.pow_le_self]
27+
· rw [IsLocalRing.isField_iff_maximalIdeal_eq, pow_two]
28+
refine Iff.not ⟨fun h ↦ ?_, fun h ↦ by simp [h]⟩
29+
exact Submodule.eq_bot_of_eq_ideal_smul_of_le_jacobson_annihilator (IsNoetherian.noetherian _)
30+
h.symm (maximalIdeal_le_jacobson _)
31+
32+
/-- In a Noetherian local ring of positive Krull dimension,
33+
the square of the maximal ideal is strictly contained in the maximal ideal. -/
34+
lemma IsLocalRing.maximalIdeal_sq_lt_of_ringKrullDim_ne_zero (h : ringKrullDim R ≠ 0) :
35+
(maximalIdeal R) ^ 2 < maximalIdeal R :=
36+
(maximalIdeal_sq_lt_maximalIdeal R).mpr (ringKrullDim_eq_zero_of_isField.mt h)
37+
38+
@[deprecated "Use `IsLocalRing.maximalIdeal_sq_lt_of_ringKrullDim_ne_zero` instead"
39+
(since := "2026-05-13")]
40+
lemma IsLocalRing.maximalIdeal_sq_lt (h : 0 < ringKrullDim R) :
41+
(maximalIdeal R) ^ 2 < maximalIdeal R :=
42+
IsLocalRing.maximalIdeal_sq_lt_of_ringKrullDim_ne_zero h.ne.symm

0 commit comments

Comments
 (0)