Kummer's Criterion and Regular Primes in Lean

1.6. Injectivity of the class-group map and the definition of h-minus🔗

The descent theorem immediately gives injectivity on class groups.

Theorem1.6.1
uses 1used by 1L∃∀N

The extension map \mathrm{Cl}(\mathcal{O}_{\mathbb{Q}(\zeta_p)^+}) \longrightarrow \mathrm{Cl}(\mathcal{O}_{\mathbb{Q}(\zeta_p)}) is injective.

Theorem 1.5.2.3

Lean code for Theorem1.6.11 theorem
  • theoremdefined in BernoulliRegular/TotallyRealSubfield/ClassGroup.lean
    complete
    theorem BernoulliRegular.classGroupMap_injective.{u_1} (p : )
      [hp : Fact (Nat.Prime p)] (hp_odd : p  2) (K : Type u_1) [Field K]
      [NumberField K] [IsCyclotomicExtension {p}  K]
      [NumberField.IsCMField K] :
      Function.Injective (BernoulliRegular.classGroupMap K)
    theorem BernoulliRegular.classGroupMap_injective.{u_1}
      (p : ) [hp : Fact (Nat.Prime p)]
      (hp_odd : p  2) (K : Type u_1)
      [Field K] [NumberField K]
      [IsCyclotomicExtension {p}  K]
      [NumberField.IsCMField K] :
      Function.Injective
        (BernoulliRegular.classGroupMap K)
    **Diekmann Prop 55**, monoid-hom form. The class-group map
    `Cl(𝒪_{K⁺}) → Cl(𝒪_K)` is injective for `K = ℚ(ζ_p)`. 
Proof for Theorem 1.6.1
uses 0

A homomorphism of groups is injective iff its kernel is trivial. An element [I] \in \mathrm{Cl}(\mathcal{O}^+) goes to the identity in \mathrm{Cl}(\mathcal{O}) exactly when I \mathcal{O} is principal in \mathcal{O}. Theorem 1.5.2.3 says that this forces I itself to be principal, i.e. [I] = 1 in \mathrm{Cl}(\mathcal{O}^+). Thus the kernel is trivial.

Since both class groups are finite, injectivity implies divisibility of their cardinalities.

Theorem1.6.2
Statement uses 3
Statement dependency previews
Preview
Definition 1.2.1
Loading preview
Statement dependency preview content is loaded from the Blueprint HTML cache.
Used by 3
Reverse dependency previews
Preview
Definition 1.6.3
Loading preview
Reverse dependency preview content is loaded from the Blueprint HTML cache.
L∃∀N

\hplus divides h(\mathbb{Q}(\zeta_p)). The class number \hplus of \mathbb{Q}(\zeta_p)^+ divides the class number h(\mathbb{Q}(\zeta_p)) of \mathbb{Q}(\zeta_p).

Theorem 1.6.1 Definition 1.2.1 Definition 1.2.2

Lean code for Theorem1.6.21 theorem
  • theoremdefined in BernoulliRegular/TotallyRealSubfield/ClassGroup.lean
    complete
    theorem BernoulliRegular.hPlus_dvd_h.{u_1} (p : ) [hp : Fact (Nat.Prime p)]
      (hp_odd : p  2) (K : Type u_1) [Field K] [NumberField K]
      [IsCyclotomicExtension {p}  K] [NumberField.IsCMField K] :
      BernoulliRegular.hPlus K  BernoulliRegular.h K
    theorem BernoulliRegular.hPlus_dvd_h.{u_1} (p : )
      [hp : Fact (Nat.Prime p)]
      (hp_odd : p  2) (K : Type u_1)
      [Field K] [NumberField K]
      [IsCyclotomicExtension {p}  K]
      [NumberField.IsCMField K] :
      BernoulliRegular.hPlus K 
        BernoulliRegular.h K
    The class number of `K⁺` divides the class number of `K`. 
Proof for Theorem 1.6.2
uses 0

By Theorem 1.6.1 the extension map \mathrm{Cl}(\mathcal{O}^+) \to \mathrm{Cl}(\mathcal{O}) is an injective homomorphism of finite groups. Its image is a subgroup of \mathrm{Cl}(\mathcal{O}) of order \hplus, and by Lagrange's theorem the order of any subgroup of a finite group divides the order of the ambient group.

This justifies the definition of the relative class number.

