Module

AbsoluteMuPTopRep.lean

Nyll.GaloisCohomology.Kummer.AbsoluteMuPTopRep
28 declarations indexed from sourceView source ↗

The natural absolute-Galois representation on mu_p

For an arbitrary characteristic-zero field, the p-th roots of unity in its algebraic closure form a discrete ZMod p-module with the natural (generally nontrivial) absolute-Galois action. This file constructs that coefficient TopRep without assuming that the base field contains the roots of unity. It also constructs the usual root quotient attached to a base-field unit as a continuous twisted one-cocycle for this action.

Declarations

ClassFieldTower.Martinet.Shafarevich.absoluteGaloisGroupContinuousMulEquiv

Unfold the public absolute-Galois-group wrapper to the Galois group on which the canonical field action is defined.

Source context 6 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
def absoluteGaloisGroupContinuousMulEquiv :
    Field.absoluteGaloisGroup K ≃ₜ* Gal(AlgebraicClosure K/K)
ClassFieldTower.Martinet.Shafarevich.AbsoluteMuP

The additive presentation of the discrete group of p-th roots of unity in an algebraic closure. No choice of a primitive root is made.

Source context 6 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
abbrev AbsoluteMuP
ClassFieldTower.Martinet.Shafarevich.absoluteMuP_nsmul_eq_zero

Every element of AbsoluteMuP K p is killed by p.

Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
omit [Fact p.Prime] in
theorem absoluteMuP_nsmul_eq_zero (x : AbsoluteMuP K p) : p • x = 0
ClassFieldTower.Martinet.Shafarevich.absoluteMuPModule

The intrinsic ZMod p-module structure on mu_p.

Source context 6 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
instance absoluteMuPModule : Module (ZMod p) (AbsoluteMuP K p)
ClassFieldTower.Martinet.Shafarevich.absoluteMuPContinuousSMul

The intrinsic scalar action is continuous for the discrete topology on mu_p.

Source context 6 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
instance absoluteMuPContinuousSMul : ContinuousSMul (ZMod p) (AbsoluteMuP K p)
ClassFieldTower.Martinet.Shafarevich.absoluteMuPActionAddHom

The natural action of an absolute Galois element on mu_p, as an additive homomorphism.

Source context 6 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
def absoluteMuPActionAddHom (sigma : Field.absoluteGaloisGroup K) :
    AbsoluteMuP K p →+ AbsoluteMuP K p where
  toFun x := Additive.ofMul
    ⟨absoluteGaloisGroupContinuousMulEquiv K sigma • x.toMul.1,
      smul_mem_nthRootsSubgroup (AlgebraicClosure K) p
        (absoluteGaloisGroupContinuousMulEquiv K sigma) x.toMul.property⟩
  map_zero' := by
    apply Additive.toMul.injective
    apply Subtype.ext
    change (absoluteGaloisGroupContinuousMulEquiv K sigma) •
      (1 : (AlgebraicClosure K)ˣ) = 1
    exact smul_one _
  map_add' x y := by
    apply Additive.toMul.injective
    apply Subtype.ext
    change (absoluteGaloisGroupContinuousMulEquiv K sigma) •
      (x.toMul.1 * y.toMul.1) =
        ((absoluteGaloisGroupContinuousMulEquiv K sigma) • x.toMul.1) *
          ((absoluteGaloisGroupContinuousMulEquiv K sigma) • y.toMul.1)
    exact smul_mul' _ _ _
ClassFieldTower.Martinet.Shafarevich.absoluteMuPActionAddHom_apply_coe
Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
omit [Fact p.Prime] in
theorem absoluteMuPActionAddHom_apply_coe
    (sigma : Field.absoluteGaloisGroup K) (x : AbsoluteMuP K p) :
    (absoluteMuPActionAddHom K p sigma x).toMul.1 =
    (absoluteGaloisGroupContinuousMulEquiv K sigma) • x.toMul.1
ClassFieldTower.Martinet.Shafarevich.absoluteMuPActionContinuousLinearMap

The natural Galois action on mu_p; the scalar action of ZMod p is intrinsic, so every Galois action map is automatically linear.

