Module

SufficientlyLarge.lean

Nyll.ClassFieldTheory.AlgebraicNumberTheory.Idele.SufficientlyLarge
9 declarations indexed from sourceView source ↗

A sufficiently large finite set of places

Finiteness of the ordinary ideal class group lets us choose one idele representing each ideal class. The union of the (finite) supports of those representatives is a finite set S for which

I_K = I_K^S Kˣ.

Declarations

IdeleGroup.classRepresentative

A chosen idele representing an ordinary ideal class.

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 classRepresentative (c : ClassGroup (𝓞 K)) :
    IdeleGroup K
IdeleGroup.idealClass_classRepresentative
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
theorem idealClass_classRepresentative
    (c : ClassGroup (𝓞 K)) :
    idealClass (classRepresentative (K := K) c) = c
IdeleGroup.classRepresentativeSupport

A finite set outside which the chosen representative of c is integral.

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 classRepresentativeSupport (c : ClassGroup (𝓞 K)) :
    Finset (HeightOneSpectrum (𝓞 K))
IdeleGroup.classRepresentative_mem_support
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
theorem classRepresentative_mem_support
    (c : ClassGroup (𝓞 K)) :
    classRepresentative (K := K) c ∈
      supportedAt (K := K)
        (classRepresentativeSupport (K := K) c : Set _)
IdeleGroup.sufficientlyLargeFiniteSet

The union of the supports of one representative of every ordinary ideal class. It is finite because the ideal class group is finite.

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 sufficientlyLargeFiniteSet :
    Finset (HeightOneSpectrum (𝓞 K))
IdeleGroup.classRepresentative_mem_sufficientlyLarge
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
theorem classRepresentative_mem_sufficientlyLarge
    (c : ClassGroup (𝓞 K)) :
    classRepresentative (K := K) c ∈
      supportedAt (K := K)
        (sufficientlyLargeFiniteSet (K := K) : Set _)
IdeleGroup.idealClass_surjective_on_sufficientlyLarge

The ideles supported at sufficientlyLargeFiniteSet already map surjectively to the ordinary ideal class 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
theorem idealClass_surjective_on_sufficientlyLarge :
    ∀ c : ClassGroup (𝓞 K),
      ∃ a ∈ supportedAt (K := K)
          (sufficientlyLargeFiniteSet (K := K) : Set _),
        idealClass a = c
IdeleGroup.supportedAt_sup_principalSubgroup_eq_top

For a sufficiently large finite set S of finite places, every idele is the product of an idele integral away from S and a principal idele.

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
theorem supportedAt_sup_principalSubgroup_eq_top :
    supportedAt (K := K)
        (sufficientlyLargeFiniteSet (K := K) : Set _) ⊔
      principalSubgroup K = ⊤
IdeleGroup.exists_finset_supportedAt_sup_principalSubgroup_eq_top

Existential form of the sufficiently-large support theorem.

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
theorem exists_finset_supportedAt_sup_principalSubgroup_eq_top :
    ∃ S : Finset (HeightOneSpectrum (𝓞 K)),
      supportedAt (K := K) (S : Set _) ⊔ principalSubgroup K = ⊤