|G₀| = e for Galois Dedekind local extensions
Provedcard_lowerRamificationGroup_zero_eq_ramificationIdxInLet be a commutative local ring which is also a Dedekind domain, and let be a commutative local ring which is a Dedekind domain, equipped with an -algebra structure making a torsion-free and module-finite -module. Let be a group acting on by ring automorphisms, with finite, such that IsGaloisGroup G A B holds, i.e. realises as a Galois extension in the sense of that predicate. Assume the maximal ideal of lies over the maximal ideal of , and that the residue extension is separable. Assume finally . Then the cardinality of the zeroth lower-numbering ramification group of relative to — which by definition is the inertia subgroup of attached to the ideal , namely the subgroup of those with for all — equals , the ramification index ramificationIdxIn of in .
This is the classical identification of the order of the inertia group with the ramification index, , in the local Galois setting with separable residue extension. It is used to convert the different-filtration formula, which is naturally expressed through , into the tame statement ; it is cited by IsDiscreteValuationRing.addVal_coe_eq_lowerRamificationCard_zero_mul_addVal_fixedPoints.
import Definitions.Def_DifferentFiltrationFormula import Mathlib.NumberTheory.RamificationInertia.Galois set_option maxHeartbeats 4000000 set_option synthInstance.maxHeartbeats 400000 set_option backward.isDefEq.respectTransparency.types false
theorem card_lowerRamificationGroup_zero_eq_ramificationIdxIn
{A : Type*} [CommRing A] [IsLocalRing A]
{B : Type*} [CommRing B] [IsDedekindDomain B] [IsLocalRing B]
[Algebra A B] [Module.IsTorsionFree A B]
{G : Type*} [Group G] [MulSemiringAction G B]
[IsDedekindDomain A] [Module.Finite A B] [IsGaloisGroup G A B] [Finite G]
[(IsLocalRing.maximalIdeal B).LiesOver (IsLocalRing.maximalIdeal A)]
[Algebra.IsSeparable (A ⧸ IsLocalRing.maximalIdeal A) (B ⧸ IsLocalRing.maximalIdeal B)]
(hp : IsLocalRing.maximalIdeal A ≠ ⊥) :
Nat.card (IsLocalRing.lowerRamificationGroup B G 0)
= (IsLocalRing.maximalIdeal A).ramificationIdxIn B := by sorry