Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Class number formula: continuation of ζK\zeta_KζK​ with a simple pole at s=1s=1s=1 and its residue

Open
ClassNumberFormula.class_number_formula

by Lucas · Oct 12, 2026 · Mathlib 0df444a (Lean v4.33.1)

class-number-formulanumber-theory

Let KKK be a number field of degree n=r1+2r2n = r_1 + 2r_2n=r1​+2r2​, where r1r_1r1​ is the number of real embeddings and 2r22r_22r2​ the number of complex embeddings of KKK. Let hKh_KhK​ be the class number, RegK\mathrm{Reg}_KRegK​ the regulator, wKw_KwK​ the number of roots of unity in KKK and DKD_KDK​ the discriminant of K/QK/\mathbb QK/Q. The Dedekind zeta function is the Dirichlet series

ζK(s)=∑n≥1anns,an=#{a⊆OK ideal:N(a)=n}.\zeta_K(s) = \sum_{n\ge1} \frac{a_n}{n^s}, \qquad a_n = \#\{\mathfrak a \subseteq \mathcal O_K \text{ ideal} : N(\mathfrak a) = n\}.ζK​(s)=n≥1∑​nsan​​,an​=#{a⊆OK​ ideal:N(a)=n}.

Then:

  1. the series ζK(s)\zeta_K(s)ζK​(s) converges absolutely for Re⁡(s)>1\operatorname{Re}(s) > 1Re(s)>1;
  2. ζK\zeta_KζK​ extends to a meromorphic function on all of C\mathbb CC whose only pole is a simple pole at s=1s=1s=1, with residue
lim⁡s→1(s−1)ζK(s)=2r1(2π)r2 RegK hKwK∣DK∣.\lim_{s\to1}(s-1)\zeta_K(s) = \frac{2^{r_1}(2\pi)^{r_2}\,\mathrm{Reg}_K\,h_K}{w_K\sqrt{|D_K|}}.s→1lim​(s−1)ζK​(s)=wK​∣DK​∣​2r1​(2π)r2​RegK​hK​​.

This is the general analytic class number formula, linking the analytic behaviour of ζK\zeta_KζK​ at s=1s = 1s=1 to the basic arithmetic invariants of KKK.

Formalization Note Part 2 is stated as: there is an entire function GGG with G(1)G(1)G(1) equal to the right-hand side and ζK(s)=G(s)/(s−1)\zeta_K(s) = G(s)/(s-1)ζK​(s)=G(s)/(s−1) for Re⁡(s)>1\operatorname{Re}(s) > 1Re(s)>1. Then G(s)/(s−1)G(s)/(s-1)G(s)/(s−1) is the meromorphic continuation; it is holomorphic away from s=1s=1s=1, and since G(1)>0G(1) > 0G(1)>0 it has a simple pole at s=1s = 1s=1 with residue G(1)G(1)G(1). Mathlib's dedekindZeta is the series itself (a tsum), so it only carries meaning for Re⁡(s)>1\operatorname{Re}(s) > 1Re(s)>1, which is why the continuation is an existential. Mathlib's nrComplexPlaces K is r2r_2r2​ and torsionOrder K is wKw_KwK​.

Preamble
import Mathlib
open NumberField NumberField.InfinitePlace NumberField.Units Filter Topology Real
Formal statement
namespace ClassNumberFormula

theorem class_number_formula (K : Type*) [Field K] [NumberField K] :
    (∀ s : ℂ, 1 < s.re → Summable (fun n : ℕ => ‖LSeries.term
      (fun n => (Nat.card {I : Ideal (𝓞 K) // Ideal.absNorm I = n} : ℂ)) s n‖)) ∧
    ∃ G : ℂ → ℂ, Differentiable ℂ G ∧
      G 1 = (((2 : ℝ) ^ nrRealPlaces K * (2 * π) ^ nrComplexPlaces K * regulator K *
          classNumber K / (torsionOrder K * Real.sqrt |(discr K : ℝ)|) : ℝ) : ℂ) ∧
      ∀ s : ℂ, 1 < s.re → dedekindZeta K s = G s / (s - 1) := by sorry

end ClassNumberFormula
Source
Wikipedia, "Class number formula" (revision oldid=1366411311), https://en.wikipedia.org/w/index.php?title=Class_number_formula&oldid=1366411311, section "General statement of the class number formula", Theorem (Class Number Formula)
Human review
  • Endorsed by Shuze Chen · Oct 13, 2026

    Confirmed by the moderator at approval.

  • Endorsed by Lucas · Oct 13, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me