Module

LocalReciprocityCharacterPairing.lean

Nyll.SawinTotallyRealTowers.UnramifiedProPRelationRank.Kummer.LocalReciprocityCharacterPairing
13 declarations indexed from sourceView source ↗

Local reciprocity pairing without coefficient roots of unity

Evaluate a continuous mod-p Galois character on the absolute local Artin map. The resulting functional descends to actual multiplicative power classes. Dense image of the Artin map makes the pairing faithful in the character variable. No primitive root or Kummer trivialization is used.

Declarations

ClassFieldTower.Martinet.Shafarevich.localReciprocityPairingCanonicalZModAddCommGroup
Source context 6 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p)
ClassFieldTower.Martinet.Shafarevich.localReciprocityCharacterTopology
Source context 7 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p)
ClassFieldTower.Martinet.Shafarevich.localReciprocityCharacterDiscreteTopology
Source context 8 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p) := ⊥
instance localReciprocityCharacterDiscreteTopology : DiscreteTopology (ZMod p)
ClassFieldTower.Martinet.Shafarevich.localReciprocityCharacterH1Module
Source context 9 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p) := ⊥
local instance localReciprocityCharacterDiscreteTopology : DiscreteTopology (ZMod p) :=
  discreteTopology_bot _
instance localReciprocityCharacterH1Module :
    Module (ZMod p) (ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K))
ClassFieldTower.Martinet.Shafarevich.localReciprocityAbelianCharacter

A continuous character descends through the closed commutator subgroup.

Source context 10 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p) := ⊥
local instance localReciprocityCharacterDiscreteTopology : DiscreteTopology (ZMod p) :=
  discreteTopology_bot _
local instance localReciprocityCharacterH1Module :
    Module (ZMod p) (ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :=
  continuousH1ZModModule
def localReciprocityAbelianCharacter
    (chi : ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :
    Field.absoluteGaloisGroupAbelianization K →ₜ* Multiplicative (ZMod p)
ClassFieldTower.Martinet.Shafarevich.localReciprocityAbelianCharacter_mk
Source context 11 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p) := ⊥
local instance localReciprocityCharacterDiscreteTopology : DiscreteTopology (ZMod p) :=
  discreteTopology_bot _
local instance localReciprocityCharacterH1Module :
    Module (ZMod p) (ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :=
  continuousH1ZModModule
omit [ValuativeRel K] [TopologicalSpace K] [IsNonarchimedeanLocalField K] in
theorem localReciprocityAbelianCharacter_mk
    (chi : ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K))
    (sigma : Field.absoluteGaloisGroup K) :
    localReciprocityAbelianCharacter K p chi (QuotientGroup.mk sigma) =
      Multiplicative.ofAdd (chi (Additive.ofMul sigma))
ClassFieldTower.Martinet.Shafarevich.localReciprocityUnitCharacter

Evaluate a local Galois character on the absolute Artin map.

Source context 10 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p) := ⊥
local instance localReciprocityCharacterDiscreteTopology : DiscreteTopology (ZMod p) :=
  discreteTopology_bot _
