Module

ClassField.lean

Nyll.ClassFieldTheory.AbstractClassFieldTheory.Reciprocity.ClassField
13 declarations indexed from sourceView source ↗

The abstract class-field correspondence

This file gives the inverse direction of the finite abelian classification: a norm-open subgroup produces its class field. The construction is the inverse of the order isomorphism proved by abstract class field theory, so the defining norm-subgroup equality and the two lattice formulas are consequences rather than extra assumptions.

Declarations

ClassFormation.FiniteAbelianSubextension.classField

The class field belonging to a norm-open subgroup.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
def classField
    (v : ValuationData D A) (hcf : SatisfiesClassFieldAxiom A)
    [IsTopologicalGroup G] [CompactSpace G] [T2Space G]
    [TotallyDisconnectedSpace G]
    (K : FiniteAbstractField G)
    (N : NormOpenAddSubgroup A K.field) :
    FiniteAbelianSubextension K.field
ClassFormation.FiniteAbelianSubextension.classField_normSubgroup

The norm subgroup of the class field of N is N.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
theorem classField_normSubgroup
    (v : ValuationData D A) (hcf : SatisfiesClassFieldAxiom A)
    [IsTopologicalGroup G] [CompactSpace G] [T2Space G]
    [TotallyDisconnectedSpace G]
    (K : FiniteAbstractField G)
    (N : NormOpenAddSubgroup A K.field) :
    (classField v hcf K N).normSubgroup A = N.1
ClassFormation.FiniteAbelianSubextension.classField_normSubgroupMap

Taking the class field is inverse to taking the norm subgroup.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
theorem classField_normSubgroupMap
    (v : ValuationData D A) (hcf : SatisfiesClassFieldAxiom A)
    [IsTopologicalGroup G] [CompactSpace G] [T2Space G]
    [TotallyDisconnectedSpace G]
    (K : FiniteAbstractField G)
    (L : FiniteAbelianSubextension K.field) :
    classField v hcf K (normSubgroupMap A L) = L
ClassFormation.FiniteAbelianSubextension.eq_classField_iff_normSubgroup_eq

Characterization of the unique class field having norm subgroup N.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
theorem eq_classField_iff_normSubgroup_eq
    (v : ValuationData D A) (hcf : SatisfiesClassFieldAxiom A)
    [IsTopologicalGroup G] [CompactSpace G] [T2Space G]
    [TotallyDisconnectedSpace G]
    (K : FiniteAbstractField G)
    (L : FiniteAbelianSubextension K.field)
    (N : NormOpenAddSubgroup A K.field) :
    L = classField v hcf K N ↔ L.normSubgroup A = N.1
ClassFormation.FiniteAbelianSubextension.classField_le_classField_iff

Inclusion of class fields is reverse inclusion of their defining norm subgroups.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
theorem classField_le_classField_iff
    (v : ValuationData D A) (hcf : SatisfiesClassFieldAxiom A)
    [IsTopologicalGroup G] [CompactSpace G] [T2Space G]
    [TotallyDisconnectedSpace G]
    (K : FiniteAbstractField G)
    (N₁ N₂ : NormOpenAddSubgroup A K.field) :
    classField v hcf K N₁ ≤ classField v hcf K N₂ ↔ N₂.1 ≤ N₁.1
ClassFormation.FiniteAbelianSubextension.le_classField_iff

A finite abelian extension lies in the class field of N exactly when its norm subgroup contains N.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
theorem le_classField_iff
    (v : ValuationData D A) (hcf : SatisfiesClassFieldAxiom A)
    [IsTopologicalGroup G] [CompactSpace G] [T2Space G]
    [TotallyDisconnectedSpace G]
    (K : FiniteAbstractField G)
    (L : FiniteAbelianSubextension K.field)
    (N : NormOpenAddSubgroup A K.field) :
    L ≤ classField v hcf K N ↔ N.1 ≤ L.normSubgroup A
ClassFormation.FiniteAbelianSubextension.classField_le_iff

The class field of N lies in L exactly when the norm subgroup of L lies in N.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
theorem classField_le_iff
    (v : ValuationData D A) (hcf : SatisfiesClassFieldAxiom A)
    [IsTopologicalGroup G] [CompactSpace G] [T2Space G]
    [TotallyDisconnectedSpace G]
    (K : FiniteAbstractField G)
    (N : NormOpenAddSubgroup A K.field)
    (L : FiniteAbelianSubextension K.field) :
    classField v hcf K N ≤ L ↔ L.normSubgroup A ≤ N.1
ClassFormation.FiniteAbelianSubextension.normOpenInf

Intersection of two norm-open subgroups, with its openness produced from finite Galois norm neighbourhoods.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
def normOpenInf
    (K : FiniteAbstractField G)
    (N₁ N₂ : NormOpenAddSubgroup A K.field) :
    NormOpenAddSubgroup A K.field
ClassFormation.FiniteAbelianSubextension.normOpenSup

Product of two norm-open subgroups, with openness produced by either of its open factors.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
def normOpenSup
    (K : FiniteAbstractField G)
    (N₁ N₂ : NormOpenAddSubgroup A K.field) :
    NormOpenAddSubgroup A K.field
ClassFormation.FiniteAbelianSubextension.normOpenInf_val
Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
theorem normOpenInf_val
    (K : FiniteAbstractField G)
    (N₁ N₂ : NormOpenAddSubgroup A K.field) :
    (normOpenInf K N₁ N₂).1 = N₁.1 ⊓ N₂.1
ClassFormation.FiniteAbelianSubextension.normOpenSup_val
Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
theorem normOpenSup_val
    (K : FiniteAbstractField G)
    (N₁ N₂ : NormOpenAddSubgroup A K.field) :
    (normOpenSup K N₁ N₂).1 = N₁.1 ⊔ N₂.1
ClassFormation.FiniteAbelianSubextension.classField_normOpenInf

The class field of an intersection of norm groups is the compositum of the two class fields.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
theorem classField_normOpenInf
    (v : ValuationData D A) (hcf : SatisfiesClassFieldAxiom A)
    [IsTopologicalGroup G] [CompactSpace G] [T2Space G]
    [TotallyDisconnectedSpace G]
    (K : FiniteAbstractField G)
    (N₁ N₂ : NormOpenAddSubgroup A K.field) :
    classField (D := D) v hcf K (normOpenInf K N₁ N₂) =
      (classField (D := D) v hcf K N₁).compositum
        (classField (D := D) v hcf K N₂)
ClassFormation.FiniteAbelianSubextension.classField_normOpenSup

The class field of a product of norm groups is the intersection of the two class fields.

Source context 6 commands

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

noncomputable section
namespace ClassFormation
open CyclicCohomology KummerTheory

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
namespace FiniteAbelianSubextension
variable {D : DegreeData G} {A : Rep ℤ G}
theorem classField_normOpenSup
    (v : ValuationData D A) (hcf : SatisfiesClassFieldAxiom A)
    [IsTopologicalGroup G] [CompactSpace G] [T2Space G]
    [TotallyDisconnectedSpace G]
    (K : FiniteAbstractField G)
    (N₁ N₂ : NormOpenAddSubgroup A K.field) :
    classField (D := D) v hcf K (normOpenSup K N₁ N₂) =
      (classField (D := D) v hcf K N₁).intersection
        (classField (D := D) v hcf K N₂)