@@ -1203,43 +1203,29 @@ simpa only [@local_ring.mem_maximal_ideal (f.codomain), mem_nonunits_iff, not_no
1203
1203
end localization_map
1204
1204
1205
1205
namespace localization
1206
+ open localization_map
1206
1207
1207
1208
local attribute [instance] classical.prop_decidable
1208
1209
1209
- /-- The image of `P` in the localization at `P.prime_compl` is a maximal ideal, and in particular
1210
- it is the unique maximal ideal given by the local ring structure `at_prime.local_ring` -/
1211
- lemma at_prime.map_eq_maximal_ideal {P : ideal R} [hP : ideal.is_prime P] :
1212
- ideal.map (localization.of P.prime_compl).to_map P =
1213
- (local_ring.maximal_ideal (localization P.prime_compl)) :=
1214
- begin
1215
- let f := localization.of P.prime_compl,
1216
- ext x,
1217
- split; simp only [local_ring.mem_maximal_ideal, mem_nonunits_iff]; intro hx,
1218
- { exact λ h, (localization_map.is_prime_of_is_prime_disjoint f P hP
1219
- disjoint_compl_left).ne_top (ideal.eq_top_of_is_unit_mem _ hx h) },
1220
- { obtain ⟨⟨a, b⟩, hab⟩ := localization_map.surj f x,
1221
- contrapose! hx,
1222
- rw is_unit_iff_exists_inv,
1223
- rw localization_map.mem_map_to_map_iff at hx,
1224
- obtain ⟨a', ha'⟩ := is_unit_iff_exists_inv.1
1225
- (localization_map.map_units f ⟨a, λ ha, hx ⟨⟨⟨a, ha⟩, b⟩, hab⟩⟩),
1226
- exact ⟨f.to_map b * a', by rwa [← mul_assoc, hab]⟩ }
1227
- end
1210
+ variables (I : ideal R) [hI : I.is_prime]
1211
+ include hI
1228
1212
1229
- /-- The unique maximal ideal of the localization at `P.prime_compl` lies over the ideal `P`. -/
1230
- lemma at_prime.comap_maximal_ideal {P : ideal R} [ideal.is_prime P] :
1231
- ideal.comap (localization.of P.prime_compl).to_map
1232
- (local_ring.maximal_ideal (localization P.prime_compl)) = P :=
1213
+ variables {I}
1214
+ /-- The unique maximal ideal of the localization at `I.prime_compl` lies over the ideal `I`. -/
1215
+ lemma at_prime.comap_maximal_ideal :
1216
+ ideal.comap (localization.of I.prime_compl).to_map
1217
+ (local_ring.maximal_ideal (localization I.prime_compl)) = I :=
1218
+ ideal.ext $ λ x, by
1219
+ simpa only [ideal.mem_comap] using at_prime.to_map_mem_maximal_iff I _ x
1220
+
1221
+ /-- The image of `I` in the localization at `I.prime_compl` is a maximal ideal, and in particular
1222
+ it is the unique maximal ideal given by the local ring structure `at_prime.local_ring` -/
1223
+ lemma at_prime.map_eq_maximal_ideal :
1224
+ ideal.map (localization.of I.prime_compl).to_map I =
1225
+ (local_ring.maximal_ideal (localization I.prime_compl)) :=
1233
1226
begin
1234
- let Pₚ := local_ring.maximal_ideal (localization P.prime_compl),
1235
- refine le_antisymm (λ x hx, _)
1236
- (le_trans ideal.le_comap_map (ideal.comap_mono (le_of_eq at_prime.map_eq_maximal_ideal))),
1237
- by_cases h0 : x = 0 ,
1238
- { exact h0.symm ▸ P.zero_mem },
1239
- { have : Pₚ.is_prime := ideal.is_maximal.is_prime (local_ring.maximal_ideal.is_maximal _),
1240
- rw localization_map.is_prime_iff_is_prime_disjoint (localization.of P.prime_compl) at this ,
1241
- contrapose! h0 with hx',
1242
- simpa using this.2 ⟨hx', hx⟩ }
1227
+ convert congr_arg (ideal.map (localization.of _).to_map) at_prime.comap_maximal_ideal.symm,
1228
+ rw map_comap,
1243
1229
end
1244
1230
1245
1231
end localization
0 commit comments