Module

FiniteRootIdeleSupport.lean

Nyll.SawinTotallyRealTowers.UnramifiedProPRelationRank.Kummer.FiniteRootIdeleSupport
5 declarations indexed from sourceView source ↗

Root-of-unity coefficients are integral at every finite place

A torsion field unit has valuation one at every finite place. Its principal relative idele therefore lies in the actual empty-support subgroup. This gives the supported coefficient map needed to apply the unramified local-to-global primitive construction.

Declarations

ClassFieldTower.Martinet.Shafarevich.principalIdele_mem_emptySupport_of_pow_eq_one

A torsion field unit gives a principal idele integral at every finite place.

Source context 6 commands

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

open CategoryTheory NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [NumberField K]
variable [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L]
theorem principalIdele_mem_emptySupport_of_pow_eq_one
    (n : ℕ) (hn : n ≠ 0) (x : Lˣ) (hx : x ^ n = 1) :
    RelativeIdeleGroup.principalIdele K L x ∈
      relativeIdeleLocalTensorDecompositionSupportedSubgroup (K := K) (L := L) ∅
ClassFieldTower.Martinet.Shafarevich.finiteKummerCoefficient_principalIdele_mem_emptySupport

The actual principal idele of a Kummer coefficient has empty finite support.

Source context 7 commands

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

open CategoryTheory NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [NumberField K]
variable [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L]
variable (p : ℕ+)
theorem finiteKummerCoefficient_principalIdele_mem_emptySupport
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty)
    (z : ULift (ZMod (p : ℕ))) :
    RelativeIdeleGroup.principalIdele K L
        (finiteKummerCoefficientAddHom K L p hmu z).toMul ∈
      relativeIdeleLocalTensorDecompositionSupportedSubgroup (K := K) (L := L) ∅
ClassFieldTower.Martinet.Shafarevich.finiteKummerSupportedIdeleAddHom

Finite Kummer coefficients mapped into the actual empty-support idele subgroup.

Source context 7 commands

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

open CategoryTheory NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [NumberField K]
variable [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L]
variable (p : ℕ+)
def finiteKummerSupportedIdeleAddHom
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty) :
    ULift.{0} (ZMod (p : ℕ)) →+
      Additive (relativeIdeleLocalTensorDecompositionSupportedSubgroup
        (K := K) (L := L) ∅) where
  toFun z := Additive.ofMul ⟨RelativeIdeleGroup.principalIdele K L
    (finiteKummerCoefficientAddHom K L p hmu z).toMul,
    finiteKummerCoefficient_principalIdele_mem_emptySupport K L p hmu z⟩
  map_zero' := by
    apply Additive.toMul.injective
    apply Subtype.ext
    change RelativeIdeleGroup.principalIdele K L
      (finiteKummerCoefficientAddHom K L p hmu (0 : ULift.{0} (ZMod (p : ℕ)))).toMul = 1
    rw [map_zero]
    exact map_one _
  map_add' z w := by
    apply Additive.toMul.injective
    apply Subtype.ext
    change RelativeIdeleGroup.principalIdele K L
      (finiteKummerCoefficientAddHom K L p hmu (z + w)).toMul = _
    rw [map_add]
    exact map_mul _ _ _
ClassFieldTower.Martinet.Shafarevich.finiteRootSupportedIdeleAction
Source context 7 commands

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

open CategoryTheory NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [NumberField K]
variable [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L]
variable (p : ℕ+)
instance finiteRootSupportedIdeleAction : MulDistribMulAction (Gal(L/K))
    (relativeIdeleLocalTensorDecompositionSupportedSubgroup (K := K) (L := L) ∅)
ClassFieldTower.Martinet.Shafarevich.finiteKummerSupportedIdeleRepHom

The supported coefficient map is equivariant for the actual Galois action.

Source context 8 commands

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

open CategoryTheory NumberField IsDedekindDomain
open scoped NumberField
noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
variable (K L : Type) [Field K] [NumberField K]
variable [Field L] [NumberField L] [Algebra K L] [FiniteDimensional K L]
variable (p : ℕ+)
local instance finiteRootSupportedIdeleAction : MulDistribMulAction (Gal(L/K))
    (relativeIdeleLocalTensorDecompositionSupportedSubgroup (K := K) (L := L) ∅) :=
  relativeIdeleLocalTensorDecompositionSupportedSubgroupAction (K := K) (L := L) ∅
def finiteKummerSupportedIdeleRepHom
    (hmu : (primitiveRoots (p : ℕ) K).Nonempty) :
    Rep.trivial ℤ (Gal(L/K)) (ULift (ZMod (p : ℕ))) ⟶
      Rep.ofMulDistribMulAction (Gal(L/K))
        (relativeIdeleLocalTensorDecompositionSupportedSubgroup (K := K) (L := L) ∅)