@@ -35,11 +35,11 @@ def primesOverFinset [IsDedekindDomain S] (p : Ideal R) :
35
35
variable {S}
36
36
37
37
lemma primesOver_bot [Nontrivial R] [IsDomain S] [NoZeroSMulDivisors R S]
38
- (hRS : Algebra.IsIntegral R S) :
38
+ [ Algebra.IsIntegral R S] :
39
39
primesOver S (⊥ : Ideal R) = {⊥} := by
40
40
ext p
41
41
simp only [primesOver, Set.mem_setOf_eq, Set.mem_singleton_iff]
42
- refine ⟨fun H ↦ Ideal.eq_bot_of_comap_eq_bot hRS H.2 , ?_⟩
42
+ refine ⟨fun H ↦ Ideal.eq_bot_of_comap_eq_bot H.2 , ?_⟩
43
43
rintro rfl
44
44
rw [← RingHom.ker_eq_comap_bot, ← RingHom.injective_iff_ker_eq_bot]
45
45
exact ⟨Ideal.bot_prime, NoZeroSMulDivisors.algebraMap_injective _ _⟩
@@ -78,10 +78,10 @@ lemma primesOver_finite [Ring.DimensionLEOne R] [IsDedekindDomain S] [NoZeroSMul
78
78
· rw [primesOver_eq_empty_of_not_isPrime S p h]
79
79
exact Set.finite_empty
80
80
81
- lemma primesOver_nonempty [IsDomain S] [NoZeroSMulDivisors R S] (hRS : Algebra.IsIntegral R S)
81
+ lemma primesOver_nonempty [IsDomain S] [NoZeroSMulDivisors R S] [ Algebra.IsIntegral R S]
82
82
(p : Ideal R) [p.IsPrime] : (primesOver S p).Nonempty := by
83
83
have := Ideal.bot_prime (α := S)
84
- obtain ⟨Q, _, hQ⟩ := Ideal.exists_ideal_over_prime_of_isIntegral hRS p ⊥
84
+ obtain ⟨Q, _, hQ⟩ := Ideal.exists_ideal_over_prime_of_isIntegral p ⊥
85
85
(by rw [Ideal.comap_bot_of_injective _
86
86
(NoZeroSMulDivisors.algebraMap_injective R S)]; exact bot_le)
87
87
exact ⟨Q, hQ⟩
@@ -164,7 +164,8 @@ instance [IsGalois K L] (p : Ideal R) :
164
164
by_cases hp : p = ⊥
165
165
· subst hp
166
166
have : Subsingleton (primesOver S (⊥ : Ideal R)) := by
167
- rw [primesOver_bot (IsIntegralClosure.isIntegral_algebra R L)]; infer_instance
167
+ have : Algebra.IsIntegral R S := (IsIntegralClosure.isIntegral_algebra R L)
168
+ rw [primesOver_bot]; infer_instance
168
169
exact ⟨1 , Subsingleton.elim _ _⟩
169
170
have hP := isMaximal_of_mem_primesOver hp P.prop
170
171
-- Suppose the contrary that `σ • P ≠ Q` for all `σ`.
@@ -242,17 +243,17 @@ lemma Ideal.ramificationIdxIn_bot : (⊥ : Ideal R).ramificationIdxIn S = 0 := b
242
243
· exact dif_neg h
243
244
244
245
lemma Ideal.inertiaDegIn_bot [Nontrivial R] [IsDomain S] [NoZeroSMulDivisors R S] [IsNoetherian R S]
245
- (hRS : Algebra.IsIntegral R S) [H : (⊥ : Ideal R).IsMaximal] :
246
+ [ Algebra.IsIntegral R S] [H : (⊥ : Ideal R).IsMaximal] :
246
247
(⊥ : Ideal R).inertiaDegIn S = FiniteDimensional.finrank R S := by
247
248
delta inertiaDegIn
248
- rw [primesOver_bot hRS ]
249
+ rw [primesOver_bot]
249
250
have : ({⊥} : Set (Ideal S)).Nonempty := by simp
250
251
rw [dif_pos this, this.choose_spec]
251
252
have hR := not_imp_not.mp (Ring.ne_bot_of_isMaximal_of_not_isField H) rfl
252
- have hS := isField_of_isIntegral_of_isField' hRS hR
253
+ have hS := isField_of_isIntegral_of_isField' (S := S) hR
253
254
letI : Field R := hR.toField
254
255
letI : Field S := hS.toField
255
- have : IsIntegralClosure S R S := isIntegralClosure_self hRS
256
+ have : IsIntegralClosure S R S := isIntegralClosure_self
256
257
rw [← Ideal.map_bot (f := algebraMap R S), ← finrank_quotient_map (R := R) (S := S) ⊥ R S]
257
258
exact inertiaDeg_algebraMap _ _
258
259
@@ -358,11 +359,12 @@ lemma prod_smul_primesOver [IsGalois K L] (p : Ideal R) (P : primesOver S p) [p.
358
359
by_cases hp : p = ⊥
359
360
· subst hp
360
361
have := P.prop
361
- simp_rw [primesOver_bot (S := S) (IsIntegralClosure.isIntegral_algebra R L),
362
+ have hRS : Algebra.IsIntegral R S := IsIntegralClosure.isIntegral_algebra R L
363
+ simp_rw [primesOver_bot (S := S),
362
364
Set.mem_singleton_iff] at this
363
365
simp_rw [coe_smul_primesOver, this,
364
366
Ideal.comap_bot_of_injective _ (galRestrict R K L S _).injective, Finset.prod_const,
365
- Ideal.map_bot, Ideal.inertiaDegIn_bot R S (IsIntegralClosure.isIntegral_algebra R L) ]
367
+ Ideal.map_bot, Ideal.inertiaDegIn_bot R S]
366
368
refine (zero_pow ?_).trans (zero_pow ?_).symm
367
369
· rw [Finset.card_univ, Ne, Fintype.card_eq_zero_iff]
368
370
simp only [not_isEmpty_of_nonempty, not_false_eq_true]
0 commit comments