Module

HilbertClassFieldPrimeSplitting.lean

Nyll.ClassFieldTheory.GlobalClassFieldTheory.GlobalClassFields.HilbertClassFieldPrimeSplitting
28 declarations indexed from sourceView source ↗

Prime splitting for a maximal everywhere-unramified cyclic norm quotient

Suppose a cyclic extension is unramified at every finite and infinite place and its degree is the ordinary class number. Its actual idèle-class norm quotient is then the small-Hilbert reciprocity quotient. This file transports prime Frobenius classes across that identification and proves that trivial Frobenius is equivalent to principality of the prime ideal.

Declarations

GlobalClassFieldTheory.GlobalClassFields.hilbertPrimeSplittingClassGroupIsMulCommutative

The canonical idèle-class multiplication makes every subgroup normal.

Source context 5 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
theorem hilbertPrimeSplittingClassGroupIsMulCommutative
    (F : Type) [Field F] [NumberField F] :
    IsMulCommutative (IdeleClassGroup F)
GlobalClassFieldTheory.GlobalClassFields.bigHilbertFrobeniusClass

The prime Frobenius class in the big-Hilbert reciprocity quotient.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
def bigHilbertFrobeniusClass
    (v : HeightOneSpectrum (𝓞 K)) :
    IdeleClassGroup K ⧸
      bigHilbertClassFieldNormSubgroup (K := K)
GlobalClassFieldTheory.GlobalClassFields.mulEquiv_symm_apply_eq_one_iff
Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem mulEquiv_symm_apply_eq_one_iff
    {G H : Type} [Group G] [Group H]
    (e : G ≃* H) (x : H) :
    e.symm x = 1 ↔ x = 1
GlobalClassFieldTheory.GlobalClassFields.mulEquiv_apply_trans_symm
Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem mulEquiv_apply_trans_symm
    {G H I : Type} [Group G] [Group H] [Group I]
    (e : G ≃* H) (f : H ≃* I) (x : I) :
    e ((e.trans f).symm x) = f.symm x
