Module

NumberFieldFractionalIdealFactorization.lean

Nyll.ClassFieldTheory.Definitions.FrobeniusAndHilbertClassFields.NumberFieldFractionalIdealFactorization
11 declarations indexed from sourceView source ↗

Prime factorization of nonzero fractional ideals

Mathlib's FractionalIdeal.count and unique-factorization theorems identify the multiplicative group of nonzero fractional ideals with the finitely supported integer exponents of finite primes. This equivalence is formulated entirely in Mathlib and public Definitions vocabulary.

Declarations

ClassFieldTheory.NumberFieldFractionalIdealGroup.primePowerHom

The integer exponent of one finite prime, viewed multiplicatively.

Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheory
universe u
namespace NumberFieldFractionalIdealGroup
variable {K : Type u} [Field K] [NumberField K]
def primePowerHom (v : HeightOneSpectrum (𝓞 K)) :
    Multiplicative ℤ →* NumberFieldFractionalIdealGroup K
ClassFieldTheory.NumberFieldFractionalIdealGroup.factorization

Reconstruct a nonzero fractional ideal from finitely many prime exponents.

Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheory
universe u
namespace NumberFieldFractionalIdealGroup
variable {K : Type u} [Field K] [NumberField K]
def factorization :
    Multiplicative (HeightOneSpectrum (𝓞 K) →₀ ℤ) →*
      NumberFieldFractionalIdealGroup K
ClassFieldTheory.NumberFieldFractionalIdealGroup.factorization_val
Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheory
universe u
namespace NumberFieldFractionalIdealGroup
variable {K : Type u} [Field K] [NumberField K]
theorem factorization_val
    (exps : Multiplicative (HeightOneSpectrum (𝓞 K) →₀ ℤ)) :
    ((factorization exps : NumberFieldFractionalIdealGroup K) :
      FractionalIdeal (nonZeroDivisors (𝓞 K)) K) =
      exps.toAdd.prod fun v n =>
        (v.asIdeal : FractionalIdeal (nonZeroDivisors (𝓞 K)) K) ^ n := by
  classical
  simp [factorization, primePowerHom, finitePrimeFractionalIdeal, Finsupp.prod]
ClassFieldTheory.NumberFieldFractionalIdealGroup.finite_count_support

Only finitely many finite primes occur with nonzero exponent in a nonzero fractional ideal.

Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheory
universe u
namespace NumberFieldFractionalIdealGroup
variable {K : Type u} [Field K] [NumberField K]
theorem finite_count_support (I : NumberFieldFractionalIdealGroup K) :
    {v : HeightOneSpectrum (𝓞 K) |
      FractionalIdeal.count K v
        (I : FractionalIdeal (nonZeroDivisors (𝓞 K)) K) ≠ 0}.Finite
ClassFieldTheory.NumberFieldFractionalIdealGroup.countVector

The finitely supported prime-exponent vector of a nonzero fractional ideal.

Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheory
universe u
namespace NumberFieldFractionalIdealGroup
variable {K : Type u} [Field K] [NumberField K]
def countVector (I : NumberFieldFractionalIdealGroup K) :
    HeightOneSpectrum (𝓞 K) →₀ ℤ
ClassFieldTheory.NumberFieldFractionalIdealGroup.countVector_apply
Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheory
universe u
namespace NumberFieldFractionalIdealGroup
variable {K : Type u} [Field K] [NumberField K]
theorem countVector_apply (I : NumberFieldFractionalIdealGroup K)
    (v : HeightOneSpectrum (𝓞 K)) :
    countVector I v =
      FractionalIdeal.count K v
        (I : FractionalIdeal (nonZeroDivisors (𝓞 K)) K)
ClassFieldTheory.NumberFieldFractionalIdealGroup.count_factorization
Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheory
universe u
namespace NumberFieldFractionalIdealGroup
variable {K : Type u} [Field K] [NumberField K]
theorem count_factorization
    (exps : Multiplicative (HeightOneSpectrum (𝓞 K) →₀ ℤ))
    (v : HeightOneSpectrum (𝓞 K)) :
    FractionalIdeal.count K v
      ((factorization exps : NumberFieldFractionalIdealGroup K) :
        FractionalIdeal (nonZeroDivisors (𝓞 K)) K) =
      exps.toAdd v
ClassFieldTheory.NumberFieldFractionalIdealGroup.ext_count
Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheory
universe u
namespace NumberFieldFractionalIdealGroup
variable {K : Type u} [Field K] [NumberField K]
theorem ext_count {I J : NumberFieldFractionalIdealGroup K}
    (h : ∀ v : HeightOneSpectrum (𝓞 K),
      FractionalIdeal.count K v
        (I : FractionalIdeal (nonZeroDivisors (𝓞 K)) K) =
      FractionalIdeal.count K v
        (J : FractionalIdeal (nonZeroDivisors (𝓞 K)) K)) :
    I = J
ClassFieldTheory.NumberFieldFractionalIdealGroup.factorization_injective
Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheory
universe u
namespace NumberFieldFractionalIdealGroup
variable {K : Type u} [Field K] [NumberField K]
theorem factorization_injective :
    Function.Injective (factorization (K := K))
ClassFieldTheory.NumberFieldFractionalIdealGroup.factorization_surjective
Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheory
universe u
namespace NumberFieldFractionalIdealGroup
variable {K : Type u} [Field K] [NumberField K]
theorem factorization_surjective :
    Function.Surjective (factorization (K := K))
ClassFieldTheory.NumberFieldFractionalIdealGroup.factorizationEquiv

Multiplicative prime factorization of nonzero fractional ideals.

Source context 7 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTheory
universe u
namespace NumberFieldFractionalIdealGroup
variable {K : Type u} [Field K] [NumberField K]
def factorizationEquiv :
    Multiplicative (HeightOneSpectrum (𝓞 K) →₀ ℤ) ≃*
      NumberFieldFractionalIdealGroup K