Skip to content

Commit 36e9a27

Browse files
committed
feat(RingTheory/IntegralClosure): prove Module.Finite R (adjoin R S) for finite set S of integral elements (#20970)
Prove that `Algebra.adjoin R S` has finite rank over `R` when `S` is finite with elements that are all integral over `R`. Special case for singleton included.
1 parent 413249c commit 36e9a27

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

Mathlib/RingTheory/IntegralClosure/IsIntegral/Basic.lean

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,14 @@ theorem fg_adjoin_of_finite {s : Set A} (hfs : s.Finite) (his : ∀ x ∈ s, IsI
201201
(his a <| Set.mem_insert a s).fg_adjoin_singleton)
202202
his
203203

204+
theorem Algebra.finite_adjoin_of_finite_of_isIntegral {s : Set A} (hf : s.Finite)
205+
(hi : ∀ x ∈ s, IsIntegral R x) : Module.Finite R (adjoin R s) :=
206+
Module.Finite.iff_fg.mpr <| fg_adjoin_of_finite hf hi
207+
208+
theorem Algebra.finite_adjoin_simple_of_isIntegral {x : A} (hi : IsIntegral R x) :
209+
Module.Finite R (adjoin R {x}) :=
210+
Module.Finite.iff_fg.mpr hi.fg_adjoin_singleton
211+
204212
theorem isNoetherian_adjoin_finset [IsNoetherianRing R] (s : Finset A)
205213
(hs : ∀ x ∈ s, IsIntegral R x) : IsNoetherian R (Algebra.adjoin R (s : Set A)) :=
206214
isNoetherian_of_fg_of_noetherian _ (fg_adjoin_of_finite s.finite_toSet hs)

Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ theorem le_integralClosure_iff_isIntegral {S : Subalgebra R A} :
132132
Algebra.isIntegral_def.symm
133133

134134
theorem Algebra.IsIntegral.adjoin {S : Set A} (hS : ∀ x ∈ S, IsIntegral R x) :
135-
Algebra.IsIntegral R (Algebra.adjoin R S) :=
135+
Algebra.IsIntegral R (adjoin R S) :=
136136
le_integralClosure_iff_isIntegral.mp <| adjoin_le hS
137137

138138
theorem integralClosure_eq_top_iff : integralClosure R A = ⊤ ↔ Algebra.IsIntegral R A := by

0 commit comments

Comments
 (0)