Module

IdealRadicalGoverningFieldLinearDuality.lean

Nyll.SawinTotallyRealTowers.UnramifiedProPRelationRank.Radical.IdealRadicalGoverningFieldLinearDuality
13 declarations indexed from sourceView source ↗

Linear Kummer duality for the ideal-radical governing field

The Kummer character isomorphism for the governing extension is linearized over ZMod p. Thus every governing automorphism gives a functional on the cyclotomic restricted ideal radical, and the resulting linear map is faithful.

Declarations

ClassFieldTower.Martinet.Shafarevich.idealRadicalGoverningFieldZModAddCommGroup
Source context 6 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p)
Source context 7 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out)
ClassFieldTower.Martinet.Shafarevich.IdealRadicalGoverningGalois

The Galois group of the ideal-radical governing extension.

Source context 8 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out) :=
  idealRadicalGoverningField_isAbelianGalois F p Fact.out
abbrev IdealRadicalGoverningGalois
ClassFieldTower.Martinet.Shafarevich.IdealRadicalCyclotomicRestrictedQuotient

The restricted radical paired with the ideal-radical governing group.

Source context 8 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out) :=
  idealRadicalGoverningField_isAbelianGalois F p Fact.out
abbrev IdealRadicalCyclotomicRestrictedQuotient
ClassFieldTower.Martinet.Shafarevich.idealRadicalGoverningField_primitiveRoots_nonempty
Source context 8 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out) :=
  idealRadicalGoverningField_isAbelianGalois F p Fact.out
theorem idealRadicalGoverningField_primitiveRoots_nonempty :
    (primitiveRoots p (IdealRadicalGoverningField F p Fact.out)).Nonempty
ClassFieldTower.Martinet.Shafarevich.idealRadicalGoverningFieldPairingZMod

The governing-field Kummer pairing with its root-of-unity values written in ZMod p.

Source context 8 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out) :=
  idealRadicalGoverningField_isAbelianGalois F p Fact.out
def idealRadicalGoverningFieldPairingZMod :
    IdealRadicalGoverningGalois F p →*
      (IdealRadicalCyclotomicRestrictedQuotient F p →*
        Multiplicative (ZMod p))
ClassFieldTower.Martinet.Shafarevich.idealRadicalGoverningGaloisModPModule

The exponent-p governing Galois group as a ZMod p-module.

Source context 8 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out) :=
  idealRadicalGoverningField_isAbelianGalois F p Fact.out
def idealRadicalGoverningGaloisModPModule :
    Module (ZMod p) (Additive (IdealRadicalGoverningGalois F p))
ClassFieldTower.Martinet.Shafarevich.idealRadicalGoverningGaloisModP

The exponent-p governing Galois group as a module object.

Source context 8 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out) :=
  idealRadicalGoverningField_isAbelianGalois F p Fact.out
def idealRadicalGoverningGaloisModP : ModuleCat (ZMod p)
ClassFieldTower.Martinet.Shafarevich.idealRadicalGoverningFieldLinearFunctional

Evaluation of a governing automorphism on the restricted radical, in ZMod p coordinates.

Source context 8 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out) :=
  idealRadicalGoverningField_isAbelianGalois F p Fact.out
def idealRadicalGoverningFieldLinearFunctional
    (sigma : idealRadicalGoverningGaloisModP (F := F) p) :
    Module.Dual (ZMod p) (idealRadicalCyclotomicModP F p)
ClassFieldTower.Martinet.Shafarevich.idealRadicalGoverningFieldLinearDuality

Kummer character duality, linearized over ZMod p.

Source context 8 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out) :=
  idealRadicalGoverningField_isAbelianGalois F p Fact.out
def idealRadicalGoverningFieldLinearDuality :
    idealRadicalGoverningGaloisModP (F := F) p →ₗ[ZMod p]
      Module.Dual (ZMod p) (idealRadicalCyclotomicModP F p)
ClassFieldTower.Martinet.Shafarevich.idealRadicalGoverningFieldLinearDuality_apply
Source context 8 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out) :=
  idealRadicalGoverningField_isAbelianGalois F p Fact.out
theorem idealRadicalGoverningFieldLinearDuality_apply
    (sigma : idealRadicalGoverningGaloisModP (F := F) p)
    (q : idealRadicalCyclotomicModP F p) :
    idealRadicalGoverningFieldLinearDuality F p sigma q =
      (idealRadicalGoverningFieldPairingZMod F p
        (Additive.toMul sigma) (Additive.toMul q)).toAdd
ClassFieldTower.Martinet.Shafarevich.idealRadicalGoverningFieldPairingZMod_injective

Root coordinates preserve the faithfulness of governing-field Kummer character duality.

Source context 8 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out) :=
  idealRadicalGoverningField_isAbelianGalois F p Fact.out
theorem idealRadicalGoverningFieldPairingZMod_injective :
    Function.Injective (idealRadicalGoverningFieldPairingZMod F p)
ClassFieldTower.Martinet.Shafarevich.idealRadicalGoverningFieldLinearDuality_injective

The linearized governing-field character map is injective.

Source context 8 commands

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

open scoped NumberField IsMulCommutative
namespace ClassFieldTower.Martinet.Shafarevich
open NumberField KummerTheory
noncomputable section
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime]
local instance idealRadicalGoverningFieldZModAddCommGroup : AddCommGroup (ZMod p) :=
  (ZMod.instField p).toDivisionRing.toAddCommGroup
local instance : IsAbelianGalois
    (IdealRadicalCyclotomicBase F p Fact.out)
    (IdealRadicalGoverningField F p Fact.out) :=
  idealRadicalGoverningField_isAbelianGalois F p Fact.out
theorem idealRadicalGoverningFieldLinearDuality_injective :
    Function.Injective (idealRadicalGoverningFieldLinearDuality F p)