Module

ContinuousH1.lean

Nyll.ProCGroups.ProP.ContinuousH1
7 declarations indexed from sourceView source ↗

Continuous degree-one ZMod p classes

For the trivial action, continuous degree-one cohomology is represented by continuous additive characters into the discrete group ZMod p. This file also proves that every such character kills the closed power--commutator subgroup. No general cohomology package is imported: that dependency is much larger than the degree-one statement needed by the tower argument.

Declarations

ClassFieldTower.ProP.ContinuousH1ZMod

Continuous degree-one classes for the trivial ZMod p action.

Source context 5 commands

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

open scoped Topology commutatorElement
namespace ClassFieldTower.ProP
universe u
variable {p : ℕ} {G : Type u}
variable [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
abbrev ContinuousH1ZMod
ClassFieldTower.ProP.continuousH1ZModModule

The canonical ZMod p-module structure on continuous degree-one classes.

It is deliberately a named definition rather than a global data instance; downstream files activate it once per section.

Source context 5 commands

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

open scoped Topology commutatorElement
namespace ClassFieldTower.ProP
universe u
variable {p : ℕ} {G : Type u}
variable [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
def continuousH1ZModModule :
    Module (ZMod p) (ContinuousH1ZMod (p := p) (G := G))
Source context 5 commands

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

open scoped Topology commutatorElement
namespace ClassFieldTower.ProP
universe u
variable {p : ℕ} {G : Type u}
variable [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
instance : Module (ZMod p) (ContinuousH1ZMod (p := p) (G := G))
ClassFieldTower.ProP.characterOfH1

Reinterpret an additive degree-one class as a multiplicative character.

Source context 6 commands

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

open scoped Topology commutatorElement
namespace ClassFieldTower.ProP
universe u
variable {p : ℕ} {G : Type u}
variable [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
local instance : Module (ZMod p) (ContinuousH1ZMod (p := p) (G := G)) :=
  continuousH1ZModModule
def characterOfH1 (f : ContinuousH1ZMod (p := p) (G := G)) :
    G →ₜ* Multiplicative (ZMod p) where
  toFun g := Multiplicative.ofAdd (f (Additive.ofMul g))
  map_one' := f.map_zero
  map_mul' g h := f.map_add (Additive.ofMul g) (Additive.ofMul h)
  continuous_toFun := f.continuous_toFun
ClassFieldTower.ProP.h1OfCharacter

Reinterpret a multiplicative ZMod p character as an additive degree-one class.

Source context 6 commands

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

open scoped Topology commutatorElement
namespace ClassFieldTower.ProP
universe u
variable {p : ℕ} {G : Type u}
variable [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
local instance : Module (ZMod p) (ContinuousH1ZMod (p := p) (G := G)) :=
  continuousH1ZModModule
def h1OfCharacter (f : G →ₜ* Multiplicative (ZMod p)) :
    ContinuousH1ZMod (p := p) (G := G) where
  toFun g := Multiplicative.toAdd (f (Additive.toMul g))
  map_zero' := f.map_one
  map_add' g h := f.map_mul (Additive.toMul g) (Additive.toMul h)
  continuous_toFun := f.continuous_toFun
ClassFieldTower.ProP.h1CharacterEquiv

Additive degree-one classes and multiplicative characters are equivalent.

Source context 6 commands

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

open scoped Topology commutatorElement
namespace ClassFieldTower.ProP
universe u
variable {p : ℕ} {G : Type u}
variable [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
local instance : Module (ZMod p) (ContinuousH1ZMod (p := p) (G := G)) :=
  continuousH1ZModModule
def h1CharacterEquiv :
    ContinuousH1ZMod (p := p) (G := G) ≃ (G →ₜ* Multiplicative (ZMod p)) where
  toFun := characterOfH1
  invFun := h1OfCharacter
  left_inv f := by ext g; rfl
  right_inv f := by ext g; rfl
ClassFieldTower.ProP.closedPowerCommutator_le_character_ker

A continuous ZMod p character kills both p-th powers and commutators, and hence their closed generated subgroup.

Source context 6 commands

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

open scoped Topology commutatorElement
namespace ClassFieldTower.ProP
universe u
variable {p : ℕ} {G : Type u}
variable [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
local instance : Module (ZMod p) (ContinuousH1ZMod (p := p) (G := G)) :=
  continuousH1ZModModule
theorem closedPowerCommutator_le_character_ker
    (f : G →ₜ* Multiplicative (ZMod p)) :
    closedPowerCommutator p G ≤ f.toMonoidHom.ker