Module

PrincipalCore.lean

Nyll.ClassFieldTheory.AlgebraicNumberTheory.Idele.PrincipalCore
8 declarations indexed from sourceView source ↗

Principal ideles and the idele class group

This file formalizes the diagonal embedding of Kˣ into the idele group and the resulting idele class group.

Declarations

IdeleGroup.principalIdele

The diagonal embedding of Kˣ into the idele group.

Source context 5 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
variable (K : Type*) [Field K] [NumberField K]
namespace IdeleGroup
def principalIdele : Kˣ →* IdeleGroup K
IdeleGroup.finiteComponent_principalIdele

The finite component of a principal idele is the image of the underlying field element in the corresponding completion.

Source context 6 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
variable (K : Type*) [Field K] [NumberField K]
namespace IdeleGroup
variable {K}
theorem finiteComponent_principalIdele
    (x : Kˣ) (v : HeightOneSpectrum (𝓞 K)) :
    ((finiteComponent v (principalIdele K x) :
      (v.adicCompletion K)ˣ) : v.adicCompletion K) = (x : K)
IdeleGroup.infiniteComponent_principalIdele

The infinite component of a principal idele is the image of the underlying field element in the corresponding completion.

Source context 6 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
variable (K : Type*) [Field K] [NumberField K]
namespace IdeleGroup
variable {K}
theorem infiniteComponent_principalIdele
    (x : Kˣ) (w : InfinitePlace K) :
    ((infiniteComponent w (principalIdele K x) :
      w.Completionˣ) : w.Completion) = (x : K)
IdeleGroup.principalIdele_injective

The diagonal map from field units to ideles is injective.

Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
variable (K : Type*) [Field K] [NumberField K]
namespace IdeleGroup
variable {K}
variable (K)
theorem principalIdele_injective :
    Function.Injective (principalIdele K)
IdeleGroup.principalSubgroup

The subgroup of principal ideles.

Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
variable (K : Type*) [Field K] [NumberField K]
namespace IdeleGroup
variable {K}
variable (K)
def principalSubgroup : Subgroup (IdeleGroup K)
IdeleGroup.principalEquiv

The multiplicative group Kˣ, identified with the subgroup of principal ideles.

Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
variable (K : Type*) [Field K] [NumberField K]
namespace IdeleGroup
variable {K}
variable (K)
def principalEquiv : Kˣ ≃* principalSubgroup K
IdeleGroup.coe_principalEquiv
Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
variable (K : Type*) [Field K] [NumberField K]
namespace IdeleGroup
variable {K}
variable (K)
theorem coe_principalEquiv (x : Kˣ) :
    (principalEquiv K x : IdeleGroup K) = principalIdele K x

The idele class group C_K = I_K / Kˣ.

Source context 4 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
variable (K : Type*) [Field K] [NumberField K]
abbrev IdeleClassGroup