@@ -41,13 +41,15 @@ Jacobson, Jacobson radical, Local Ideal
41
41
universes u v
42
42
43
43
namespace ideal
44
- variables {R : Type u} [comm_ring R] {I : ideal R}
45
- variables {S : Type v} [comm_ring S]
44
+ variables {R : Type u} {S : Type v}
46
45
open_locale polynomial
47
46
48
47
section jacobson
49
48
50
- /-- The Jacobson radical of `I` is the infimum of all maximal ideals containing `I`. -/
49
+ section ring
50
+ variables [ring R] [ring S] {I : ideal R}
51
+
52
+ /-- The Jacobson radical of `I` is the infimum of all maximal (left) ideals containing `I`. -/
51
53
def jacobson (I : ideal R) : ideal R :=
52
54
Inf {J : ideal R | I ≤ J ∧ is_maximal J}
53
55
@@ -57,12 +59,6 @@ lemma le_jacobson : I ≤ jacobson I :=
57
59
@[simp] lemma jacobson_idem : jacobson (jacobson I) = jacobson I :=
58
60
le_antisymm (Inf_le_Inf (λ J hJ, ⟨Inf_le hJ, hJ.2 ⟩)) le_jacobson
59
61
60
- lemma radical_le_jacobson : radical I ≤ jacobson I :=
61
- le_Inf (λ J hJ, (radical_eq_Inf I).symm ▸ Inf_le ⟨hJ.left, is_maximal.is_prime hJ.right⟩)
62
-
63
- lemma eq_radical_of_eq_jacobson : jacobson I = I → radical I = I :=
64
- λ h, le_antisymm (le_trans radical_le_jacobson (le_of_eq h)) le_radical
65
-
66
62
@[simp] lemma jacobson_top : jacobson (⊤ : ideal R) = ⊤ :=
67
63
eq_top_iff.2 le_jacobson
68
64
@@ -84,42 +80,31 @@ instance jacobson.is_maximal [H : is_maximal I] : is_maximal (jacobson I) :=
84
80
⟨⟨λ htop, H.1 .1 (jacobson_eq_top_iff.1 htop),
85
81
λ J hJ, H.1 .2 _ (lt_of_le_of_lt le_jacobson hJ)⟩⟩
86
82
87
- theorem mem_jacobson_iff {x : R} : x ∈ jacobson I ↔ ∀ y, ∃ z, x * y * z + z - 1 ∈ I :=
83
+ theorem mem_jacobson_iff {x : R} : x ∈ jacobson I ↔ ∀ y, ∃ z, z * y * x + z - 1 ∈ I :=
88
84
⟨λ hx y, classical.by_cases
89
- (assume hxy : I ⊔ span {x * y + 1 } = ⊤,
85
+ (assume hxy : I ⊔ span {y * x + 1 } = ⊤,
90
86
let ⟨p, hpi, q, hq, hpq⟩ := submodule.mem_sup.1 ((eq_top_iff_one _).1 hxy) in
91
- let ⟨r, hr⟩ := mem_span_singleton.1 hq in
92
- ⟨r, by rw [← one_mul r, ← mul_assoc, ← add_mul, mul_one, ← hr, ← hpq, ← neg_sub,
93
- add_sub_cancel]; exact I.neg_mem hpi⟩)
94
- (assume hxy : I ⊔ span {x * y + 1 } ≠ ⊤,
87
+ let ⟨r, hr⟩ := mem_span_singleton'.1 hq in
88
+ ⟨r, by rw [mul_assoc, ←mul_add_one, hr, ← hpq, ← neg_sub, add_sub_cancel]; exact I.neg_mem hpi⟩)
89
+ (assume hxy : I ⊔ span {y * x + 1 } ≠ ⊤,
95
90
let ⟨M, hm1, hm2⟩ := exists_le_maximal _ hxy in
96
91
suffices x ∉ M, from (this $ mem_Inf.1 hx ⟨le_trans le_sup_left hm2, hm1⟩).elim,
97
- λ hxm, hm1.1 .1 $ (eq_top_iff_one _).2 $ add_sub_cancel' (x * y ) 1 ▸ M.sub_mem
98
- (le_sup_right.trans hm2 $ mem_span_singleton. 2 dvd_rfl )
99
- (M.mul_mem_right _ hxm)),
92
+ λ hxm, hm1.1 .1 $ (eq_top_iff_one _).2 $ add_sub_cancel' (y * x ) 1 ▸ M.sub_mem
93
+ (le_sup_right.trans hm2 $ subset_span rfl )
94
+ (M.mul_mem_left _ hxm)),
100
95
λ hx, mem_Inf.2 $ λ M ⟨him, hm⟩, classical.by_contradiction $ λ hxm,
101
- let ⟨y, hy⟩ := hm.exists_inv hxm, ⟨z, hz⟩ := hx (-y) in
102
- hm.1 .1 $ (eq_top_iff_one _).2 $ sub_sub_cancel (x * -y * z + z) 1 ▸ M.sub_mem
103
- (by { rw [← one_mul z, ← mul_assoc, ← add_mul, mul_one, mul_neg, neg_add_eq_sub,
104
- ← neg_sub, neg_mul, neg_mul_eq_mul_neg, mul_comm x y, mul_comm _ (- z)],
105
- rcases hy with ⟨i, hi, df⟩,
106
- rw [← (sub_eq_iff_eq_add.mpr df.symm), sub_sub, add_comm, ← sub_sub, sub_self, zero_sub],
107
- refine M.mul_mem_left (-z) (neg_mem_iff.mpr hi) }) (him hz)⟩
96
+ let ⟨y, i, hi, df⟩ := hm.exists_inv hxm, ⟨z, hz⟩ := hx (-y) in
97
+ hm.1 .1 $ (eq_top_iff_one _).2 $ sub_sub_cancel (z * -y * x + z) 1 ▸ M.sub_mem
98
+ (by { rw [mul_assoc, ←mul_add_one, neg_mul, ← (sub_eq_iff_eq_add.mpr df.symm), neg_sub,
99
+ sub_add_cancel],
100
+ exact M.mul_mem_left _ hi }) (him hz)⟩
108
101
109
102
lemma exists_mul_sub_mem_of_sub_one_mem_jacobson {I : ideal R} (r : R)
110
- (h : r - 1 ∈ jacobson I) : ∃ s, r * s - 1 ∈ I :=
103
+ (h : r - 1 ∈ jacobson I) : ∃ s, s * r - 1 ∈ I :=
111
104
begin
112
105
cases mem_jacobson_iff.1 h 1 with s hs,
113
106
use s,
114
- simpa [sub_mul] using hs
115
- end
116
-
117
- lemma is_unit_of_sub_one_mem_jacobson_bot (r : R)
118
- (h : r - 1 ∈ jacobson (⊥ : ideal R)) : is_unit r :=
119
- begin
120
- cases exists_mul_sub_mem_of_sub_one_mem_jacobson r h with s hs,
121
- rw [mem_bot, sub_eq_zero] at hs,
122
- exact is_unit_of_mul_eq_one _ _ hs
107
+ simpa [mul_sub] using hs
123
108
end
124
109
125
110
/-- An ideal equals its Jacobson radical iff it is the intersection of a set of maximal ideals.
@@ -209,9 +194,36 @@ begin
209
194
refine Inf_le ⟨comap_mono hJ.left, comap_is_maximal_of_surjective _ hf⟩ }
210
195
end
211
196
197
+ @[mono] lemma jacobson_mono {I J : ideal R} : I ≤ J → I.jacobson ≤ J.jacobson :=
198
+ begin
199
+ intros h x hx,
200
+ erw mem_Inf at ⊢ hx,
201
+ exact λ K ⟨hK, hK_max⟩, hx ⟨trans h hK, hK_max⟩
202
+ end
203
+
204
+ end ring
205
+
206
+ section comm_ring
207
+ variables [comm_ring R] [comm_ring S] {I : ideal R}
208
+
209
+ lemma radical_le_jacobson : radical I ≤ jacobson I :=
210
+ le_Inf (λ J hJ, (radical_eq_Inf I).symm ▸ Inf_le ⟨hJ.left, is_maximal.is_prime hJ.right⟩)
211
+
212
+ lemma eq_radical_of_eq_jacobson : jacobson I = I → radical I = I :=
213
+ λ h, le_antisymm (le_trans radical_le_jacobson (le_of_eq h)) le_radical
214
+
215
+ lemma is_unit_of_sub_one_mem_jacobson_bot (r : R)
216
+ (h : r - 1 ∈ jacobson (⊥ : ideal R)) : is_unit r :=
217
+ begin
218
+ cases exists_mul_sub_mem_of_sub_one_mem_jacobson r h with s hs,
219
+ rw [mem_bot, sub_eq_zero, mul_comm] at hs,
220
+ exact is_unit_of_mul_eq_one _ _ hs
221
+ end
222
+
212
223
lemma mem_jacobson_bot {x : R} : x ∈ jacobson (⊥ : ideal R) ↔ ∀ y, is_unit (x * y + 1 ) :=
213
224
⟨λ hx y, let ⟨z, hz⟩ := (mem_jacobson_iff.1 hx) y in
214
- is_unit_iff_exists_inv.2 ⟨z, by rwa [add_mul, one_mul, ← sub_eq_zero]⟩,
225
+ is_unit_iff_exists_inv.2 ⟨z, by rwa [add_mul, one_mul, ← sub_eq_zero, mul_right_comm,
226
+ mul_comm _ z, mul_right_comm]⟩,
215
227
λ h, mem_jacobson_iff.mpr (λ y, (let ⟨b, hb⟩ := is_unit_iff_exists_inv.1 (h y) in
216
228
⟨b, (submodule.mem_bot R).2 (hb ▸ (by ring))⟩))⟩
217
229
@@ -250,23 +262,20 @@ begin
250
262
simpa using this }
251
263
end
252
264
253
- @[mono] lemma jacobson_mono {I J : ideal R} : I ≤ J → I.jacobson ≤ J.jacobson :=
254
- begin
255
- intros h x hx,
256
- erw mem_Inf at ⊢ hx,
257
- exact λ K ⟨hK, hK_max⟩, hx ⟨trans h hK, hK_max⟩
258
- end
259
-
260
265
lemma jacobson_radical_eq_jacobson :
261
266
I.radical.jacobson = I.jacobson :=
262
267
le_antisymm (le_trans (le_of_eq (congr_arg jacobson (radical_eq_Inf I)))
263
268
(Inf_le_Inf (λ J hJ, ⟨Inf_le ⟨hJ.1 , hJ.2 .is_prime⟩, hJ.2 ⟩))) (jacobson_mono le_radical)
264
269
270
+ end comm_ring
271
+
265
272
end jacobson
266
273
267
274
section polynomial
268
275
open polynomial
269
276
277
+ variables [comm_ring R]
278
+
270
279
lemma jacobson_bot_polynomial_le_Inf_map_maximal :
271
280
jacobson (⊥ : ideal R[X]) ≤ Inf (map C '' {J : ideal R | J.is_maximal}) :=
272
281
begin
@@ -297,6 +306,8 @@ end polynomial
297
306
298
307
section is_local
299
308
309
+ variables [comm_ring R]
310
+
300
311
/-- An ideal `I` is local iff its Jacobson radical is maximal. -/
301
312
class is_local (I : ideal R) : Prop := (out : is_maximal (jacobson I))
302
313
@@ -327,7 +338,7 @@ classical.by_cases
327
338
328
339
end is_local
329
340
330
- theorem is_primary_of_is_maximal_radical {I : ideal R} (hi : is_maximal (radical I)) :
341
+ theorem is_primary_of_is_maximal_radical [comm_ring R] {I : ideal R} (hi : is_maximal (radical I)) :
331
342
is_primary I :=
332
343
have radical I = jacobson I,
333
344
from le_antisymm (le_Inf $ λ M ⟨him, hm⟩, hm.is_prime.radical_le_iff.2 him)
0 commit comments