Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Cyclotomic Euler system: compatible roots of unity, cyclotomic fields and units

Definition
CyclotomicEulerSystem_defs

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

cyclotomic-fieldseuler-systemsnumber-theory

This file fixes the objects of the cyclotomic Euler system.

  1. A function ζ:N→C\zeta:\mathbb N\to\mathbb Cζ:N→C, n↦ζnn\mapsto\zeta_nn↦ζn​, is a compatible system of roots of unity if for every square-free positive integer nnn the number ζn\zeta_nζn​ is a primitive nnn-th root of unity, and
ζmn=ζm ζnwhenever m,n are coprime square-free positive integers.\zeta_{mn}=\zeta_m\,\zeta_n\qquad\text{whenever } m,n \text{ are coprime square-free positive integers.}ζmn​=ζm​ζn​whenever m,n are coprime square-free positive integers.
  1. For n∈Nn\in\mathbb Nn∈N, Q(ζn)\mathbb Q(\zeta_n)Q(ζn​) denotes the subfield of C\mathbb CC generated over Q\mathbb QQ by ζn\zeta_nζn​ (the nnn-th cyclotomic field when nnn is square-free).
  2. The cyclotomic units are the numbers αn=1−ζn\alpha_n = 1-\zeta_nαn​=1−ζn​; they are also packaged as elements of Q(ζn)\mathbb Q(\zeta_n)Q(ζn​).
  3. For n,mn,mn,m, the field Q(ζn)(ζm)⊆C\mathbb Q(\zeta_n)(\zeta_m)\subseteq\mathbb CQ(ζn​)(ζm​)⊆C is regarded as an extension of Q(ζn)\mathbb Q(\zeta_n)Q(ζn​), and αm\alpha_mαm​ as an element of it. For m=nlm=nlm=nl this is the field Q(ζnl)\mathbb Q(\zeta_{nl})Q(ζnl​) viewed over Q(ζn)\mathbb Q(\zeta_n)Q(ζn​), which is the extension appearing in the norm relation.

These are the shared definitions for every statement of the mission.

Formalization Note The values of ζ\zetaζ at non-square-free arguments are unconstrained and never used. In Lean, Squarefree n for natural numbers already excludes n=0n=0n=0. The source says "an nnn-th root of 1"; the standard construction (and the validity of the relations) requires primitive roots, which is what is encoded. The file contains only definitions and the membership facts needed to form the elements.

Definition code
import Mathlib

/-!
# Cyclotomic Euler system — definitions

Draft definition layer for the Prove2Me mission proposal
"Euler systems: the cyclotomic Euler system" (source: Wikipedia, *Euler system*,
section *Examples / Cyclotomic units*).
-/

namespace CyclotomicEulerSystem

/-- A *compatible system of roots of unity*: for every square-free positive integer `n`,
`ζ n` is a primitive `n`-th root of unity in `ℂ`, and `ζ (m * n) = ζ m * ζ n` whenever
`m`, `n` are coprime square-free positive integers. (In `ℕ`, `Squarefree n` already
forces `n ≠ 0`.) -/
def IsCompatibleRootSystem (ζ : ℕ → ℂ) : Prop :=
  (∀ n : ℕ, Squarefree n → IsPrimitiveRoot (ζ n) n) ∧
    ∀ m n : ℕ, Squarefree m → Squarefree n → Nat.Coprime m n → ζ (m * n) = ζ m * ζ n

/-- The cyclotomic field `ℚ(ζₙ)`, as a subfield of `ℂ`. -/
noncomputable def cycField (ζ : ℕ → ℂ) (n : ℕ) : IntermediateField ℚ ℂ :=
  IntermediateField.adjoin ℚ {ζ n}

/-- The cyclotomic unit `αₙ = 1 - ζₙ`, as a complex number. -/
def alpha (ζ : ℕ → ℂ) (n : ℕ) : ℂ := 1 - ζ n

theorem zeta_mem_cycField (ζ : ℕ → ℂ) (n : ℕ) : ζ n ∈ cycField ζ n :=
  IntermediateField.subset_adjoin ℚ {ζ n} rfl

theorem alpha_mem_cycField (ζ : ℕ → ℂ) (n : ℕ) : alpha ζ n ∈ cycField ζ n :=
  sub_mem (one_mem _) (zeta_mem_cycField ζ n)

/-- `ζₙ` as an element of `ℚ(ζₙ)`. -/
noncomputable def zetaIn (ζ : ℕ → ℂ) (n : ℕ) : cycField ζ n :=
  ⟨ζ n, zeta_mem_cycField ζ n⟩

/-- `αₙ = 1 - ζₙ` as an element of `ℚ(ζₙ)`. -/
noncomputable def alphaIn (ζ : ℕ → ℂ) (n : ℕ) : cycField ζ n :=
  ⟨alpha ζ n, alpha_mem_cycField ζ n⟩

/-- The field `ℚ(ζₙ)(ζₘ)`, viewed as an extension of `ℚ(ζₙ)` inside `ℂ`.
For `m = n * l` this is `ℚ(ζₙₗ)` regarded as an extension of `ℚ(ζₙ)`. -/
noncomputable def cycExt (ζ : ℕ → ℂ) (n m : ℕ) : IntermediateField (cycField ζ n) ℂ :=
  IntermediateField.adjoin (cycField ζ n) {ζ m}

theorem alpha_mem_cycExt (ζ : ℕ → ℂ) (n m : ℕ) : alpha ζ m ∈ cycExt ζ n m :=
  sub_mem (one_mem _) (IntermediateField.subset_adjoin (cycField ζ n) {ζ m} rfl)

/-- `αₘ = 1 - ζₘ` as an element of the extension `ℚ(ζₙ)(ζₘ)` of `ℚ(ζₙ)`. -/
noncomputable def alphaExt (ζ : ℕ → ℂ) (n m : ℕ) : cycExt ζ n m :=
  ⟨alpha ζ m, alpha_mem_cycExt ζ n m⟩

end CyclotomicEulerSystem
Source
Wikipedia, "Euler system", revision 1353502478 (https://en.wikipedia.org/w/index.php?title=Euler_system&oldid=1353502478), section "Examples / Cyclotomic units", displayed relations (norm relation and congruence relation) and the preceding sentence "For every square-free positive integer n pick an n-th root ζ_n of 1, with ζ_mn = ζ_m ζ_n for m,n coprime. Then the cyclotomic Euler system is the set of numbers α_n = 1 − ζ_n."
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