Logarithms algebraic over ℚ(π) with rational squared modulus are rationally proportional, up to conjugation
ProvedDiazModulus.nongeneric_rational_modulus_orbitLet be non-zero complex numbers such that and are algebraic, and are algebraic over , and and are rational. Then there is with
A non-zero logarithm of an algebraic number with algebraic would be a counterexample to Diaz's conjecture. The theorem says that the counterexamples algebraic over with a rational squared modulus form at most one orbit under rational scaling and complex conjugation.
Proof. Since , the rational is non-zero, so with . The conjugates are algebraic over too, as and . So generate a field of transcendence degree at most one (Transcendence.trdeg_adjoin_le_one_of_isAlgebraic_adjoin), and DiazModulus.log_pair_rigid_of_trdeg_one gives the rational .
Novelty. Not found in the sources read (among them Diaz 2004 and 2007, Roy–Waldschmidt 1995 and 1997, and Waldschmidt 1973, 1974 and 2005). It follows in a few lines from the four exponentials theorem in transcendence degree one (M. Waldschmidt, Solution du huitième problème de Schneider, J. Number Theory 5 (1973), Corollaire 4; Theorem 1 of D. Roy and M. Waldschmidt, Proc. Japan Acad. 71 (1995)), which is DiazModulus.log_pair_rigid_of_trdeg_one on this site. The nearest statement found has the same shape and a different content: by the Gelfond–Schneider theorem, the non-zero algebraic with algebraic form either the empty set or a single orbit (G. Diaz, J. Théor. Nombres Bordeaux 16 (2004), Théorème 5).
import Mathlib
open ComplexConjugate
namespace DiazModulus
/-- Two non-zero logarithms of algebraic numbers, algebraic over `ℚ[π]` and with rational squared
moduli, are rationally proportional up to complex conjugation. -/
theorem nongeneric_rational_modulus_orbit (u v : ℂ) (hu : u ≠ 0) (hv : v ≠ 0)
(heu : IsAlgebraic ℚ (Complex.exp u)) (hev : IsAlgebraic ℚ (Complex.exp v))
(ru rv : ℚ) (hru : u * conj u = ru) (hrv : v * conj v = rv)
(hua : IsAlgebraic (Algebra.adjoin ℚ ({((Real.pi : ℝ) : ℂ)} : Set ℂ)) u)
(hva : IsAlgebraic (Algebra.adjoin ℚ ({((Real.pi : ℝ) : ℂ)} : Set ℂ)) v) :
∃ q : ℚ, v = (q : ℂ) * u ∨ v = (q : ℂ) * conj u := by
sorry
end DiazModulus