Module

AbsoluteMuPKummerLinear.lean

Nyll.SawinTotallyRealTowers.UnramifiedProPRelationRank.Kummer.AbsoluteMuPKummerLinear
11 declarations indexed from sourceView source ↗

Linear Kummer classes with natural mu_p coefficients

This file descends the continuous absolute Kummer class with its natural Galois action from field units to p-power classes.

Declarations

ClassFieldTower.Martinet.Shafarevich.absoluteMuP_orbit_isLocallyConstant

The orbit map of a p-th root of unity under the absolute Galois group is locally constant.

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
variable (K : Type*) [Field K] [CharZero K]
variable (p : ℕ) [Fact p.Prime]
omit [Fact p.Prime] in
theorem absoluteMuP_orbit_isLocallyConstant (x : AbsoluteMuP K p) :
    IsLocallyConstant
      (fun sigma : Field.absoluteGaloisGroup K ↦
        absoluteMuPActionContinuousLinearMap K p sigma x) := by
  rw [IsLocallyConstant.iff_exists_open]
  intro sigma
  let alpha : AlgebraicClosure K := x.toMul.1
  let E := FiniteGaloisIntermediateField.adjoin K {alpha}
  let e := absoluteGaloisGroupContinuousMulEquiv K
  let H : Set Gal(AlgebraicClosure K/K) := E.fixingSubgroup
  refine ⟨e ⁻¹' (e sigma • H), ?_, ?_, ?_⟩
  · exact ((IntermediateField.fixingSubgroup_isOpen E.toIntermediateField).leftCoset
      (e sigma)).preimage e.continuous
  · change e sigma ∈ e sigma • H
    exact ⟨1, E.fixingSubgroup.one_mem, mul_one (e sigma)⟩
  · intro tau htau
    change e tau ∈ e sigma • H at htau
    rcases htau with ⟨h, hh, htau⟩
    have hfix : h alpha = alpha :=
      ((IntermediateField.mem_fixingSubgroup_iff E.toIntermediateField h).mp hh)
        alpha
        (FiniteGaloisIntermediateField.subset_adjoin K {alpha}
          (Set.mem_singleton alpha))
    have hfixUnit : h • x.toMul.1 = x.toMul.1 := by
      apply Units.ext
      exact hfix
    apply Additive.toMul.injective
    apply Subtype.ext
    change e tau • x.toMul.1 = e sigma • x.toMul.1
    change e sigma * h = e tau at htau
    rw [← htau, mul_smul, hfixUnit]
ClassFieldTower.Martinet.Shafarevich.absoluteMuPHomogeneousZeroCochain

The orbit map of a root of unity, packaged as a homogeneous zero-cochain.

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
variable (K : Type*) [Field K] [CharZero K]
variable (p : ℕ) [Fact p.Prime]
def absoluteMuPHomogeneousZeroCochain (x : AbsoluteMuP K p) :
    (TopRep.homogeneousCochains (absoluteMuPTopRep K p)).X 0
ClassFieldTower.Martinet.Shafarevich.absoluteMuPHomogeneousZeroCochain_boundary_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
variable (K : Type*) [Field K] [CharZero K]
variable (p : ℕ) [Fact p.Prime]
omit [Fact p.Prime] in
theorem absoluteMuPHomogeneousZeroCochain_boundary_apply
    (x : AbsoluteMuP K p)
    (g h : Field.absoluteGaloisGroup K) :
    (((TopRep.homogeneousCochains (absoluteMuPTopRep K p)).d 0 1).hom
        (absoluteMuPHomogeneousZeroCochain K p x)).1 g h =
      absoluteMuPActionContinuousLinearMap K p h x -
        absoluteMuPActionContinuousLinearMap K p g x
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPMulCorrection

The root-of-unity correction comparing the chosen root of a product with the product of the chosen roots.

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
variable (K : Type*) [Field K] [CharZero K]
variable (p : ℕ) [Fact p.Prime]
def absoluteKummerMuPMulCorrection (a b : Kˣ) : AbsoluteMuP K p
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPMulCorrection_apply_coe

