Skip to content

Commit 9b91d86

Browse files
joneugsterint-y1Antoine Chambert-Loirjcommelinjjaassoonn
committed
feat: port RingTheory.Jacobson (#4338)
Co-authored-by: Jason Yuen <jason_yuen2007@hotmail.com> Co-authored-by: int-y1 <jason_yuen2007@hotmail.com> Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr> Co-authored-by: Johan Commelin <johan@commelin.net> Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>
1 parent 57535b0 commit 9b91d86

File tree

5 files changed

+744
-8
lines changed

5 files changed

+744
-8
lines changed

Mathlib.lean

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2694,6 +2694,7 @@ import Mathlib.RingTheory.IntegralDomain
26942694
import Mathlib.RingTheory.IntegrallyClosed
26952695
import Mathlib.RingTheory.IsAdjoinRoot
26962696
import Mathlib.RingTheory.IsTensorProduct
2697+
import Mathlib.RingTheory.Jacobson
26972698
import Mathlib.RingTheory.JacobsonIdeal
26982699
import Mathlib.RingTheory.LaurentSeries
26992700
import Mathlib.RingTheory.LocalProperties

Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ theorem comap_singleton_isClosed_of_isIntegral (f : R →+* S) (hf : f.IsIntegra
639639
(x : PrimeSpectrum S) (hx : IsClosed ({x} : Set (PrimeSpectrum S))) :
640640
IsClosed ({comap f x} : Set (PrimeSpectrum R)) :=
641641
(isClosed_singleton_iff_isMaximal _).2
642-
(Ideal.isMaximal_comap_of_isIntegral_of_is_maximal' f hf x.asIdeal <|
642+
(Ideal.isMaximal_comap_of_isIntegral_of_isMaximal' f hf x.asIdeal <|
643643
(isClosed_singleton_iff_isMaximal x).1 hx)
644644
#align prime_spectrum.comap_singleton_is_closed_of_is_integral PrimeSpectrum.comap_singleton_isClosed_of_isIntegral
645645

Mathlib/RingTheory/Ideal/Over.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,10 +299,10 @@ theorem isMaximal_comap_of_isIntegral_of_isMaximal (hRS : Algebra.IsIntegral R S
299299
algebraMap_quotient_injective (by rwa [← Quotient.maximal_ideal_iff_isField_quotient])
300300
#align ideal.is_maximal_comap_of_is_integral_of_is_maximal Ideal.isMaximal_comap_of_isIntegral_of_isMaximal
301301

302-
theorem isMaximal_comap_of_isIntegral_of_is_maximal' {R S : Type _} [CommRing R] [CommRing S]
302+
theorem isMaximal_comap_of_isIntegral_of_isMaximal' {R S : Type _} [CommRing R] [CommRing S]
303303
(f : R →+* S) (hf : f.IsIntegral) (I : Ideal S) (hI : I.IsMaximal) : IsMaximal (I.comap f) :=
304304
@isMaximal_comap_of_isIntegral_of_isMaximal R _ S _ f.toAlgebra hf I hI
305-
#align ideal.is_maximal_comap_of_is_integral_of_is_maximal' Ideal.isMaximal_comap_of_isIntegral_of_is_maximal'
305+
#align ideal.is_maximal_comap_of_is_integral_of_is_maximal' Ideal.isMaximal_comap_of_isIntegral_of_isMaximal'
306306

307307
section IsIntegralClosure
308308

Mathlib/RingTheory/IntegralClosure.lean

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -606,17 +606,17 @@ theorem integralClosure.isIntegral (x : integralClosure R A) : IsIntegral R x :=
606606
rwa [← aeval_def, ← Subalgebra.val_apply, aeval_algHom_apply] at hpx⟩
607607
#align integral_closure.is_integral integralClosure.isIntegral
608608

609-
theorem RingHom.is_integral_of_is_integral_mul_unit (x y : S) (r : R) (hr : f r * y = 1)
609+
theorem RingHom.isIntegral_of_isIntegral_mul_unit (x y : S) (r : R) (hr : f r * y = 1)
610610
(hx : f.IsIntegralElem (x * y)) : f.IsIntegralElem x := by
611611
obtain ⟨p, ⟨p_monic, hp⟩⟩ := hx
612612
refine' ⟨scaleRoots p r, ⟨(monic_scaleRoots_iff r).2 p_monic, _⟩⟩
613613
convert scaleRoots_eval₂_eq_zero f hp
614614
rw [mul_comm x y, ← mul_assoc, hr, one_mul]
615-
#align ring_hom.is_integral_of_is_integral_mul_unit RingHom.is_integral_of_is_integral_mul_unit
615+
#align ring_hom.is_integral_of_is_integral_mul_unit RingHom.isIntegral_of_isIntegral_mul_unit
616616

617617
theorem isIntegral_of_isIntegral_mul_unit {x y : A} {r : R} (hr : algebraMap R A r * y = 1)
618618
(hx : IsIntegral R (x * y)) : IsIntegral R x :=
619-
(algebraMap R A).is_integral_of_is_integral_mul_unit x y r hr hx
619+
(algebraMap R A).isIntegral_of_isIntegral_mul_unit x y r hr hx
620620
#align is_integral_of_is_integral_mul_unit isIntegral_of_isIntegral_mul_unit
621621

622622
/-- Generalization of `isIntegral_of_mem_closure` bootstrapped up from that lemma -/
@@ -626,10 +626,10 @@ theorem isIntegral_of_mem_closure' (G : Set A) (hG : ∀ x ∈ G, IsIntegral R x
626626
(fun _ => isIntegral_neg) fun _ _ => isIntegral_mul
627627
#align is_integral_of_mem_closure' isIntegral_of_mem_closure'
628628

629-
theorem is_integral_of_mem_closure'' {S : Type _} [CommRing S] {f : R →+* S} (G : Set S)
629+
theorem isIntegral_of_mem_closure'' {S : Type _} [CommRing S] {f : R →+* S} (G : Set S)
630630
(hG : ∀ x ∈ G, f.IsIntegralElem x) : ∀ x ∈ Subring.closure G, f.IsIntegralElem x := fun x hx =>
631631
@isIntegral_of_mem_closure' R S _ _ f.toAlgebra G hG x hx
632-
#align is_integral_of_mem_closure'' is_integral_of_mem_closure''
632+
#align is_integral_of_mem_closure'' isIntegral_of_mem_closure''
633633

634634
theorem IsIntegral.pow {x : A} (h : IsIntegral R x) (n : ℕ) : IsIntegral R (x ^ n) :=
635635
(integralClosure R A).pow_mem h n

0 commit comments

Comments
 (0)