Source context 6 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
def absoluteMuPActionContinuousLinearMap (sigma : Field.absoluteGaloisGroup K) :
    AbsoluteMuP K p →L[ZMod p] AbsoluteMuP K p where
  toLinearMap := (absoluteMuPActionAddHom K p sigma).toZModLinearMap p
  cont := continuous_of_discreteTopology
ClassFieldTower.Martinet.Shafarevich.absoluteMuPActionContinuousLinearMap_apply
Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
omit [Fact p.Prime] in
theorem absoluteMuPActionContinuousLinearMap_apply
    (sigma : Field.absoluteGaloisGroup K) (x : AbsoluteMuP K p) :
    absoluteMuPActionContinuousLinearMap K p sigma x =
      absoluteMuPActionAddHom K p sigma x
ClassFieldTower.Martinet.Shafarevich.absoluteMuPContRepresentation

The natural continuous representation of the absolute Galois group on mu_p. Here "continuous representation" is Mathlib's ContRepresentation: the coefficient module is a topological module and each action map is continuous.

Source context 6 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
def absoluteMuPContRepresentation :
    ContRepresentation (ZMod p) (Field.absoluteGaloisGroup K) (AbsoluteMuP K p) where
  toMonoidHom :=
  { toFun := absoluteMuPActionContinuousLinearMap K p
    map_one' := by
      apply ContinuousLinearMap.ext
      intro x
      apply Additive.toMul.injective
      apply Subtype.ext
      change (absoluteGaloisGroupContinuousMulEquiv K 1) • x.toMul.1 = x.toMul.1
      rw [map_one, one_smul]
    map_mul' := by
      intro sigma tau
      apply ContinuousLinearMap.ext
      intro x
      apply Additive.toMul.injective
      apply Subtype.ext
      change (absoluteGaloisGroupContinuousMulEquiv K (sigma * tau)) • x.toMul.1 =
        (absoluteGaloisGroupContinuousMulEquiv K sigma) •
          ((absoluteGaloisGroupContinuousMulEquiv K tau) • x.toMul.1)
      rw [map_mul, mul_smul] }
ClassFieldTower.Martinet.Shafarevich.absoluteMuPTopRep

The natural Tate-dual coefficient object mu_p in TopRep.

Source context 6 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
def absoluteMuPTopRep :
    TopRep (ZMod p) (Field.absoluteGaloisGroup K)
ClassFieldTower.Martinet.Shafarevich.primePNat
Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
abbrev primePNat : ℕ+
ClassFieldTower.Martinet.Shafarevich.AbsoluteRadicalDatum
Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
abbrev AbsoluteRadicalDatum
ClassFieldTower.Martinet.Shafarevich.absoluteKummerChosenRoot

The chosen algebraic-closure root used to form the Kummer cocycle of a base-field unit.

Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
def absoluteKummerChosenRoot (a : Kˣ) : (AlgebraicClosure K)ˣ
ClassFieldTower.Martinet.Shafarevich.absoluteKummerChosenRoot_pow

The chosen absolute Kummer root has the prescribed p-th power.

Source context 8 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
omit [CharZero K] in
theorem absoluteKummerChosenRoot_pow (a : Kˣ) :
    absoluteKummerChosenRoot K p a ^ p =
      Units.map (algebraMap K (AlgebraicClosure K)).toMonoidHom a
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPRootCocycle

The usual quotient sigma(beta) / beta, valued in the natural Galois module mu_p. Unlike the character-valued API, this construction does not assume mu_p lies in K.

Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
def absoluteKummerMuPRootCocycle (a : Kˣ)
    (sigma : Field.absoluteGaloisGroup K) : AbsoluteMuP K p
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPRootCocycle_apply_coe

Evaluation of the root cocycle in the ambient unit group.

Source context 8 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
omit [CharZero K] in
theorem absoluteKummerMuPRootCocycle_apply_coe
    (a : Kˣ) (sigma : Field.absoluteGaloisGroup K) :
    (absoluteKummerMuPRootCocycle K p a sigma).toMul.1 =
      absoluteGaloisGroupContinuousMulEquiv K sigma •
          absoluteKummerChosenRoot K p a /
        absoluteKummerChosenRoot K p a
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPRootCocycle_mul

The root quotient satisfies the twisted additive cocycle identity for the natural action on mu_p.

