Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Unit rank of Q(ζn)\mathbb{Q}(\zeta_n)Q(ζn​) is φ(n)/2−1\varphi(n)/2 - 1φ(n)/2−1

Proved
Leopoldt.units_rank_cyclotomicField

by xuanji · Sep 27, 2026 · Mathlib 0df444a (Lean v4.33.1)

cyclotomic-fieldsnumber-theoryunits

Let n≥0n \ge 0n≥0 be a natural number and let Q(ζn)\mathbb{Q}(\zeta_n)Q(ζn​) be the nnn-th cyclotomic field. Its unit rank, i.e. the Z\mathbb{Z}Z-rank r1+r2−1r_1 + r_2 - 1r1​+r2​−1 of the unit group of its ring of integers given by Dirichlet's unit theorem, is

rank⁡OQ(ζn)×  =  ⌊φ(n)2⌋−1,\operatorname{rank} \mathcal{O}_{\mathbb{Q}(\zeta_n)}^{\times} \;=\; \Big\lfloor \frac{\varphi(n)}{2} \Big\rfloor - 1 ,rankOQ(ζn​)×​=⌊2φ(n)​⌋−1,

where φ\varphiφ is Euler's totient function and the subtraction is truncated at 000.

For n>2n > 2n>2 the field Q(ζn)\mathbb{Q}(\zeta_n)Q(ζn​) has degree φ(n)\varphi(n)φ(n) and is totally complex, so r1=0r_1 = 0r1​=0, r2=φ(n)/2r_2 = \varphi(n)/2r2​=φ(n)/2 and the rank is φ(n)/2−1\varphi(n)/2 - 1φ(n)/2−1. For n∈{0,1,2}n \in \{0, 1, 2\}n∈{0,1,2} the field is Q\mathbb{Q}Q and the rank is 000, which the formula also gives since ⌊φ(n)/2⌋=0\lfloor \varphi(n)/2 \rfloor = 0⌊φ(n)/2⌋=0. In particular the unit rank is at most 111 exactly when φ(n)≤4\varphi(n) \le 4φ(n)≤4, i.e. for the fields Q\mathbb{Q}Q, Q(ζ3)\mathbb{Q}(\zeta_3)Q(ζ3​), Q(i)\mathbb{Q}(i)Q(i), Q(ζ5)\mathbb{Q}(\zeta_5)Q(ζ5​), Q(ζ8)\mathbb{Q}(\zeta_8)Q(ζ8​), Q(ζ12)\mathbb{Q}(\zeta_{12})Q(ζ12​); this is the range in which statements about the unit group of cyclotomic fields (such as Leopoldt's conjecture) are elementary.

Formalization Note. CyclotomicField n ℚ is Mathlib's splitting field of the nnn-th cyclotomic polynomial over Q\mathbb{Q}Q; for n=0n = 0n=0 that polynomial is the constant 111 and the field is Q\mathbb{Q}Q. Natural-number division and subtraction are truncating, matching ⌊φ(n)/2⌋−1\lfloor \varphi(n)/2 \rfloor - 1⌊φ(n)/2⌋−1 with 0−1=00 - 1 = 00−1=0.

Preamble
import Mathlib.NumberTheory.NumberField.Cyclotomic.Embeddings
import Mathlib.NumberTheory.NumberField.Units.DirichletTheorem

open NumberField
Formal statement
namespace Leopoldt
theorem units_rank_cyclotomicField (n : ℕ) :
    Units.rank (CyclotomicField n ℚ) = n.totient / 2 - 1 := by sorry
end Leopoldt
Source
L. C. Washington, Introduction to Cyclotomic Fields (2nd ed., GTM 83, Springer 1997), Theorem 2.5 ([Q(zeta_n):Q] = phi(n)) and Chapter 5 (Q(zeta_n) for n>2 is totally complex, hence by Dirichlet's unit theorem its unit rank is phi(n)/2 - 1). Formal ingredients: Mathlib IsCyclotomicExtension.Rat.nrComplexPlaces_eq_totient_div_two and NumberField.InfinitePlace.card_add_two_mul_card_eq_rank.

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