@@ -5,6 +5,7 @@ Authors: Andrew Yang
5
5
-/
6
6
import Mathlib.AlgebraicGeometry.PrimeSpectrum.Noetherian
7
7
import Mathlib.RingTheory.Jacobson
8
+ import Mathlib.Topology.JacobsonSpace
8
9
9
10
/-!
10
11
# The prime spectrum of a jacobson ring
@@ -22,11 +23,11 @@ import Mathlib.RingTheory.Jacobson
22
23
23
24
open Ideal
24
25
25
- variable {R : Type *} [CommRing R] [IsJacobsonRing R]
26
+ variable {R : Type *} [CommRing R]
26
27
27
28
namespace PrimeSpectrum
28
29
29
- lemma exists_isClosed_singleton_of_isJacobsonRing
30
+ lemma exists_isClosed_singleton_of_isJacobsonRing [IsJacobsonRing R]
30
31
(s : (Set (PrimeSpectrum R))) (hs : IsOpen s) (hs' : s.Nonempty) :
31
32
∃ x ∈ s, IsClosed {x} := by
32
33
simp_rw [isClosed_singleton_iff_isMaximal]
@@ -41,6 +42,30 @@ lemma exists_isClosed_singleton_of_isJacobsonRing
41
42
rintro x ⟨-, hx⟩
42
43
exact sInf_le ⟨this ⟨x, hx.isPrime⟩ hx, hx⟩
43
44
45
+ instance [IsJacobsonRing R] : JacobsonSpace (PrimeSpectrum R) := by
46
+ rw [jacobsonSpace_iff_locallyClosed]
47
+ rintro S hS ⟨U, Z, hU, hZ, rfl⟩
48
+ simp only [← isClosed_compl_iff, isClosed_iff_zeroLocus_ideal, @compl_eq_comm _ U] at hU hZ
49
+ obtain ⟨⟨I, rfl⟩, ⟨J, rfl⟩⟩ := And.intro hU hZ
50
+ simp only [Set.nonempty_iff_ne_empty, ne_eq, Set.inter_assoc,
51
+ ← Set.disjoint_iff_inter_eq_empty, Set.disjoint_compl_left_iff_subset,
52
+ zeroLocus_subset_zeroLocus_iff, Ideal.radical_eq_jacobson, Ideal.jacobson, le_sInf_iff] at hS ⊢
53
+ contrapose! hS
54
+ rintro x ⟨hJx, hx⟩
55
+ exact @hS ⟨x, hx.isPrime⟩ ⟨hJx, (isClosed_singleton_iff_isMaximal _).mpr hx⟩
56
+
57
+ lemma isJacobsonRing_iff_jacobsonSpace :
58
+ IsJacobsonRing R ↔ JacobsonSpace (PrimeSpectrum R) := by
59
+ refine ⟨fun _ ↦ inferInstance, fun H ↦ ⟨fun I hI ↦ le_antisymm ?_ Ideal.le_jacobson⟩⟩
60
+ rw [← I.isRadical_jacobson.radical]
61
+ conv_rhs => rw [← hI.radical]
62
+ simp_rw [← vanishingIdeal_zeroLocus_eq_radical]
63
+ apply vanishingIdeal_anti_mono
64
+ rw [← H.1 (isClosed_zeroLocus I), (isClosed_zeroLocus _).closure_subset_iff]
65
+ rintro x ⟨hx : I ≤ x.asIdeal, hx'⟩
66
+ show jacobson I ≤ x.asIdeal
67
+ exact sInf_le ⟨hx, (isClosed_singleton_iff_isMaximal _).mp hx'⟩
68
+
44
69
/--
45
70
If `R` is both noetherian and jacobson, then the following are equivalent for `x : Spec R`:
46
71
1. `{x}` is open (i.e. `x` is an isolated point)
@@ -49,7 +74,7 @@ If `R` is both noetherian and jacobson, then the following are equivalent for `x
49
74
(i.e. `x` is both a minimal prime and a maximal ideal)
50
75
-/
51
76
lemma isOpen_singleton_tfae_of_isNoetherian_of_isJacobsonRing
52
- [IsNoetherianRing R] (x : PrimeSpectrum R) :
77
+ [IsNoetherianRing R] [IsJacobsonRing R] (x : PrimeSpectrum R) :
53
78
List.TFAE [IsOpen {x}, IsClopen {x}, IsClosed {x} ∧ StableUnderGeneralization {x}] := by
54
79
tfae_have 1 → 2
55
80
| h => by
0 commit comments