Module

FiniteKummerCoefficientH2.lean

Nyll.GaloisCohomology.Kummer.FiniteKummerCoefficientH2
11 declarations indexed from sourceView source ↗

Finite Kummer coefficients in degree-two group cohomology

A primitive p-th root in the base field gives an equivariant additive map from the trivial ZMod p coefficient group to the unit representation of a finite extension. This file constructs the resulting morphism of Int-representations and its induced map on ordinary degree-two group cohomology.

This is only the coefficient-change bridge. It does not compare ordinary group cohomology with the continuous lifted cup-product model, nor identify the resulting unit class with a Hilbert symbol.

Declarations

ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficientRootUnit

The chosen primitive root, mapped to the extension field and regarded as a unit.

Source context 5 commands

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

open CategoryTheory
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [Field L] [Algebra K L]
variable (p : ℕ+)
def finiteKummerCoefficientRootUnit
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty) : Lˣ
ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficientRootUnit_val
Source context 5 commands

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

open CategoryTheory
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [Field L] [Algebra K L]
variable (p : ℕ+)
theorem finiteKummerCoefficientRootUnit_val
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty) :
    ((finiteKummerCoefficientRootUnit K L p hmu : Lˣ) : L) =
      algebraMap K L hmu.choose
ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficientRootUnit_isPrimitiveRoot
Source context 5 commands

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

open CategoryTheory
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [Field L] [Algebra K L]
variable (p : ℕ+)
theorem finiteKummerCoefficientRootUnit_isPrimitiveRoot
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty) :
    IsPrimitiveRoot (finiteKummerCoefficientRootUnit K L p hmu) (p : ℕ)
ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficientAddHom

Additive ZMod p mapped to the powers of the chosen primitive root in the extension's unit group.

Source context 5 commands

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

open CategoryTheory
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [Field L] [Algebra K L]
variable (p : ℕ+)
def finiteKummerCoefficientAddHom
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty) :
    ULift (ZMod (p : ℕ)) →+ Additive Lˣ
ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficientAddHom_intCast
Source context 5 commands

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

open CategoryTheory
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [Field L] [Algebra K L]
variable (p : ℕ+)
theorem finiteKummerCoefficientAddHom_intCast
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty) (i : ℤ) :
    finiteKummerCoefficientAddHom K L p hmu
        (ULift.up (i : ZMod (p : ℕ))) =
      Additive.ofMul (finiteKummerCoefficientRootUnit K L p hmu ^ i)
ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficientAddHom_pow_eq_one

Every finite Kummer coefficient is killed by the exponent of its root of unity.

Source context 5 commands

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

open CategoryTheory
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [Field L] [Algebra K L]
variable (p : ℕ+)
theorem finiteKummerCoefficientAddHom_pow_eq_one
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty)
    (z : ULift (ZMod (p : ℕ))) :
    (finiteKummerCoefficientAddHom K L p hmu z).toMul ^ (p : ℕ) = 1
ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficientAddHom_fixed

The chosen root coefficient is fixed by every automorphism over the base field.

Source context 5 commands

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

open CategoryTheory
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [Field L] [Algebra K L]
variable (p : ℕ+)
theorem finiteKummerCoefficientAddHom_fixed
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty)
    (sigma : Gal(L/K)) (z : ULift (ZMod (p : ℕ))) :
    (Rep.ofAlgebraAutOnUnits K L).ρ sigma
        (finiteKummerCoefficientAddHom K L p hmu z) =
      finiteKummerCoefficientAddHom K L p hmu z
ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficientRepHom

The primitive-root inclusion as a morphism from the trivial Int-linear ZMod p representation to the extension-unit representation.

Source context 5 commands

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

open CategoryTheory
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [Field L] [Algebra K L]
variable (p : ℕ+)
def finiteKummerCoefficientRepHom
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty) :
    Rep.trivial ℤ (Gal(L/K)) (ULift (ZMod (p : ℕ))) ⟶
      Rep.ofAlgebraAutOnUnits K L
ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficientH2Map

Change coefficients from trivial mod-p coefficients to extension units in ordinary degree-two group cohomology.

Source context 5 commands

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

open CategoryTheory
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [Field L] [Algebra K L]
variable (p : ℕ+)
def finiteKummerCoefficientH2Map
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty) :
    groupCohomology
        (Rep.trivial ℤ (Gal(L/K)) (ULift (ZMod (p : ℕ)))) 2 ⟶
      groupCohomology (Rep.ofAlgebraAutOnUnits K L) 2
ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficientCocyclesMap_apply

On an inhomogeneous cocycle representative, coefficient change applies the chosen-root homomorphism pointwise.

Source context 5 commands

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

open CategoryTheory
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [Field L] [Algebra K L]
variable (p : ℕ+)
theorem finiteKummerCoefficientCocyclesMap_apply
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty)
    (z : groupCohomology.cocycles
      (Rep.trivial ℤ (Gal(L/K)) (ULift (ZMod (p : ℕ)))) 2)
    (x : Fin 2 → Gal(L/K)) :
    groupCohomology.iCocycles (Rep.ofAlgebraAutOnUnits K L) 2
        (groupCohomology.cocyclesMap (MonoidHom.id (Gal(L/K)))
          (finiteKummerCoefficientRepHom K L p hmu) 2 z) x =
      finiteKummerCoefficientAddHom K L p hmu
        (groupCohomology.iCocycles
          (Rep.trivial ℤ (Gal(L/K)) (ULift (ZMod (p : ℕ)))) 2 z x)
ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficientH2Map_quotient

Naturality of the quotient map for the finite Kummer coefficient change.

Source context 5 commands

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

open CategoryTheory
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [Field L] [Algebra K L]
variable (p : ℕ+)
theorem finiteKummerCoefficientH2Map_quotient
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty)
    (z : groupCohomology.cocycles
      (Rep.trivial ℤ (Gal(L/K)) (ULift (ZMod (p : ℕ)))) 2) :
    finiteKummerCoefficientH2Map K L p hmu
        (groupCohomology.π
          (Rep.trivial ℤ (Gal(L/K)) (ULift (ZMod (p : ℕ)))) 2 z) =
      groupCohomology.π (Rep.ofAlgebraAutOnUnits K L) 2
        (groupCohomology.cocyclesMap (MonoidHom.id (Gal(L/K)))
          (finiteKummerCoefficientRepHom K L p hmu) 2 z)