Evaluation of the multiplicativity correction in the ambient unit 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
variable (K : Type*) [Field K] [CharZero K]
variable (p : ℕ) [Fact p.Prime]
omit [CharZero K] in
theorem absoluteKummerMuPMulCorrection_apply_coe (a b : Kˣ) :
    (absoluteKummerMuPMulCorrection K p a b).toMul.1 =
      absoluteKummerChosenRoot K p (a * b) /
        (absoluteKummerChosenRoot K p a * absoluteKummerChosenRoot K p b)
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPRootCocycle_mul_sub

The failure of the chosen root cocycle to preserve products is the principal cocycle attached to the root-of-unity correction.

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
variable (K : Type*) [Field K] [CharZero K]
variable (p : ℕ) [Fact p.Prime]
omit [CharZero K] in
theorem absoluteKummerMuPRootCocycle_mul_sub
    (a b : Kˣ) (sigma : Field.absoluteGaloisGroup K) :
    absoluteKummerMuPRootCocycle K p (a * b) sigma -
          absoluteKummerMuPRootCocycle K p a sigma -
        absoluteKummerMuPRootCocycle K p b sigma =
      absoluteMuPActionContinuousLinearMap K p sigma
          (absoluteKummerMuPMulCorrection K p a b) -
        absoluteKummerMuPMulCorrection K p a b
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPHomogeneousOneCochain_mul_sub_boundary

At the homogeneous-cochain level, the product discrepancy is the boundary of the root-of-unity correction.

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
variable (K : Type*) [Field K] [CharZero K]
variable (p : ℕ) [Fact p.Prime]
theorem absoluteKummerMuPHomogeneousOneCochain_mul_sub_boundary
    (a b : Kˣ) :
    absoluteKummerMuPHomogeneousOneCochain K p (a * b) -
          (absoluteKummerMuPHomogeneousOneCochain K p a +
            absoluteKummerMuPHomogeneousOneCochain K p b) =
      ((TopRep.homogeneousCochains (absoluteMuPTopRep K p)).d 0 1).hom
        (absoluteMuPHomogeneousZeroCochain K p
          (absoluteKummerMuPMulCorrection K p a b))
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPHomogeneousOneCocycle_mul_sub_boundary

The difference of the product cocycle and the sum of its factors is the corresponding homogeneous boundary.

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
variable (K : Type*) [Field K] [CharZero K]
variable (p : ℕ) [Fact p.Prime]
theorem absoluteKummerMuPHomogeneousOneCocycle_mul_sub_boundary
    (a b : Kˣ) :
    absoluteKummerMuPHomogeneousOneCocycle K p (a * b) -
          (absoluteKummerMuPHomogeneousOneCocycle K p a +
            absoluteKummerMuPHomogeneousOneCocycle K p b) =
      ((TopRep.homogeneousCochains (absoluteMuPTopRep K p)).toCycles 0 1).hom
        (absoluteMuPHomogeneousZeroCochain K p
          (absoluteKummerMuPMulCorrection K p a b))
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPH1Class_mul

Absolute Kummer classes with natural mu_p coefficients preserve multiplication of radicands.

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
variable (K : Type*) [Field K] [CharZero K]
variable (p : ℕ) [Fact p.Prime]
theorem absoluteKummerMuPH1Class_mul (a b : Kˣ) :
    absoluteKummerMuPH1Class K p (a * b) =
      absoluteKummerMuPH1Class K p a +
        absoluteKummerMuPH1Class K p b
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPH1LinearMap

Natural-coefficient absolute Kummer theory as a linear map from p-power classes to continuous H¹.

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
variable (K : Type*) [Field K] [CharZero K]
variable (p : ℕ) [Fact p.Prime]
def absoluteKummerMuPH1LinearMap :
    absolutePowerClassModP K p →ₗ[ZMod p]
      continuousCohomology 1 (absoluteMuPTopRep K p)
ClassFieldTower.Martinet.Shafarevich.absoluteKummerMuPH1LinearMap_mk

Evaluation of the natural-coefficient Kummer linear map on a represented power class recovers the previously constructed continuous H¹ class.

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
variable (K : Type*) [Field K] [CharZero K]
variable (p : ℕ) [Fact p.Prime]
theorem absoluteKummerMuPH1LinearMap_mk (a : Kˣ) :
    absoluteKummerMuPH1LinearMap K p
        (Additive.ofMul
          (QuotientGroup.mk'
            (powMonoidHom p : Kˣ →* Kˣ).range a)) =
      absoluteKummerMuPH1Class K p a