local instance localReciprocityCharacterH1Module :
    Module (ZMod p) (ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :=
  continuousH1ZModModule
def localReciprocityUnitCharacter
    (chi : ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :
    Kˣ →ₜ* Multiplicative (ZMod p)
ClassFieldTower.Martinet.Shafarevich.localReciprocityPowerClassCharacter

The Artin evaluation descends to the quotient by actual p-th powers.

Source context 10 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p) := ⊥
local instance localReciprocityCharacterDiscreteTopology : DiscreteTopology (ZMod p) :=
  discreteTopology_bot _
local instance localReciprocityCharacterH1Module :
    Module (ZMod p) (ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :=
  continuousH1ZModModule
def localReciprocityPowerClassCharacter
    (chi : ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :
    (Kˣ ⧸ (powMonoidHom p : Kˣ →* Kˣ).range) →* Multiplicative (ZMod p)
ClassFieldTower.Martinet.Shafarevich.localReciprocityPowerClassFunctional

The power-class functional attached to a continuous local character.

Source context 10 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p) := ⊥
local instance localReciprocityCharacterDiscreteTopology : DiscreteTopology (ZMod p) :=
  discreteTopology_bot _
local instance localReciprocityCharacterH1Module :
    Module (ZMod p) (ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :=
  continuousH1ZModModule
def localReciprocityPowerClassFunctional
    (chi : ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :
    Module.Dual (ZMod p) (absolutePowerClassModP K p)
ClassFieldTower.Martinet.Shafarevich.localReciprocityPowerClassFunctional_mk
Source context 10 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p) := ⊥
local instance localReciprocityCharacterDiscreteTopology : DiscreteTopology (ZMod p) :=
  discreteTopology_bot _
local instance localReciprocityCharacterH1Module :
    Module (ZMod p) (ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :=
  continuousH1ZModModule
theorem localReciprocityPowerClassFunctional_mk
    (chi : ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) (a : Kˣ) :
    localReciprocityPowerClassFunctional K p chi
        (Additive.ofMul (QuotientGroup.mk' (powMonoidHom p : Kˣ →* Kˣ).range a)) =
      (localReciprocityAbelianCharacter K p chi (absoluteLocalArtinMap K a)).toAdd
ClassFieldTower.Martinet.Shafarevich.localReciprocityH1PowerClassPairing

The local reciprocity pairing, linear in the continuous H¹ character and in the actual power class; no roots-of-unity hypothesis is needed.

Source context 10 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p) := ⊥
local instance localReciprocityCharacterDiscreteTopology : DiscreteTopology (ZMod p) :=
  discreteTopology_bot _
local instance localReciprocityCharacterH1Module :
    Module (ZMod p) (ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :=
  continuousH1ZModModule
def localReciprocityH1PowerClassPairing :
    ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K) →ₗ[ZMod p]
      Module.Dual (ZMod p) (absolutePowerClassModP K p)
ClassFieldTower.Martinet.Shafarevich.localReciprocityH1PowerClassPairing_mk
Source context 10 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p) := ⊥
local instance localReciprocityCharacterDiscreteTopology : DiscreteTopology (ZMod p) :=
  discreteTopology_bot _
local instance localReciprocityCharacterH1Module :
    Module (ZMod p) (ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :=
  continuousH1ZModModule
theorem localReciprocityH1PowerClassPairing_mk
    (chi : ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) (a : Kˣ) :
    localReciprocityH1PowerClassPairing K p chi
        (Additive.ofMul (QuotientGroup.mk' (powMonoidHom p : Kˣ →* Kˣ).range a)) =
      (localReciprocityAbelianCharacter K p chi (absoluteLocalArtinMap K a)).toAdd
ClassFieldTower.Martinet.Shafarevich.localReciprocityH1PowerClassPairing_injective

Dense Artin image detects every continuous local mod-p character.

Source context 10 commands

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

open scoped Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.ProP LocalClassFieldTheory
variable (K : Type) [Field K] [ValuativeRel K] [TopologicalSpace K]
  [IsNonarchimedeanLocalField K]
variable (p : ℕ) [Fact p.Prime]
local instance localReciprocityPairingCanonicalZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance localReciprocityCharacterTopology : TopologicalSpace (ZMod p) := ⊥
local instance localReciprocityCharacterDiscreteTopology : DiscreteTopology (ZMod p) :=
  discreteTopology_bot _
local instance localReciprocityCharacterH1Module :
    Module (ZMod p) (ContinuousH1ZMod (p := p) (G := Field.absoluteGaloisGroup K)) :=
  continuousH1ZModModule
theorem localReciprocityH1PowerClassPairing_injective :
    Function.Injective (localReciprocityH1PowerClassPairing K p)