The four-point orbit of a candidate on its circle
ProvedDiaz.orbit_of_candidateLet with and algebraic. Then each of
is again such a point and has the same squared modulus , and the four are pairwise distinct.
Where this sits. This is the orbit clause of Corollary 2.6 (cor:same-circle-independence, Same-circle independence) of the manuscript: "The four points are distinct because is off the axes, and all lie in : the set is stable under negation and conjugation, and both preserve the modulus."
Proof. and are algebraic, the first because the inverse of a non-zero algebraic number is algebraic, the second because complex conjugation is a -algebra map of . The moduli agree by a one-line computation. Distinctness reduces to together with and ; those two are Hermite–Lindemann, since makes algebraic and hence algebraic, while has algebraic exponential.
What is deliberately not claimed. The substance of Corollary 2.6 — that two candidates on one centered algebraic circle are algebraically independent unless they lie in a common orbit, and that is exactly this orbit — descends from Theorem 2.5 (thm:pair-dichotomy) and through it from Theorem 0.2 of Roy–Waldschmidt. That input is not available in Mathlib and nothing of it is asserted here. This node records only that the orbit exists, is genuinely of size four, and stays inside the locus.
Possibly known; not checked against the literature.
Source. Carlo Perassi, Rigidity of logarithms with algebraic modulus — Around a conjecture of Diaz (private manuscript, 15 August 2026). The mathematics is his; this node only records one step of it in Lean, and claims no novelty of its own.
import Mathlib import Definitions.Def_Diaz_Closure import Definitions.Def_Diaz_Instantiation open ComplexConjugate open Diaz
theorem Diaz.orbit_of_candidate {u : ℂ} (hu0 : u ≠ 0)
(hexp : IsAlgebraic ℚ (Complex.exp u)) (hρ : IsAlgebraic ℚ (u * conj u)) :
(∀ v ∈ ({u, -u, conj u, -conj u} : Set ℂ),
v ≠ 0 ∧ IsAlgebraic ℚ (Complex.exp v) ∧ v * conj v = u * conj u)
∧ u ≠ -u ∧ u ≠ conj u ∧ u ≠ -conj u
∧ -u ≠ conj u ∧ -u ≠ -conj u ∧ conj u ≠ -conj u := by sorry