Module

AbsoluteAbelianization.lean

Nyll.ClassFieldTheory.AlgebraicNumberTheory.Galois.AbsoluteAbelianization
14 declarations indexed from sourceView source ↗

Absolute abelianization inside the separable closure

For an arbitrary field, this module identifies the topological abelianization of the Galois group of its separable closure with the Galois group of the maximal abelian subextension. Working inside the separable closure makes the construction uniform in every characteristic.

Declarations

The closure of the commutator subgroup of the separable absolute Galois group, packaged as a closed subgroup.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
def absoluteCommutatorClosure :
    ClosedSubgroup Gal(SeparableClosure K / K) where
  toSubgroup :=
    (commutator Gal(SeparableClosure K / K)).topologicalClosure
  isClosed' := Subgroup.isClosed_topologicalClosure _

The topological closure of the absolute commutator subgroup is normal.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
instance absoluteCommutatorClosure_normal :
    (absoluteCommutatorClosure K).Normal

The maximal abelian subextension of the separable closure.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
def maximalAbelianExtension :
    IntermediateField K (SeparableClosure K)

The maximal abelian subextension is Galois over the base field.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
instance maximalAbelianExtension_isGalois :
    IsGalois K (maximalAbelianExtension K)

The algebraic quotient equivalence from the absolute topological abelianization to the Galois group of the maximal abelian extension.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
def absoluteAbelianizationMulEquivMaximalAbelianGalois :
    TopologicalAbelianization Gal(SeparableClosure K / K) ≃*
      Gal(maximalAbelianExtension K / K)

The algebraic equivalence sends a quotient class to restriction to the maximal abelian extension.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
theorem absoluteAbelianizationMulEquivMaximalAbelianGalois_mk
    (sigma : Gal(SeparableClosure K/K)) :
    absoluteAbelianizationMulEquivMaximalAbelianGalois K
        (QuotientGroup.mk sigma) =
      AlgEquiv.restrictNormalHom (maximalAbelianExtension K) sigma

The algebraic equivalence from the absolute abelianization is continuous.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
theorem absoluteAbelianizationMulEquivMaximalAbelianGalois_continuous :
    Continuous (absoluteAbelianizationMulEquivMaximalAbelianGalois K)

The canonical topological identification of the absolute separable Galois group's abelianization with the maximal abelian Galois group.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
def absoluteTopologicalAbelianizationEquivMaximalAbelianGalois :
    TopologicalAbelianization Gal(SeparableClosure K / K) ≃ₜ*
      Gal(maximalAbelianExtension K / K)

The absolute topological abelianization is totally disconnected.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
instance absoluteTopologicalAbelianization_totallyDisconnectedSpace :
    TotallyDisconnectedSpace
      (TopologicalAbelianization Gal(SeparableClosure K / K))

The maximal abelian subextension has an abelian Galois group.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
instance maximalAbelianExtension_isAbelianGalois :
    IsAbelianGalois K (maximalAbelianExtension K) where
  is_comm.comm sigma tau := by
    apply
      (absoluteTopologicalAbelianizationEquivMaximalAbelianGalois K).symm.injective
    simp only [map_mul]
    exact mul_comm _ _

Every finite abelian intermediate field of the separable closure is contained in the maximal abelian extension.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
theorem finiteAbelianIntermediateField_le_maximalAbelianExtension
    (E : IntermediateField K (SeparableClosure K))
    [FiniteDimensional K E] [IsAbelianGalois K E] :
    E ≤ maximalAbelianExtension K

A selected embedding of a finite abelian extension into the maximal abelian extension. Naming this embedding keeps downstream finite-coordinate arguments independent of the implementation of the separable closure.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
def finiteAbelianExtensionEmbeddingIntoMaximalAbelianExtension
    (L : Type*) [Field L] [Algebra K L]
    [FiniteDimensional K L] [IsAbelianGalois K L] :
    L →ₐ[K] maximalAbelianExtension K

The finite Galois intermediate field of the maximal abelian extension selected by a finite abelian extension.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
def finiteAbelianExtensionInMaximalAbelianExtension
    (L : Type*) [Field L] [Algebra K L]
    [FiniteDimensional K L] [IsAbelianGalois K L] :
    FiniteGaloisIntermediateField K (maximalAbelianExtension K)

The selected finite layer is canonically equivalent to the original finite abelian extension.

Source context 3 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
open scoped IsMulCommutative
variable (K : Type) [Field K]
def finiteAbelianExtensionEquivInMaximalAbelianExtension
    (L : Type*) [Field L] [Algebra K L]
    [FiniteDimensional K L] [IsAbelianGalois K L] :
    L ≃ₐ[K] finiteAbelianExtensionInMaximalAbelianExtension K L