Torsion units are the roots of unity and form a finite cyclic group
ProvedDirichletUnitTheorem.torsion_units_eq_roots_of_unity_finite_cyclicLet be a number field. The torsion subgroup of is the set of all roots of unity of , and it is a finite cyclic group. Precisely:
- an element is a unit of of finite order if and only if for some integer ;
- the torsion subgroup of is finite;
- the torsion subgroup of is cyclic.
import Mathlib open NumberField
namespace DirichletUnitTheorem
theorem torsion_units_eq_roots_of_unity_finite_cyclic (K : Type*) [Field K] [NumberField K] :
(∀ x : K, (∃ u : (𝓞 K)ˣ, IsOfFinOrder u ∧ ((u : 𝓞 K) : K) = x) ↔
∃ n : ℕ, 0 < n ∧ x ^ n = 1) ∧
Finite (CommGroup.torsion (𝓞 K)ˣ) ∧ IsCyclic (CommGroup.torsion (𝓞 K)ˣ) := by sorry
end DirichletUnitTheoremRead-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.
Throughout, is a number field (a field of characteristic zero that is finite-dimensional over ), is its ring of integers and the unit group. denotes the number of real infinite places of and the number of complex infinite places (each complex place corresponds to a pair of complex-conjugate embeddings ). Statement. For every number field , all three hold:
- for every : there exists a unit of finite multiplicative order whose image in is , if and only if there is a natural number with in ;
- the subgroup of consisting of all elements of finite order is a finite set;
- that subgroup is a cyclic group.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.