Source context 8 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
omit [CharZero K] in
theorem absoluteKummerMuPRootCocycle_mul
    (a : Kˣ) (sigma tau : Field.absoluteGaloisGroup K) :
    absoluteKummerMuPRootCocycle K p a (sigma * tau) =
      absoluteMuPActionContinuousLinearMap K p sigma
          (absoluteKummerMuPRootCocycle K p a tau) +
        absoluteKummerMuPRootCocycle K p a sigma
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPRootCocycle_isLocallyConstant

The root quotient is locally constant on the Krull-topological absolute Galois group.

Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
theorem absoluteKummerMuPRootCocycle_isLocallyConstant (a : Kˣ) :
    IsLocallyConstant (absoluteKummerMuPRootCocycle K p a)
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPRootCocycle_continuous

The absolute Kummer root quotient is continuous with its natural, nontrivial coefficient action.

Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
theorem absoluteKummerMuPRootCocycle_continuous (a : Kˣ) :
    Continuous (absoluteKummerMuPRootCocycle K p a)
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPRootCocycleContinuousMap

The root quotient packaged as a continuous map.

Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
def absoluteKummerMuPRootCocycleContinuousMap (a : Kˣ) :
    C(Field.absoluteGaloisGroup K, AbsoluteMuP K p)
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPHomogeneousOneCochain

The homogeneous one-cochain associated with the absolute Kummer root cocycle. Writing it as c(h) - c(g) makes continuity immediate and avoids imposing joint continuity on Mathlib's TopRep action.

Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
def absoluteKummerMuPHomogeneousOneCochain (a : Kˣ) :
    (TopRep.homogeneousCochains (absoluteMuPTopRep K p)).X 1
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPHomogeneousOneCochain_apply
Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
theorem absoluteKummerMuPHomogeneousOneCochain_apply
    (a : Kˣ) (g h : Field.absoluteGaloisGroup K) :
    (absoluteKummerMuPHomogeneousOneCochain K p a).1 g h =
      absoluteKummerMuPRootCocycle K p a h -
        absoluteKummerMuPRootCocycle K p a g
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPHomogeneousOneCochain_eq_action

The difference presentation agrees with the usual homogeneousization g • c(g⁻¹h).

Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
theorem absoluteKummerMuPHomogeneousOneCochain_eq_action
    (a : Kˣ) (g h : Field.absoluteGaloisGroup K) :
    (absoluteKummerMuPHomogeneousOneCochain K p a).1 g h =
      absoluteMuPActionContinuousLinearMap K p g
        (absoluteKummerMuPRootCocycle K p a (g⁻¹ * h))
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPHomogeneousOneCochain_mem_cycles

The homogeneous Kummer one-cochain is killed by the next differential.

Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
theorem absoluteKummerMuPHomogeneousOneCochain_mem_cycles (a : Kˣ) :
    ((TopRep.homogeneousCochains (absoluteMuPTopRep K p)).d 1 2).hom
      (absoluteKummerMuPHomogeneousOneCochain K p a) = 0
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPHomogeneousOneCocycle

The absolute Kummer root quotient packaged as a homogeneous continuous one-cocycle.

Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
def absoluteKummerMuPHomogeneousOneCocycle (a : Kˣ) :
    ContinuousCohomology.cocycles (absoluteMuPTopRep K p) 1
ClassFieldTower.Martinet.Shafarevich.iCycles_absoluteKummerMuPHomogeneousOneCocycle
Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
theorem iCycles_absoluteKummerMuPHomogeneousOneCocycle (a : Kˣ) :
    (TopRep.homogeneousCochains (absoluteMuPTopRep K p)).iCycles 1
        (absoluteKummerMuPHomogeneousOneCocycle K p a) =
      absoluteKummerMuPHomogeneousOneCochain K p a
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPH1Class

The degree-one continuous cohomology class of the absolute Kummer root quotient with its natural Tate-dual coefficient action.

Source context 7 commands

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

open scoped Pointwise Topology
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open CategoryTheory KummerTheory TopRep ContRepresentation groupCohomology
variable (K : Type*) [Field K]
variable (p : ℕ) [Fact p.Prime]
variable [CharZero K]
def absoluteKummerMuPH1Class (a : Kˣ) :
    continuousCohomology 1 (absoluteMuPTopRep K p)