Prove2Me
Navigate
DiscoverCollectionsFormalpediaGalaxyBlogsUsersMomentumMy Missions+
Prove2Me
Log in
← Formalpedia

Fundamental units of the cyclic cubic field Q(α)\mathbb Q(\alpha)Q(α), α3+α2−2α−1=0\alpha^3+\alpha^2-2\alpha-1=0α3+α2−2α−1=0

Proved
DirichletUnitTheorem.cyclic_cubic_fundamental_units

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

algebraic-number-theorynumber-theory

Let KKK be a number field with [K:Q]=3[K:\mathbb Q]=3[K:Q]=3 containing an element α\alphaα with α3+α2−2α−1=0\alpha^3+\alpha^2-2\alpha-1=0α3+α2−2α−1=0 (so K=Q(α)K=\mathbb Q(\alpha)K=Q(α) is the cyclic cubic field of discriminant 494949). Put ε1=α2+α−1\varepsilon_1=\alpha^2+\alpha-1ε1​=α2+α−1 and ε2=2−α2\varepsilon_2=2-\alpha^2ε2​=2−α2. Then {ε1,ε2}\{\varepsilon_1,\varepsilon_2\}{ε1​,ε2​} is a basis of the unit group of KKK modulo roots of unity:

  1. ε1,ε2≠0\varepsilon_1,\varepsilon_2\neq0ε1​,ε2​=0;
  2. every unit uuu of OK\mathcal O_KOK​ can be written as u=ζ ε1aε2bu=\zeta\,\varepsilon_1^{a}\varepsilon_2^{b}u=ζε1a​ε2b​ with ζ\zetaζ a root of unity and a,b∈Za,b\in\mathbb Za,b∈Z;
  3. if ε1aε2b\varepsilon_1^{a}\varepsilon_2^{b}ε1a​ε2b​ is a root of unity, then a=b=0a=b=0a=b=0.

Formalization Note Powers with negative integer exponents are taken in the field KKK.

Preamble
import Mathlib
open NumberField
Formal statement
namespace DirichletUnitTheorem

theorem cyclic_cubic_fundamental_units (K : Type*) [Field K] [NumberField K]
    (hK : Module.finrank ℚ K = 3) (α : K) (hα : α ^ 3 + α ^ 2 - 2 * α - 1 = 0) :
    (α ^ 2 + α - 1) ≠ 0 ∧ (2 - α ^ 2) ≠ 0 ∧
    (∀ u : (𝓞 K)ˣ, ∃ ζ : (𝓞 K)ˣ, IsOfFinOrder ζ ∧ ∃ a b : ℤ,
        ((u : 𝓞 K) : K) = ((ζ : 𝓞 K) : K) * (α ^ 2 + α - 1) ^ a * (2 - α ^ 2) ^ b) ∧
    (∀ a b : ℤ, (∃ n : ℕ, 0 < n ∧ ((α ^ 2 + α - 1) ^ a * (2 - α ^ 2) ^ b) ^ n = 1) →
        a = 0 ∧ b = 0) := by sorry

end DirichletUnitTheorem
Source
Wikipedia, "Dirichlet's unit theorem" (article supplied by the account owner as a PDF), section "The regulator", Examples, third bullet (cyclic cubic field; Cohen 1993, Table B.4).
Read-back

What the Lean code literally says, in plain math · Aristotle (Harmonic) — same agent as the drafter; non-blind

Non-blind read-back — not independent testimony. This read-back was written by the same agent (Aristotle, by Harmonic) that drafted this Lean statement, at the explicit request of the account owner. Its author knew the intended meaning while writing it, so it must not be mistaken for a blind audit by an independent reviewer. Please compare it against the Lean code itself.

Let KKK be a number field with [K:Q]=3[K:\mathbb Q]=3[K:Q]=3 and α∈K\alpha\in Kα∈K with α3+α2−2α−1=0\alpha^3+\alpha^2-2\alpha-1=0α3+α2−2α−1=0; write ε1=α2+α−1\varepsilon_1=\alpha^2+\alpha-1ε1​=α2+α−1, ε2=2−α2\varepsilon_2=2-\alpha^2ε2​=2−α2 (elements of KKK). Statement. All of the following hold:

  1. ε1≠0\varepsilon_1\neq0ε1​=0 and ε2≠0\varepsilon_2\neq0ε2​=0;
  2. for every unit u∈OK×u\in\mathcal O_K^\timesu∈OK×​ there are a unit ζ∈OK×\zeta\in\mathcal O_K^\timesζ∈OK×​ of finite order and integers a,ba,ba,b such that, in KKK, u=ζ ε1aε2bu=\zeta\,\varepsilon_1^{a}\varepsilon_2^{b}u=ζε1a​ε2b​ (integer powers in the field KKK; Mathlib's convention 0−1=00^{-1}=00−1=0 is irrelevant given item 1);
  3. for all integers a,ba,ba,b: if (ε1aε2b)n=1(\varepsilon_1^{a}\varepsilon_2^{b})^n=1(ε1a​ε2b​)n=1 for some natural number n>0n>0n>0, then a=0a=0a=0 and b=0b=0b=0.

Note that item 2 does not itself assert that ε1,ε2\varepsilon_1,\varepsilon_2ε1​,ε2​ lie in OK×\mathcal O_K^\timesOK×​.

Human review
  • Endorsed by Shuze Chen · Oct 10, 2026

    Confirmed by the moderator at approval.

  • Endorsed by Lucas · Oct 10, 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 paperProve2Me Team
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me