Module

ArithmeticStageKummerFieldUnitsH2.lean

Nyll.SawinTotallyRealTowers.UnramifiedProPRelationRank.RelationRank.ArithmeticStageKummerFieldUnitsH2
2 declarations indexed from sourceView source ↗

Field-unit primitives for Kummer classes at the arithmetic stage

The actual stage supplies its p-group Galois group and unramifiedness at every place. The proved supported-idele construction and field-unit H² injection therefore kill its Kummer H² classes and produce field-unit primitives, ready for the Hilbert-90 and Kummer correction.

Declarations

ClassFieldTower.Martinet.Shafarevich.openNormalArithmeticStage_kummerH2_eq_zero

Every Kummer H² class at the actual arithmetic stage vanishes in the field-unit representation.

Source context 8 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (n : ℕ+) [Fact (n : ℕ).Prime] (hpOdd : Odd (n : ℕ))
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F (n : ℕ)))
variable (hmu : (primitiveRoots (n : ℕ) F).Nonempty)
local notation "StageField" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F (n : ℕ) hpOdd U)
theorem openNormalArithmeticStage_kummerH2_eq_zero
    (x : groupCohomology
      (Rep.trivial ℤ Gal(StageField/F) (ULift (ZMod (n : ℕ)))) 2) :
    (finiteKummerCoefficientH2Map F StageField n hmu).hom x = 0
ClassFieldTower.Martinet.Shafarevich.openNormalArithmeticStage_kummerTwoCocycle_isFieldUnitsCoboundary

A mod-p two-cocycle at the actual arithmetic stage has an actual field-unit primitive after the chosen Kummer coefficient map.

Source context 8 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (n : ℕ+) [Fact (n : ℕ).Prime] (hpOdd : Odd (n : ℕ))
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F (n : ℕ)))
variable (hmu : (primitiveRoots (n : ℕ) F).Nonempty)
local notation "StageField" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F (n : ℕ) hpOdd U)
theorem openNormalArithmeticStage_kummerTwoCocycle_isFieldUnitsCoboundary
    (c : groupCohomology.cocycles₂
      (Rep.trivial ℤ Gal(StageField/F) (ULift (ZMod (n : ℕ))))) :
    ∃ b : Gal(StageField / F) → Additive StageFieldˣ,
      (groupCohomology.d₁₂ (Rep.ofAlgebraAutOnUnits F StageField)).hom b =
        (groupCohomology.mapCocycles₂ (MonoidHom.id Gal(StageField / F))
          (finiteKummerCoefficientRepHom F StageField n hmu) c).1