Module

NormCore.lean

Nyll.ClassFieldTheory.AlgebraicNumberTheory.Idele.NormCore
12 declarations indexed from sourceView source ↗

The absolute norm of an idele

This file constructs the homomorphism 𝓝 : I_K → ℝ₊ˣ. At a finite place a uniformizer contributes the norm of its prime ideal; at infinity we divide by the normalized archimedean norm. This is the convention for which principal ideles have norm one.

Declarations

The norm of a unit in a normed field, as a positive real unit.

Source context 4 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
def nnnormUnitHom (F : Type*) [NormedField F] :
    Fˣ →* ℝ≥0ˣ
Source context 4 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
theorem nnnormUnitHom_val (F : Type*) [NormedField F] (x : Fˣ) :
    ((nnnormUnitHom F x : ℝ≥0ˣ) : ℝ≥0) = ‖(x : F)‖₊
InfiniteIdeleGroup.archimedeanNorm

The product of the normalized norms of all archimedean components.

Source context 5 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
namespace InfiniteIdeleGroup
def archimedeanNorm :
    InfiniteIdeleGroup K →* ℝ≥0ˣ where
  toFun a := ∏ w : InfinitePlace K,
    nnnormUnitHom w.Completion (component w a) ^ w.mult
  map_one' := by
    apply Finset.prod_eq_one
    intro w _
    rw [map_one, map_one, one_pow]
  map_mul' a b := by
    simp only [map_mul, Finset.prod_mul_distrib, mul_pow]
InfiniteIdeleGroup.archimedeanNorm_apply
Source context 5 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
namespace InfiniteIdeleGroup
theorem archimedeanNorm_apply (a : InfiniteIdeleGroup K) :
    archimedeanNorm a =
      ∏ w : InfinitePlace K,
        nnnormUnitHom w.Completion (component w a) ^ w.mult
FiniteIdeleGroup.primeNorm

The positive real unit given by the absolute norm of a finite prime.

Source context 5 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
namespace FiniteIdeleGroup
def primeNorm (v : HeightOneSpectrum (𝓞 K)) : ℝ≥0ˣ
FiniteIdeleGroup.primeNormPowerHom

The homomorphism sending an integer exponent to the corresponding power of the absolute norm of a finite prime.

Source context 5 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
namespace FiniteIdeleGroup
def primeNormPowerHom (v : HeightOneSpectrum (𝓞 K)) :
    Multiplicative ℤ →* ℝ≥0ˣ
FiniteIdeleGroup.divisorNorm

The norm of a finitely supported divisor.

Source context 5 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
namespace FiniteIdeleGroup
def divisorNorm :
    Multiplicative (HeightOneSpectrum (𝓞 K) →₀ ℤ) →* ℝ≥0ˣ
FiniteIdeleGroup.absoluteNorm

The finite part of the absolute idele norm.

Source context 5 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
namespace FiniteIdeleGroup
def absoluteNorm :
    FiniteIdeleGroup K →* ℝ≥0ˣ
FiniteIdeleGroup.absoluteNorm_apply
Source context 5 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
namespace FiniteIdeleGroup
theorem absoluteNorm_apply (a : FiniteIdeleGroup K) :
    absoluteNorm a =
      (valuationVector a).toAdd.prod fun v n =>
        primeNorm v ^ n := by
  rfl
IdeleGroup.absoluteNorm

The absolute norm on the idele group.

Source context 5 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
namespace IdeleGroup
def absoluteNorm :
    IdeleGroup K →* ℝ≥0ˣ
IdeleGroup.absoluteNorm_apply
Source context 5 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
namespace IdeleGroup
theorem absoluteNorm_apply (a : IdeleGroup K) :
    absoluteNorm a =
      FiniteIdeleGroup.absoluteNorm a.2 *
        (InfiniteIdeleGroup.archimedeanNorm a.1)⁻¹
IdeleGroup.normOneSubgroup

The norm-one ideles.

Source context 5 commands

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

open scoped NumberField RestrictedProduct NNReal
open NumberField IsDedekindDomain
noncomputable section
variable {K : Type*} [Field K] [NumberField K]
namespace IdeleGroup
def normOneSubgroup : Subgroup (IdeleGroup K)