In transcendence degree one, a real product of two non-zero logarithms has both factors real, both purely imaginary, or one a rational multiple of the other's conjugate
ProvedDiazModulus.log_mul_real_trichotomy_of_trdeg_oneLet be non-zero logarithms of algebraic numbers such that generate a -algebra of transcendence degree at most . If is real, then and are both real, or both purely imaginary, or .
Each of the three cases makes real, so this is a classification. The product need not be algebraic: only its argument matters. Under Schanuel's conjecture the hypothesis forces and onto one axis, as rational multiples of each other. Unconditionally the other configurations are not known to be impossible, and the theorem says which of them can occur. The companion node DiazModulus.log_mul_imaginary_mixed_of_trdeg_one treats a purely imaginary product, and DiazModulus.candidate_log_mul_real_iff_rat_conj applies both to a candidate for Diaz's conjecture.
Proof. The matrix has non-zero logarithms of algebraic numbers as entries, since , and its determinant vanishes. By the four exponentials theorem in transcendence degree one (DiazModulus.four_exponentials_trdeg_one), its rows or its columns are linearly dependent over . Dependent rows give , that is . Dependent columns give and with not both zero; on real and imaginary parts, makes both factors purely imaginary, and makes both real.
Novelty. Not asserted. The statement is the transcendence-degree-one case of Diaz's conjecture (Qr2) (2007, p. 376), and the proof is Diaz's own argument for (Qr2) from the four exponentials conjecture (p. 377), with that conjecture replaced by the theorem of Waldschmidt (1973) and Brownawell (1974) in transcendence degree one, which Diaz quotes on p. 386. That combination was not found in the sources read.
import Mathlib
open Complex ComplexConjugate
namespace DiazModulus
theorem log_mul_real_trichotomy_of_trdeg_one (l m : ℂ) (hl : l ≠ 0) (hm : m ≠ 0)
(hel : IsAlgebraic ℚ (Complex.exp l)) (hem : IsAlgebraic ℚ (Complex.exp m))
(htr : Algebra.trdeg ℚ ↥(Algebra.adjoin ℚ ({l, m, conj l, conj m} : Set ℂ)) ≤ 1)
(hreal : (l * m).im = 0) :
(l.im = 0 ∧ m.im = 0) ∨ (l.re = 0 ∧ m.re = 0) ∨ ∃ q : ℚ, m = (q : ℂ) * conj l := by
sorry
end DiazModulus