Definition1.6.3
uses 1
Used by 3
Reverse dependency previews
Preview
Theorem 1.6.4
Loading preview
Reverse dependency preview content is loaded from the Blueprint HTML cache.
L∃∀N

The relative class number is defined by \hminus \;:=\; h(\mathbb{Q}(\zeta_p)) / \hplus.

Theorem 1.6.2

Lean code for Definition1.6.31 definition
  • defdefined in BernoulliRegular/TotallyRealSubfield/ClassGroup.lean
    complete
    def BernoulliRegular.hMinus.{u_1} (K : Type u_1) [Field K] [NumberField K]
      [NumberField.IsCMField K] : 
    def BernoulliRegular.hMinus.{u_1}
      (K : Type u_1) [Field K] [NumberField K]
      [NumberField.IsCMField K] : 
    The *relative class number* `h⁻ := h / h⁺`, written locally as `h⁻`. 

We shall also use the factorisation and positivity statements below.

Theorem1.6.4
Statement uses 2
Statement dependency previews
Preview
Theorem 1.6.2
Loading preview
Statement dependency preview content is loaded from the Blueprint HTML cache.
Used by 2
Reverse dependency previews
Preview
Proposition 6.1.2.1
Loading preview
Reverse dependency preview content is loaded from the Blueprint HTML cache.
L∃∀N

One has h(\mathbb{Q}(\zeta_p)) = \hplus\,\hminus.

Definition 1.6.3 Theorem 1.6.2

Lean code for Theorem1.6.41 theorem
  • theoremdefined in BernoulliRegular/TotallyRealSubfield/ClassGroup.lean
    complete
    theorem BernoulliRegular.h_eq_hPlus_mul_hMinus.{u_1} (p : )
      [hp : Fact (Nat.Prime p)] (hp_odd : p  2) (K : Type u_1) [Field K]
      [NumberField K] [IsCyclotomicExtension {p}  K]
      [NumberField.IsCMField K] :
      BernoulliRegular.h K =
        BernoulliRegular.hPlus K * BernoulliRegular.hMinus K
    theorem BernoulliRegular.h_eq_hPlus_mul_hMinus.{u_1}
      (p : ) [hp : Fact (Nat.Prime p)]
      (hp_odd : p  2) (K : Type u_1)
      [Field K] [NumberField K]
      [IsCyclotomicExtension {p}  K]
      [NumberField.IsCMField K] :
      BernoulliRegular.h K =
        BernoulliRegular.hPlus K *
          BernoulliRegular.hMinus K
Proof for Theorem 1.6.4
uses 0

Immediate from Definition 1.6.3 and Theorem 1.6.2: dividing h(\mathbb{Q}(\zeta_p)) by the divisor \hplus yields \hminus, and multiplying back recovers h(\mathbb{Q}(\zeta_p)).

Theorem1.6.5
Statement uses 2
Statement dependency previews
Preview
Theorem 1.6.2
Loading preview
Statement dependency preview content is loaded from the Blueprint HTML cache.
used by 0L∃∀N

The relative class number \hminus is strictly positive.

Definition 1.6.3 Theorem 1.6.2

Lean code for Theorem1.6.51 theorem
  • theoremdefined in BernoulliRegular/TotallyRealSubfield/ClassGroup.lean
    complete
    theorem BernoulliRegular.hMinus_pos.{u_1} (p : ) [hp : Fact (Nat.Prime p)]
      (hp_odd : p  2) (K : Type u_1) [Field K] [NumberField K]
      [IsCyclotomicExtension {p}  K] [NumberField.IsCMField K] :
      0 < BernoulliRegular.hMinus K
    theorem BernoulliRegular.hMinus_pos.{u_1} (p : )
      [hp : Fact (Nat.Prime p)]
      (hp_odd : p  2) (K : Type u_1)
      [Field K] [NumberField K]
      [IsCyclotomicExtension {p}  K]
      [NumberField.IsCMField K] :
      0 < BernoulliRegular.hMinus K
    The relative class number is positive. 
Proof for Theorem 1.6.5
uses 0

Both h(\mathbb{Q}(\zeta_p)) and \hplus are positive integers (cardinalities of nonempty finite groups), and \hplus \mid h(\mathbb{Q}(\zeta_p)), so the quotient h(\mathbb{Q}(\zeta_p)) / \hplus is a positive integer.