@@ -5,7 +5,7 @@ Authors: Xavier Roblot
55-/
66module
77
8- public import Mathlib.NumberTheory .RamificationInertia.Basic
8+ public import Mathlib.RingTheory .RamificationInertia.Basic
99
1010/-!
1111# Primes in an extension of localization at prime
@@ -175,32 +175,28 @@ theorem inertiaDeg_map_eq_inertiaDeg [p.IsMaximal] [P.IsMaximal]
175175 ext x
176176 exact algebraMap_equivQuotMaximalIdeal_symm_apply p Rₚ Sₚ P x
177177
178- theorem ramificationIdx_map_eq_ramificationIdx [IsDomain R] [IsTorsionFree R S] [IsTorsionFree R Rₚ]
179- [IsTorsionFree S Sₚ] [IsTorsionFree Rₚ Sₚ] [IsDedekindDomain S] [IsDedekindDomain Rₚ]
180- [IsDedekindDomain Sₚ] (hp : p ≠ ⊥) [P.IsPrime] :
181- (maximalIdeal Rₚ).ramificationIdx (P.map (algebraMap S Sₚ)) =
182- p.ramificationIdx P := by
183- have h₁ : maximalIdeal Rₚ ≠ ⊥ := by
184- rw [← map_eq_maximalIdeal p]
185- exact map_ne_bot_of_ne_bot hp
186- have : (P.map (algebraMap S Sₚ)).IsPrime := isPrime_map_of_liesOver S p Sₚ P
187- by_cases hP : P = ⊥
188- · simp_rw [hP, Ideal.map_bot, ramificationIdx_bot' hp
189- (FaithfulSMul.algebraMap_injective _ _),
190- ramificationIdx_bot' h₁ (FaithfulSMul.algebraMap_injective Rₚ Sₚ)]
191- have : P.IsMaximal := IsPrime.isMaximal inferInstance hP
192- have : (Ideal.map (algebraMap S Sₚ) P).LiesOver (maximalIdeal Rₚ) :=
193- liesOver_map_of_liesOver p Rₚ Sₚ P
194- have : (Ideal.map (algebraMap S Sₚ) P).LiesOver P := by
195- rw [liesOver_iff, under_def, comap_map_eq_self_of_isMaximal _ (IsPrime.ne_top')]
196- have h_main :=
197- (ramificationIdx_algebra_tower' p (maximalIdeal Rₚ) (Ideal.map (algebraMap S Sₚ) P)).symm.trans
198- <| ramificationIdx_algebra_tower' p P (Ideal.map (algebraMap S Sₚ) P)
199- rwa [ramificationIdx_map_self_eq_one IsPrime.ne_top' (map_ne_bot_of_ne_bot hP), mul_one,
200- ← map_eq_maximalIdeal p, ramificationIdx_map_self_eq_one _ (map_ne_bot_of_ne_bot hp), one_mul,
201- map_eq_maximalIdeal p] at h_main
202- rw [map_eq_maximalIdeal]
203- exact IsPrime.ne_top'
178+ include p in
179+ theorem ramificationIdx_map_eq_ramificationIdx [P.IsPrime] :
180+ (P.map (algebraMap S Sₚ)).ramificationIdx' Rₚ = P.ramificationIdx' R := by
181+ have := liesOver_map_of_liesOver p Rₚ Sₚ P
182+ have := IsLocalization.liesOver_map_of_isPrime_disjoint (algebraMapSubmonoid S p.primeCompl) Sₚ
183+ (Set.disjoint_image_left.mpr (Set.disjoint_compl_left_iff_subset.mpr hPp.over.ge))
184+ have := isPrime_map_of_liesOver S p Sₚ P
185+ rw [ramificationIdx'_eq (maximalIdeal Rₚ) (P.map (algebraMap S Sₚ)), ramificationIdx'_eq p P]
186+ let R₁ := Localization.AtPrime (P.map (algebraMap S Sₚ))
187+ let R₂ := Localization.AtPrime P
188+ let : Algebra R₂ R₁ := Localization.AtPrime.algebraOfLiesOver P (P.map (algebraMap S Sₚ))
189+ have : IsLocalization.AtPrime R₁ P := by
190+ convert isLocalization_isLocalization_atPrime_isLocalization
191+ (algebraMapSubmonoid S p.primeCompl) R₁ (P.map (algebraMap S Sₚ))
192+ rw [← Ideal.under_def, ← Ideal.over_def (P.map (algebraMap S Sₚ)) P]
193+ have h : Function.Bijective (algebraMap R₂ R₁) :=
194+ (Localization.algEquiv P.primeCompl R₁).bijective
195+ have key : p.map (algebraMap R R₂) =
196+ ((maximalIdeal Rₚ).map (algebraMap Rₚ R₁)).comap (algebraMap R₂ R₁) := by
197+ rw [← IsLocalization.AtPrime.map_eq_maximalIdeal p, p.map_map, ← IsScalarTower.algebraMap_eq,
198+ IsScalarTower.algebraMap_eq R R₂ R₁, ← p.map_map, comap_map_of_bijective _ h]
199+ rw [Module.length_quotient, Module.length_quotient, key, coheight_comap_of_surjective _ h.2 ]
204200
205201end IsLocalization.AtPrime
206202
@@ -250,12 +246,9 @@ theorem primesOverEquivPrimesOver_inertiagDeg_eq [p.IsMaximal] (hp : p ≠ ⊥)
250246 have : (P.1 .map (algebraMap S Sₚ)).LiesOver (maximalIdeal Rₚ) := liesOver_map_of_liesOver p _ _ _
251247 exact inertiaDeg_map_eq_inertiaDeg p _ _ _
252248
253- theorem primesOverEquivPrimesOver_ramificationIdx_eq (hp : p ≠ ⊥) [NoZeroSMulDivisors R Rₚ]
254- [NoZeroSMulDivisors S Sₚ] [NoZeroSMulDivisors Rₚ Sₚ] [IsDedekindDomain Rₚ] [IsDedekindDomain Sₚ]
255- (P : p.primesOver S) :
256- (maximalIdeal Rₚ).ramificationIdx
257- (primesOverEquivPrimesOver p Rₚ Sₚ hp P : Ideal Sₚ) =
258- p.ramificationIdx P.val :=
259- ramificationIdx_map_eq_ramificationIdx p _ _ _ hp
249+ theorem primesOverEquivPrimesOver_ramificationIdx_eq (hp : p ≠ ⊥) (P : p.primesOver S) :
250+ (primesOverEquivPrimesOver p Rₚ Sₚ hp P : Ideal Sₚ).ramificationIdx' Rₚ =
251+ P.val.ramificationIdx' R :=
252+ ramificationIdx_map_eq_ramificationIdx p _ _ _
260253
261254end IsDedekindDomain
0 commit comments