Skip to content

Commit c46e995

Browse files
committed
feat(RingTheory/Finiteness/Ideal): I is finitely generated if f(I) and I ∩ ker(f) are finitely generated (leanprover-community#38047)
Let `f : R →+* S` be a surjective ring homomorphism, and let `I` be an ideal of `R`. If `f(I)` and `I ∩ ker(f)` are finitely generated ideals, then `I` is also finitely generated.
1 parent 48c7ceb commit c46e995

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

Mathlib/RingTheory/Finiteness/Ideal.lean

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@ Lemmas about finiteness of ideal operations.
1717

1818
public section
1919

20-
open Function (Surjective)
21-
open Finsupp
22-
2320
namespace Ideal
2421

2522
variable {R : Type*} {M : Type*} [Semiring R] [AddCommMonoid M] [Module R M]
@@ -47,6 +44,16 @@ theorem fg_ker_comp {R S A : Type*} [CommRing R] [CommRing S] [CommRing A] (f :
4744
exact Submodule.fg_ker_comp f₁ g₁ hf
4845
(Submodule.FG.restrictScalars_of_surjective hg hsur) hsur
4946

47+
/-- Let `f : R →+* S` be a surjective ring homomorphism, and let `I` be an ideal of `R`. If `f(I)`
48+
and `I ∩ ker(f)` are finitely generated ideals, then `I` is also finitely generated. -/
49+
theorem fg_of_fg_map_of_fg_inf_ker_of_surjective {R S : Type*} [CommRing R] [CommRing S]
50+
{f : R →+* S} {I : Ideal R} (hmap : (I.map f).FG) (hk : (I ⊓ (RingHom.ker f)).FG)
51+
(hf : Function.Surjective f) : I.FG := by
52+
algebraize [f]
53+
refine Submodule.fg_of_fg_map_of_fg_inf_ker (Module.compHom.toLinearMap f) ?_ hk
54+
have : RingHomSurjective f := ⟨hf⟩
55+
simpa [Ideal.map_eq_submodule_map] using! Submodule.FG.restrictScalars_of_surjective hmap hf
56+
5057
theorem exists_radical_pow_le_of_fg {R : Type*} [CommSemiring R] (I : Ideal R) (h : I.radical.FG) :
5158
∃ n : ℕ, I.radical ^ n ≤ I := by
5259
suffices hJ : ∀ J : Ideal R, J.FG → J ≤ I.radical → ∃ n : ℕ, J ^ n ≤ I by

0 commit comments

Comments
 (0)