Restriction identifies the actual lower Galois group G(M/M⁰) with the original totally ramified group G(L/K).
Source context 6 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
namespace ClassFormation
open KummerTheory
open CyclicCohomology
-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace DegreeDatadef abstractReciprocityTotallyRamifiedRestrictionEquiv
(D : DegreeData G)
[IsTopologicalGroup G] [CompactSpace G] [T2Space G]
(K : FiniteResidueAbstractField D)
(L : FiniteGaloisSubextension K.field)
(hTot : L.IsTotallyRamified D)
(q : L.extensionQuotient) :
let M := D.abstractReciprocityTotallyRamifiedFiniteGaloisExtension
K L hTot q
let S := M.inertiaImage D
let N := M.lowerFiniteGalois S
letI : (extensionSubgroup
(M.maximalUnramifiedSubextension D) M.field N.below).Normal :=
N.normal
N.extensionQuotient ≃* L.extensionQuotient := by
let M := D.abstractReciprocityTotallyRamifiedFiniteGaloisExtension
K L hTot q
let hML := D.abstractReciprocityTotallyRamifiedFiniteGaloisExtension_le_L
K L hTot q
have hInertia : ∀ i : K.field.toSubgroup,
i ∈ D.fieldInertiaWithin K.field →
i.1 ∈ L.field.toSubgroup → i.1 ∈ M.field.toSubgroup := by
intro i hiI hiL
apply D.maximalUnramifiedField_le_abstractReciprocityTotallyRamifiedFiniteGaloisExtension
K L hTot q
exact ⟨hiL, (D.mem_fieldInertiaWithin_iff K.field i).1 hiI⟩
letI : (extensionSubgroup K.field L.field L.below).Normal := L.normal
let EL := L.toFiniteAbstractExtension.toAbstractExtension
letI : (extensionSubgroup EL.base EL.field EL.below).Normal := by
change (extensionSubgroup K.field L.field L.below).Normal
exact L.normal
letI : Group EL.quotient := by
change Group
(K.field.toSubgroup ⧸ extensionSubgroup K.field L.field L.below)
infer_instance
exact (M.abstractReciprocityRestrictionMulEquiv
D EL
hML hTot hInertia).trans
L.extensionQuotientMulEquiv.symm