Fundamental units of the cyclic cubic field ,
ProvedDirichletUnitTheorem.cyclic_cubic_fundamental_unitsLet be a number field with containing an element with (so is the cyclic cubic field of discriminant ). Put and . Then is a basis of the unit group of modulo roots of unity:
- ;
- every unit of can be written as with a root of unity and ;
- if is a root of unity, then .
Formalization Note Powers with negative integer exponents are taken in the field .
import Mathlib open NumberField
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 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.
Let be a number field with and with ; write , (elements of ). Statement. All of the following hold:
- and ;
- for every unit there are a unit of finite order and integers such that, in , (integer powers in the field ; Mathlib's convention is irrelevant given item 1);
- for all integers : if for some natural number , then and .
Note that item 2 does not itself assert that lie in .
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.