On the torsion branch the second point of a fibre is the conjugate and the common value is real
ProvedDiaz.fibre_second_point_is_conjStatement. Let with and ; let , and let be such that the translate again has algebraic modulus. Then
- ;
- --- the translate is the conjugate;
- is real.
So at every point of the rational orbit of a torsion-branch candidate, the only non-trivial period translate that stays on the locus is the conjugate, and the exponential value shared by the two points is real.
Source and attribution. All the mathematics of this section is Carlo Perassi's, in his manuscript C. Perassi, Rigidity of logarithms with algebraic modulus — Around a conjecture of Diaz, unpublished manuscript, 15 August 2026, §Polar coordinates and the discreteness of the period. No novelty is claimed. This is the last clause of Theorem
Rational-translate rigidity (thm:q-translate): " if and only if
, in which case and ;
hence in the torsion branch the second candidate is ." Of that theorem only the counting
half --- at most one non-zero rational translate --- had been published, as
Diaz.q_translate_unique. Nothing here is new.
What it settles on this branch. Three published nodes have their hypotheses fixed by it.
Diaz.fibre_at_most_two and its engine Diaz.second_difference_mem are saturated by the
trivial pair , which carries no relation. Diaz.q_translate_unique is saturated
the same way, with . And Diaz.nonreal_two_point_fibre_pi_sq --- whose conclusion,
, is the strongest on offer --- requires the common value
to be non-real; clause 3 says that hypothesis has no instance anywhere on the
rational orbit of a torsion-branch candidate. That is the exact difference between this branch and
the configurations where the route fires.
Proof. Apply Diaz.period_plane_classification with . The second alternative
would give ; so the first holds, , and substituting
turns into . For clause 3,
, and vanishes
there.
import Mathlib open ComplexConjugate
theorem Diaz.fibre_second_point_is_conj {u : ℂ} {k : ℤ} (hk : k ≠ 0)
(him : u.im = (k : ℝ) * Real.pi)
(hn : IsAlgebraic ℚ ((Complex.normSq u : ℝ) : ℂ)) (q : ℚ) (n : ℤ) (hn0 : n ≠ 0)
(halg : IsAlgebraic ℚ ((Complex.normSq ((q : ℂ) * u
+ 2 * (Real.pi : ℂ) * (n : ℂ) * Complex.I) : ℝ) : ℂ)) :
q * (k : ℚ) = -(n : ℚ)
∧ (q : ℂ) * u + 2 * (Real.pi : ℂ) * (n : ℂ) * Complex.I = conj ((q : ℂ) * u)
∧ (Complex.exp ((q : ℂ) * u)).im = 0 := by sorry