Module

CanonicalUnramifiedNormQuotient.lean

Nyll.ClassFieldTheory.AbstractClassFieldTheory.Reciprocity.Construction.CanonicalUnramifiedNormQuotient
14 declarations indexed from sourceView source ↗

The abstract reciprocity construction: the canonical unramified valuation quotient

the valuation-quotient axiom supplies the order of Z / nZ. The construction then uses the canonical reduction inherited from Z ⊆ ℤ̂, rather than an arbitrary isomorphism with ℤ / nℤ. This file constructs that canonical map and proves directly that it induces the unramified norm-quotient isomorphism used in the unramified norm-quotient equivalence.

Declarations

ClassFormation.ValuationData.canonicalValueReduction

Reduction modulo n restricted to the actual value subgroup Z ⊆ ℤ̂.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
def canonicalValueReduction
    (v : ValuationData D A) (n : ℕ) (hn : 0 < n) :
    v.valueGroup →+ ZMod n
ClassFormation.ValuationData.canonicalValueReduction_one

The canonical value reduction sends the unit element to zero.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
theorem canonicalValueReduction_one
    (v : ValuationData D A) (n : ℕ) (hn : 0 < n) :
    v.canonicalValueReduction n hn v.oneValue = 1
ClassFormation.ValuationData.canonicalValueReduction_surjective

The canonical value reduction onto the residue-degree quotient is surjective.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
theorem canonicalValueReduction_surjective
    (v : ValuationData D A) (n : ℕ) (hn : 0 < n) :
    Function.Surjective (v.canonicalValueReduction n hn)
ClassFormation.ValuationData.canonicalValueQuotientHom

Canonical reduction descended to Z / nZ.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
def canonicalValueQuotientHom
    (v : ValuationData D A) (n : ℕ) (hn : 0 < n) :
    (v.valueGroup ⧸ nsmulWithin v.valueGroup n) →+ ZMod n
ClassFormation.ValuationData.canonicalValueQuotientHom_mk

The quotient homomorphism evaluates on a coset through canonical value reduction.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
theorem canonicalValueQuotientHom_mk
    (v : ValuationData D A) (n : ℕ) (hn : 0 < n)
    (z : v.valueGroup) :
    v.canonicalValueQuotientHom n hn
      (QuotientAddGroup.mk' (nsmulWithin v.valueGroup n) z) =
        v.canonicalValueReduction n hn z
ClassFormation.ValuationData.canonicalValueQuotientHom_surjective

The induced canonical value map on the quotient is surjective.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
theorem canonicalValueQuotientHom_surjective
    (v : ValuationData D A) (n : ℕ) (hn : 0 < n) :
    Function.Surjective (v.canonicalValueQuotientHom n hn)
ClassFormation.ValuationData.canonicalValueQuotientEquiv

The canonical isomorphism Z / nZ ≃ ℤ / nℤ from the valuation-quotient axiom.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
def canonicalValueQuotientEquiv
    (v : ValuationData D A) (n : ℕ) (hn : 0 < n) :
    (v.valueGroup ⧸ nsmulWithin v.valueGroup n) ≃+ ZMod n
ClassFormation.ValuationData.canonicalUnramifiedValuationHom

Canonical valuation modulo [L : K] on A_K.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
def canonicalUnramifiedValuationHom
    (v : ValuationData D A) (E : FiniteAbstractFieldExtension G) :
    ambientFixedAddSubgroup A E.base.field →+ ZMod (E.degree : ℕ)
ClassFormation.ValuationData.finiteNormSubgroup_le_canonicalUnramifiedValuationHom_ker
Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
theorem finiteNormSubgroup_le_canonicalUnramifiedValuationHom_ker
    (v : ValuationData D A) (E : FiniteAbstractFieldExtension G)
    (hUnramified : E.IsUnramified D) :
    finiteNormSubgroup A E.base.field E.field.field E.below ≤
      (v.canonicalUnramifiedValuationHom E).ker
ClassFormation.ValuationData.canonicalUnramifiedNormQuotientValuation

The canonical valuation induced on the finite unramified norm quotient.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
def canonicalUnramifiedNormQuotientValuation
    (v : ValuationData D A) (E : FiniteAbstractFieldExtension G)
    (hUnramified : E.IsUnramified D) :
    FiniteNormQuotient A E.base.field E.field.field E.below →+
      ZMod (E.degree : ℕ)
ClassFormation.ValuationData.canonicalUnramifiedNormQuotientValuation_finiteNormClass

Valuation sends a finite norm class to its canonical unramified quotient value.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
theorem canonicalUnramifiedNormQuotientValuation_finiteNormClass
    (v : ValuationData D A) (E : FiniteAbstractFieldExtension G)
    (hUnramified : E.IsUnramified D)
    (a : ambientFixedAddSubgroup A E.base.field) :
    v.canonicalUnramifiedNormQuotientValuation E hUnramified
      (finiteNormClass A E.base.field E.field.field E.below a) =
        v.canonicalUnramifiedValuationHom E a
ClassFormation.ValuationData.canonicalUnramifiedNormQuotientValuation_surjective

The valuation map from the unramified norm quotient is surjective.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
theorem canonicalUnramifiedNormQuotientValuation_surjective
    (v : ValuationData D A) (E : FiniteAbstractFieldExtension G)
    (hUnramified : E.IsUnramified D) :
    Function.Surjective
      (v.canonicalUnramifiedNormQuotientValuation E hUnramified)
ClassFormation.ValuationData.canonicalUnramifiedNormQuotientValuation_injective

The valuation map separates classes in the unramified norm quotient.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
theorem canonicalUnramifiedNormQuotientValuation_injective
    (v : ValuationData D A) (hAxiom : SatisfiesUnramifiedUnitCohomology D v)
    (E : FiniteAbstractFieldExtension G)
    (hnormal : (extensionSubgroup
      E.base.field E.field.field E.below).Normal)
    (hUnramified : E.IsUnramified D) :
    Function.Injective
      (v.canonicalUnramifiedNormQuotientValuation E hUnramified)
ClassFormation.ValuationData.canonicalUnramifiedNormQuotientEquiv

Canonical form of the valuation isomorphism in the unramified norm-quotient equivalence.

Source context 7 commands

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

namespace ClassFormation
open KummerTheory
open CyclicCohomology
noncomputable section

-- Mathlib's `Rep ℤ G` currently fixes the acting group to universe zero.
variable {G : IntegralRepGroupType} [Group G] [TopologicalSpace G]
variable {D : DegreeData G} {A : Rep ℤ G}
namespace ValuationData
def canonicalUnramifiedNormQuotientEquiv
    (v : ValuationData D A) (hAxiom : SatisfiesUnramifiedUnitCohomology D v)
    (E : FiniteAbstractFieldExtension G)
    (hnormal : (extensionSubgroup
      E.base.field E.field.field E.below).Normal)
    (hUnramified : E.IsUnramified D) :
    FiniteNormQuotient A E.base.field E.field.field E.below ≃+
      ZMod (E.degree : ℕ)