GlobalClassFieldTheory.GlobalClassFields.quotientMulEquivOfEq_trans_apply_mk
Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem quotientMulEquivOfEq_trans_apply_mk
    {G I : Type} [Group G] [Group I]
    (M N : Subgroup G) [M.Normal] [N.Normal]
    (h : M = N) (e : G ⧸ N ≃* I) (x : G) :
    ((QuotientGroup.quotientMulEquivOfEq h).trans e)
        (QuotientGroup.mk' M x) =
      e (QuotientGroup.mk' N x)
GlobalClassFieldTheory.GlobalClassFields.primeHasTotallyPositiveGenerator
Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
def primeHasTotallyPositiveGenerator
    (v : HeightOneSpectrum (𝓞 K)) : Prop
GlobalClassFieldTheory.GlobalClassFields.finitePrimeIdele_mem_narrowDenominator_imp_primeHasTotallyPositiveGenerator
Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
    finitePrimeIdele_mem_narrowDenominator_imp_primeHasTotallyPositiveGenerator
    (v : HeightOneSpectrum (𝓞 K))
    (hv : finitePrimeIdele v ∈
      RayClass.narrowDenominator (K := K)) :
    primeHasTotallyPositiveGenerator v
GlobalClassFieldTheory.GlobalClassFields.primeHasTotallyPositiveGenerator_imp_finitePrimeIdele_mem_narrowDenominator
Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
    primeHasTotallyPositiveGenerator_imp_finitePrimeIdele_mem_narrowDenominator
    (v : HeightOneSpectrum (𝓞 K))
    (hgenerator : primeHasTotallyPositiveGenerator v) :
    finitePrimeIdele v ∈
      RayClass.narrowDenominator (K := K)
GlobalClassFieldTheory.GlobalClassFields.finitePrimeIdele_mem_narrowDenominator_iff_primeHasTotallyPositiveGenerator
Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
    finitePrimeIdele_mem_narrowDenominator_iff_primeHasTotallyPositiveGenerator
    (v : HeightOneSpectrum (𝓞 K)) :
    finitePrimeIdele v ∈
        RayClass.narrowDenominator (K := K) ↔
      primeHasTotallyPositiveGenerator v
GlobalClassFieldTheory.GlobalClassFields.bigHilbertFrobeniusClass_eq_one_iff_exists_totallyPositiveGenerator

The big-Hilbert Frobenius class is trivial exactly when the prime has a generator whose principal idèle is positive at every real infinite place.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
    bigHilbertFrobeniusClass_eq_one_iff_exists_totallyPositiveGenerator
    (v : HeightOneSpectrum (𝓞 K)) :
    bigHilbertFrobeniusClass v = 1 ↔
      ∃ x : Kˣ,
        IdeleGroup.principalIdele K x ∈
          RayClass.idelePrimeToModulusSubgroup
            (RayClass.Modulus.narrowOfFinite
              (0 : RayClass.FiniteModulus K)) ∧
        toPrincipalIdeal (𝓞 K) K x =
          FractionalIdealGroup.prime v
GlobalClassFieldTheory.GlobalClassFields.maximalFiniteUnramifiedCyclicFrobeniusClass

The prime Frobenius class in the actual norm quotient of a maximal finite-unramified cyclic extension.

Source context 8 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
omit [IsUnramifiedAtInfinitePlaces K L] in
def maximalFiniteUnramifiedCyclicFrobeniusClass
    (hunramified :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        Nat.card (RayClass.NarrowClassGroup K))
    (v : HeightOneSpectrum (𝓞 K)) :
    IdeleClassGroup K ⧸
      (_root_.ideleClassNorm K L).range
GlobalClassFieldTheory.GlobalClassFields.maximalFiniteUnramifiedCyclicFrobeniusClass_eq_finitePrimeIdeleClass

The maximal finite-unramified norm-quotient Frobenius class is represented by the one-place prime idèle class.

Source context 8 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
omit [IsUnramifiedAtInfinitePlaces K L] in
theorem
    maximalFiniteUnramifiedCyclicFrobeniusClass_eq_finitePrimeIdeleClass
    (hunramified :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        Nat.card (RayClass.NarrowClassGroup K))
    (v : HeightOneSpectrum (𝓞 K)) :
    maximalFiniteUnramifiedCyclicFrobeniusClass
        (K := K) (L := L) hunramified hdegree v =
      QuotientGroup.mk'
        ((_root_.ideleClassNorm K L).range)
        (QuotientGroup.mk'
          (IdeleGroup.principalSubgroup K)
          (finitePrimeIdele v))
GlobalClassFieldTheory.GlobalClassFields.orderOf_maximalFiniteUnramifiedCyclicFrobeniusClass

The order of the actual maximal finite-unramified Frobenius class is the order of its narrow ideal class.

Source context 8 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
omit [IsUnramifiedAtInfinitePlaces K L] in
theorem orderOf_maximalFiniteUnramifiedCyclicFrobeniusClass
    (hunramified :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        Nat.card (RayClass.NarrowClassGroup K))
    (v : HeightOneSpectrum (𝓞 K)) :
    orderOf
        (maximalFiniteUnramifiedCyclicFrobeniusClass
          (K := K) (L := L) hunramified hdegree v) =
      orderOf
        (QuotientGroup.mk'
          (RayClass.narrowDenominator (K := K))
          (finitePrimeIdele v))
GlobalClassFieldTheory.GlobalClassFields.maximalFiniteUnramifiedCyclicFrobeniusClass_eq_one_iff_exists_totallyPositiveGenerator

The Frobenius class in the actual maximal finite-unramified norm quotient is trivial exactly when the prime has a totally positive generator.

Source context 8 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
omit [IsUnramifiedAtInfinitePlaces K L] in
theorem
    maximalFiniteUnramifiedCyclicFrobeniusClass_eq_one_iff_exists_totallyPositiveGenerator
    (hunramified :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        Nat.card (RayClass.NarrowClassGroup K))
    (v : HeightOneSpectrum (𝓞 K)) :
    maximalFiniteUnramifiedCyclicFrobeniusClass
        (K := K) (L := L) hunramified hdegree v = 1 ↔
      ∃ x : Kˣ,
        IdeleGroup.principalIdele K x ∈
          RayClass.idelePrimeToModulusSubgroup
            (RayClass.Modulus.narrowOfFinite
              (0 : RayClass.FiniteModulus K)) ∧
        toPrincipalIdeal (𝓞 K) K x =
          FractionalIdealGroup.prime v
GlobalClassFieldTheory.GlobalClassFields.finitePrimeIdeleClass_eq_one_of_splitsCompletely
Source context 8 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
omit [IsCyclic (L ≃ₐ[K] L)] [IsUnramifiedAtInfinitePlaces K L] in
theorem finitePrimeIdeleClass_eq_one_of_splitsCompletely
    (v : HeightOneSpectrum (𝓞 K))
    (hsplit :
      _root_.FinitePlaceSplitsCompletely
        (K := K) (L := L) v) :
    QuotientGroup.mk'
        ((_root_.ideleClassNorm K L).range)
        (QuotientGroup.mk'
          (IdeleGroup.principalSubgroup K)
          (finitePrimeIdele v)) = 1
GlobalClassFieldTheory.GlobalClassFields.finitePlaceSplitsCompletely_imp_maximalFiniteUnramifiedCyclicFrobeniusClass_eq_one

Actual complete splitting in a maximal finite-unramified cyclic extension forces triviality of the corresponding norm-quotient Frobenius class.

Source context 8 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
omit [IsUnramifiedAtInfinitePlaces K L] in
theorem
    finitePlaceSplitsCompletely_imp_maximalFiniteUnramifiedCyclicFrobeniusClass_eq_one
    (hunramified :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        Nat.card (RayClass.NarrowClassGroup K))
    (v : HeightOneSpectrum (𝓞 K))
    (hsplit :
      _root_.FinitePlaceSplitsCompletely
        (K := K) (L := L) v) :
    maximalFiniteUnramifiedCyclicFrobeniusClass
        (K := K) (L := L) hunramified hdegree v = 1
GlobalClassFieldTheory.GlobalClassFields.finitePlaceSplitsCompletely_imp_exists_totallyPositiveGenerator_of_maximalFiniteUnramifiedCyclic

Every prime which actually splits completely in a maximal finite-unramified cyclic extension has a totally positive generator.

Source context 8 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
omit [IsUnramifiedAtInfinitePlaces K L] in
theorem
    finitePlaceSplitsCompletely_imp_exists_totallyPositiveGenerator_of_maximalFiniteUnramifiedCyclic
    (hunramified :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        Nat.card (RayClass.NarrowClassGroup K))
    (v : HeightOneSpectrum (𝓞 K))
    (hsplit :
      _root_.FinitePlaceSplitsCompletely
        (K := K) (L := L) v) :
    ∃ x : Kˣ,
      IdeleGroup.principalIdele K x ∈
        RayClass.idelePrimeToModulusSubgroup
          (RayClass.Modulus.narrowOfFinite
            (0 : RayClass.FiniteModulus K)) ∧
      toPrincipalIdeal (𝓞 K) K x =
        FractionalIdealGroup.prime v
GlobalClassFieldTheory.GlobalClassFields.maximalEverywhereUnramifiedCyclicNormQuotientEquivSmallHilbertQuotient

At maximal everywhere-unramified cyclic degree, the actual norm quotient is canonically the small-Hilbert reciprocity quotient.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
def maximalEverywhereUnramifiedCyclicNormQuotientEquivSmallHilbertQuotient
    (hunramifiedFinite :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        NumberField.classNumber K) :
    (IdeleClassGroup K ⧸
        (_root_.ideleClassNorm K L).range) ≃*
      (IdeleClassGroup K ⧸
        smallHilbertClassFieldNormSubgroup (K := K))
GlobalClassFieldTheory.GlobalClassFields.maximalEverywhereUnramifiedCyclicFrobeniusClass

The prime Frobenius class in the actual norm quotient of a maximal everywhere-unramified cyclic extension.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
def maximalEverywhereUnramifiedCyclicFrobeniusClass
    (hunramifiedFinite :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        NumberField.classNumber K)
    (v : HeightOneSpectrum (𝓞 K)) :
    IdeleClassGroup K ⧸
      (_root_.ideleClassNorm K L).range
GlobalClassFieldTheory.GlobalClassFields.maximalEverywhereUnramifiedCyclicNormQuotientEquivSmallHilbertQuotient_frobeniusClass

The actual maximal norm-quotient Frobenius class corresponds to the small-Hilbert Frobenius class.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
    maximalEverywhereUnramifiedCyclicNormQuotientEquivSmallHilbertQuotient_frobeniusClass
    (hunramifiedFinite :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        NumberField.classNumber K)
    (v : HeightOneSpectrum (𝓞 K)) :
    maximalEverywhereUnramifiedCyclicNormQuotientEquivSmallHilbertQuotient
        (K := K) (L := L) hunramifiedFinite hdegree
        (maximalEverywhereUnramifiedCyclicFrobeniusClass
          (K := K) (L := L) hunramifiedFinite hdegree v) =
      IdealClassFieldTheory.smallHilbertFrobeniusClass v
GlobalClassFieldTheory.GlobalClassFields.maximalEverywhereUnramifiedCyclicFrobeniusClass_eq_finitePrimeIdeleClass

The maximal norm-quotient Frobenius class is represented by the one-place prime idèle class.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
    maximalEverywhereUnramifiedCyclicFrobeniusClass_eq_finitePrimeIdeleClass
    (hunramifiedFinite :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        NumberField.classNumber K)
    (v : HeightOneSpectrum (𝓞 K)) :
    maximalEverywhereUnramifiedCyclicFrobeniusClass
        (K := K) (L := L) hunramifiedFinite hdegree v =
      QuotientGroup.mk'
        ((_root_.ideleClassNorm K L).range)
        (QuotientGroup.mk'
          (IdeleGroup.principalSubgroup K)
          (finitePrimeIdele v))
GlobalClassFieldTheory.GlobalClassFields.orderOf_maximalEverywhereUnramifiedCyclicFrobeniusClass

The order of the actual norm-quotient Frobenius class is the order of the corresponding ordinary ideal class.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem orderOf_maximalEverywhereUnramifiedCyclicFrobeniusClass
    (hunramifiedFinite :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        NumberField.classNumber K)
    (v : HeightOneSpectrum (𝓞 K)) :
    orderOf
        (maximalEverywhereUnramifiedCyclicFrobeniusClass
          (K := K) (L := L) hunramifiedFinite hdegree v) =
      orderOf
        (ClassGroup.mk K (FractionalIdealGroup.prime v))
GlobalClassFieldTheory.GlobalClassFields.maximalEverywhereUnramifiedCyclicFrobeniusClass_eq_one_iff_smallHilbertClassFieldSplitsCompletely

Under the canonical quotient identification, complete splitting in the small Hilbert class field is equivalent to triviality of the corresponding Frobenius class in the actual maximal norm quotient.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
  maximalEverywhereUnramifiedCyclicFrobeniusClass_eq_one_iff_smallHilbertClassFieldSplitsCompletely
    (hunramifiedFinite :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        NumberField.classNumber K)
    (v : HeightOneSpectrum (𝓞 K)) :
    maximalEverywhereUnramifiedCyclicFrobeniusClass
        (K := K) (L := L) hunramifiedFinite hdegree v = 1 ↔
      IdealClassFieldTheory.SplitsCompletelyInSmallHilbertClassField v
GlobalClassFieldTheory.GlobalClassFields.maximalEverywhereUnramifiedCyclicFrobeniusClass_eq_one_iff_principal

The Frobenius class in the actual maximal norm quotient is trivial exactly when the corresponding prime ideal is principal.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
    maximalEverywhereUnramifiedCyclicFrobeniusClass_eq_one_iff_principal
    (hunramifiedFinite :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        NumberField.classNumber K)
    (v : HeightOneSpectrum (𝓞 K)) :
    maximalEverywhereUnramifiedCyclicFrobeniusClass
        (K := K) (L := L) hunramifiedFinite hdegree v = 1 ↔
      FractionalIdealGroup.prime v ∈
        (toPrincipalIdeal (𝓞 K) K).range
GlobalClassFieldTheory.GlobalClassFields.maximalEverywhereUnramifiedCyclicFrobeniusClass_eq_one_iff_exists_generator

Existential generator form of the trivial-Frobenius criterion in the actual maximal norm quotient.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
    maximalEverywhereUnramifiedCyclicFrobeniusClass_eq_one_iff_exists_generator
    (hunramifiedFinite :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        NumberField.classNumber K)
    (v : HeightOneSpectrum (𝓞 K)) :
    maximalEverywhereUnramifiedCyclicFrobeniusClass
        (K := K) (L := L) hunramifiedFinite hdegree v = 1 ↔
      ∃ x : Kˣ,
        toPrincipalIdeal (𝓞 K) K x =
          FractionalIdealGroup.prime v
GlobalClassFieldTheory.GlobalClassFields.finitePlaceSplitsCompletely_imp_maximalEverywhereUnramifiedCyclicFrobeniusClass_eq_one

If a finite prime actually splits completely in the maximal everywhere-unramified cyclic extension, then its norm-quotient Frobenius class is trivial.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
    finitePlaceSplitsCompletely_imp_maximalEverywhereUnramifiedCyclicFrobeniusClass_eq_one
    (hunramifiedFinite :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        NumberField.classNumber K)
    (v : HeightOneSpectrum (𝓞 K))
    (hsplit :
      _root_.FinitePlaceSplitsCompletely
        (K := K) (L := L) v) :
    maximalEverywhereUnramifiedCyclicFrobeniusClass
        (K := K) (L := L) hunramifiedFinite hdegree v = 1
GlobalClassFieldTheory.GlobalClassFields.finitePlaceSplitsCompletely_imp_prime_principal_of_maximalEverywhereUnramifiedCyclic

In a maximal everywhere-unramified cyclic extension, every prime which actually splits completely is principal.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
    finitePlaceSplitsCompletely_imp_prime_principal_of_maximalEverywhereUnramifiedCyclic
    (hunramifiedFinite :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        NumberField.classNumber K)
    (v : HeightOneSpectrum (𝓞 K))
    (hsplit :
      _root_.FinitePlaceSplitsCompletely
        (K := K) (L := L) v) :
    FractionalIdealGroup.prime v ∈
      (toPrincipalIdeal (𝓞 K) K).range
GlobalClassFieldTheory.GlobalClassFields.not_finitePlaceSplitsCompletely_of_prime_not_principal_of_maximalEverywhereUnramifiedCyclic

A nonprincipal prime cannot split completely in a maximal everywhere-unramified cyclic extension.

Source context 7 commands

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

open scoped NumberField
noncomputable section
namespace GlobalClassFieldTheory
namespace GlobalClassFields
open NumberField IsDedekindDomain IdeleGroup
attribute [local instance] hilbertPrimeSplittingClassGroupIsMulCommutative
variable
    {K L : Type}
    [Field K] [NumberField K]
    [Field L] [NumberField L] [Algebra K L]
    [FiniteDimensional K L] [IsGalois K L]
    [IsCyclic (L ≃ₐ[K] L)]
    [IsUnramifiedAtInfinitePlaces K L]
theorem
    not_finitePlaceSplitsCompletely_of_prime_not_principal_of_maximalEverywhereUnramifiedCyclic
    (hunramifiedFinite :
      _root_.ramifiedBaseFinitePlaces
          (K := K) (L := L) = ∅)
    (hdegree :
      Module.finrank K L =
        NumberField.classNumber K)
    (v : HeightOneSpectrum (𝓞 K))
    (hprincipal :
      FractionalIdealGroup.prime v ∉
        (toPrincipalIdeal (𝓞 K) K).range) :
    ¬ _root_.FinitePlaceSplitsCompletely
        (K := K) (L := L) v