@@ -120,47 +120,10 @@ lemma comap_map_eq_of_isUnramified [IsGalois K L] [IsUnramified R S] (I : Ideal
120
120
Ideal.mem_normalizedFactors_iff hIbot']
121
121
exact ⟨hP.1 .comap _, Ideal.comap_mono hP.2 ⟩
122
122
123
- open scoped Classical in
124
- lemma isUnramifiedAt_iff_normalizedFactors_nodup [NoZeroSMulDivisors R S] [IsDedekindDomain S]
125
- (p : Ideal R) [p.IsPrime] (hp : p ≠ ⊥) :
126
- IsUnramifiedAt S p ↔ (normalizedFactors (p.map (algebraMap R S))).Nodup := by
127
- simp_rw [Multiset.nodup_iff_count_eq_one, ← Multiset.mem_toFinset,
128
- ← factors_eq_normalizedFactors]
129
- show _ ↔ ∀ P ∈ (primesOverFinset S p : Set (Ideal S)), _
130
- simp_rw [IsUnramifiedAt, coe_primesOverFinset S p hp]
131
- refine forall₂_congr (fun P hP ↦ ?_)
132
- rw [Ideal.IsDedekindDomain.ramificationIdx_eq_factors_count]
133
- · exact (Ideal.map_eq_bot_iff_of_injective
134
- (NoZeroSMulDivisors.algebraMap_injective R S)).not.mpr hp
135
- · exact hP.1
136
- · exact ne_bot_of_mem_primesOver hp hP
137
-
138
123
section KummerDedekind
139
124
140
125
end KummerDedekind
141
126
142
- attribute [local instance] Ideal.Quotient.field in
143
- lemma isUnramifiedAt_iff_SquareFree_minpoly [NoZeroSMulDivisors R S] [IsDedekindDomain S]
144
- (p : Ideal R) [hp : p.IsPrime] (hpbot : p ≠ ⊥) (x : S)
145
- (hx : (conductor R x).comap (algebraMap R S) ⊔ p = ⊤) (hx' : IsIntegral R x) :
146
- IsUnramifiedAt S p ↔ Squarefree ((minpoly R x).map (Ideal.Quotient.mk p)) := by
147
- classical
148
- have := hp.isMaximal hpbot
149
- rw [isUnramifiedAt_iff_normalizedFactors_nodup p hpbot,
150
- KummerDedekind.normalizedFactors_ideal_map_eq_normalizedFactors_min_poly_mk_map
151
- this hpbot hx hx', Multiset.nodup_map_iff_of_injective, Multiset.nodup_attach,
152
- ← squarefree_iff_nodup_normalizedFactors (Polynomial.map_monic_ne_zero (minpoly.monic hx'))]
153
- exact Subtype.val_injective.comp
154
- (KummerDedekind.normalizedFactorsMapEquivNormalizedFactorsMinPolyMk
155
- this hpbot hx hx').symm.injective
156
-
157
- lemma isUnramifiedAt_iff_SquareFree_minpoly_powerBasis [NoZeroSMulDivisors R S] [IsDedekindDomain S]
158
- [Algebra.IsIntegral R S] (pb : PowerBasis R S)
159
- (p : Ideal R) [p.IsPrime] (hpbot : p ≠ ⊥) :
160
- IsUnramifiedAt S p ↔ Squarefree ((minpoly R pb.gen).map (Ideal.Quotient.mk p)) := by
161
- rw [isUnramifiedAt_iff_SquareFree_minpoly p hpbot pb.gen _ _]
162
- rw [conductor_eq_top_of_powerBasis, Ideal.comap_top, top_sup_eq]
163
- exact PowerBasis.isIntegral_gen pb
164
127
165
128
open nonZeroDivisors Polynomial
166
129
0 commit comments