localNormalizationPrime_ramificationIdx_eq_splitStrictNormalCrossingsGaloisIndex_at_largerPrime
After localization at a larger prime and then at an active branch, every prime of the normalization has ramification index equal to the common Galois index prescribed for that branch.
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open ValuationTheory
open ValuationTheory.DiscreteValuationField
open ValuationTheory.DiscreteValuationField.ValuedExtension
namespace EtaleFundamentalGroups.Kummer
universe uA uK uL uV uCtheorem
localNormalizationPrime_ramificationIdx_eq_splitStrictNormalCrossingsGaloisIndex_at_largerPrime
{A : Type uA} {K : Type uK} {L : Type uL}
[CommRing A] [IsDomain A] [IsLocalRing A] [IsRegularRing A]
[Field K] [Field L]
[Algebra A K] [IsFractionRing A K]
[Algebra K L] [Algebra A L] [IsScalarTower A K L]
[FiniteDimensional K L] [IsGalois K L]
{d r : ℕ} {f : A} {t : Fin d → A}
(hNC : IsSplitStrictNormalCrossingsAt f t r)
(j : Fin d) (hj : j.1 < r)
(P : Ideal A) [P.IsPrime] (htjP : t j ∈ P) :
let p₀ := Ideal.span ({t j} : Set A)
letI : p₀.IsPrime :=
Ideal.isPrime_span_singleton_of_prime (hNC.2.2.2.1 j hj)
let R := Localization.AtPrime P
letI : Algebra R K :=
localizationAtPrimeToFractionFieldAlgebra (K := K) P
letI : Algebra R L :=
localizationAtPrimeToExtensionAlgebra (K := K) (L := L) P
letI : IsScalarTower R K L :=
localizationAtPrimeToFractionFieldToExtension_isScalarTower
(K := K) (L := L) P
letI : IsFractionRing R K :=
localizationAtPrimeToFractionField_isFractionRing (K := K) P
let pR := p₀.map (algebraMap A R)
letI : pR.IsPrime := Ideal.isPrime_map_of_isLocalizationAtPrime P
(P.span_singleton_le_iff_mem.mpr htjP)
let V := Localization.AtPrime pR
letI : Algebra V K :=
localizationAtPrimeToFractionFieldAlgebra (K := K) pR
letI : Algebra V L :=
localizationAtPrimeToExtensionAlgebra (K := K) (L := L) pR
letI : IsScalarTower V K L :=
localizationAtPrimeToFractionFieldToExtension_isScalarTower
(K := K) (L := L) pR
let C := integralClosure V L
∀ Q : (IsLocalRing.maximalIdeal V).primesOver C,
Q.1.ramificationIdx V =
splitStrictNormalCrossingsGaloisRamificationIndex
(K := K) (L := L) t hNC j := by
dsimp only
let p₀ := Ideal.span ({t j} : Set A)
let : p₀.IsPrime :=
Ideal.isPrime_span_singleton_of_prime (hNC.2.2.2.1 j hj)
let R := Localization.AtPrime P
let : Algebra R K :=
localizationAtPrimeToFractionFieldAlgebra (K := K) P
let : Algebra R L :=
localizationAtPrimeToExtensionAlgebra (K := K) (L := L) P
let : IsScalarTower R K L :=
localizationAtPrimeToFractionFieldToExtension_isScalarTower
(K := K) (L := L) P
let : IsFractionRing R K :=
localizationAtPrimeToFractionField_isFractionRing (K := K) P
let pR := p₀.map (algebraMap A R)
let : pR.IsPrime := Ideal.isPrime_map_of_isLocalizationAtPrime P
(P.span_singleton_le_iff_mem.mpr htjP)
let V := Localization.AtPrime pR
let : Algebra V K :=
localizationAtPrimeToFractionFieldAlgebra (K := K) pR
let : Algebra V L :=
localizationAtPrimeToExtensionAlgebra (K := K) (L := L) pR
let : IsScalarTower V K L :=
localizationAtPrimeToFractionFieldToExtension_isScalarTower
(K := K) (L := L) pR
let C := integralClosure V L
have hp₀ : p₀.height = 1 :=
Ideal.height_span_singleton_eq_one_of_mem_nonZeroDivisors
(mem_nonZeroDivisors_iff_ne_zero.mpr
(hNC.2.2.2.1 j hj).ne_zero)
(hNC.2.2.2.1 j hj).not_isUnit
have hp₀P : p₀ ≤ P := P.span_singleton_le_iff_mem.mpr htjP
intro Q
rw [localNormalizationPrime_ramificationIdx_eq_galoisBranchIndex_at_largerPrime
(K := K) (L := L) p₀ P hp₀ hp₀P Q]
rw [splitStrictNormalCrossingsGaloisRamificationIndex_eq
(K := K) (L := L) t hNC j hj]
rfl