Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

A sufficient integer linear system for the auxiliary function (Waldschmidt 1973, Lemma 4)

Proved
FourExp.aux_linear_system

by carlok · Sep 17, 2026 · Mathlib 0df444a (Lean v4.33.1)

four-exponentialsnumber-theorytranscendence

The vanishing conditions as an integer linear system. Let x1,x2,y1,y2∈Cx_1, x_2, y_1, y_2 \in \mathbb{C}x1​,x2​,y1​,y2​∈C, suppose every exiyje^{x_iy_j}exi​yj​ is algebraic, and suppose ω\omegaω is transcendental; ω1\omega_1ω1​ is a root of Q∈Z[X][Y]Q \in \mathbb{Z}[X][Y]Q∈Z[X][Y], monic in YYY of degree d≥1d \ge 1d≥1 and minimal (no non-zero AAA with deg⁡YA<d\deg_Y A < ddegY​A<d vanishes at (ω,ω1)(\omega,\omega_1)(ω,ω1​)); and xix_ixi​, yjy_jyj​, exiyje^{x_iy_j}exi​yj​ are quotients by a common DDD of elements of Z[X][Y]\mathbb{Z}[X][Y]Z[X][Y] evaluated at (ω,ω1)(\omega,\omega_1)(ω,ω1​). Then there is κ1>0\kappa_1 > 0κ1​>0 such that for every large NNN, with

S=⌊N2/log⁡N⌋,t1=⌊N/log⁡N⌋,t2=⌊Nlog⁡N⌋,S = \lfloor N^2/\sqrt{\log N}\rfloor,\quad t_1 = \lfloor N/\sqrt{\log N}\rfloor,\quad t_2 = \lfloor N\sqrt{\log N}\rfloor,S=⌊N2/logN​⌋,t1​=⌊N/logN​⌋,t2​=⌊NlogN​⌋,

there are an integer MMM with 0<M≤κ1S0 < M \le \kappa_1 S0<M≤κ1​S and an R×UR \times UR×U integer matrix BBB, where U=S (2N)2 M dU = S\,(2N)^2\,M\,dU=S(2N)2Md and 2R≤U2R \le U2R≤U, with entries at most eκ1N2log⁡Ne^{\kappa_1 N^2\sqrt{\log N}}eκ1​N2logN​ in absolute value, such that: for every integer vector q=(q(i,j,k′,μ,ν))q = (q(i,j,k',\mu,\nu))q=(q(i,j,k′,μ,ν)) with Bq=0Bq = 0Bq=0, the function

F(z)=∑i<S∑j,k′<2Nc(i,j,k′) zie(jx1+k′x2)z,c(i,j,k′)=∑μ<M, ν<dq(i,j,k′,μ,ν) ωμω1ν,F(z) = \sum_{i<S}\sum_{j,k'<2N} c(i,j,k')\,z^i e^{(jx_1+k'x_2)z},\qquad c(i,j,k') = \sum_{\mu<M,\,\nu<d} q(i,j,k',\mu,\nu)\,\omega^\mu\omega_1^\nu,F(z)=i<S∑​j,k′<2N∑​c(i,j,k′)zie(jx1​+k′x2​)z,c(i,j,k′)=μ<M,ν<d∑​q(i,j,k′,μ,ν)ωμω1ν​,

satisfies F(m)(ay1+by2)=0F^{(m)}(ay_1+by_2) = 0F(m)(ay1​+by2​)=0 for all a<t1a < t_1a<t1​, b<t2b < t_2b<t2​, m<Sm < Sm<S.

Proof plan. Multiply each value F(m)(ay1+by2)F^{(m)}(ay_1+by_2)F(m)(ay1​+by2​) by a common non-zero denominator and expand it as an integer combination of ωhω1k\omega^h\omega_1^kωhω1k​ (k<dk < dk<d), reducing powers of ω1\omega_1ω1​ modulo QQQ. The powers of the algebraic numbers exiyje^{x_iy_j}exi​yj​ reduce through their own minimal polynomials, so they add height but not degree in ω\omegaω. Each condition then contributes about (M+cS) d(M + cS)\,d(M+cS)d integer linear forms in qqq, with t1t2≤N2t_1t_2 \le N^2t1​t2​≤N2 conditions, so M≥(c+1)SM \ge (c+1)SM≥(c+1)S gives 2R≤U2R \le U2R≤U. Coefficient sizes come from Slog⁡S≈2N2log⁡NS\log S \approx 2N^2\sqrt{\log N}SlogS≈2N2logN​ and exponents up to 2N2log⁡N2N^2\sqrt{\log N}2N2logN​.

Role. The arithmetic half of FourExp.auxiliary_function_alg. Only sufficiency is claimed: the forms need not be independent. The hypotheses are satisfiable.

Preamble
import Mathlib
Formal statement
namespace FourExp

theorem aux_linear_system
        (x₁ x₂ y₁ y₂ : ℂ)
    (hexp : ∀ i j : Fin 2, IsAlgebraic ℚ (Complex.exp (![x₁, x₂] i * ![y₁, y₂] j))) (ω ω₁ : ℂ) (hω : Transcendental ℚ ω) (Q : Polynomial (Polynomial ℤ)) (hQm : Q.Monic) (hQd : 0 < Q.natDegree)
    (hQroot : Polynomial.eval₂ (Polynomial.eval₂RingHom (Int.castRingHom ℂ) ω) ω₁ Q = 0)
    (hQmin : ∀ A : Polynomial (Polynomial ℤ), A.natDegree < Q.natDegree → Polynomial.eval₂ (Polynomial.eval₂RingHom (Int.castRingHom ℂ) ω) ω₁ A = 0 → A = 0)
    (D : Polynomial (Polynomial ℤ)) (E G : Fin 2 → Polynomial (Polynomial ℤ)) (H : Fin 2 → Fin 2 → Polynomial (Polynomial ℤ))
    (hD : Polynomial.eval₂ (Polynomial.eval₂RingHom (Int.castRingHom ℂ) ω) ω₁ D ≠ 0) (hE : ∀ i, ![x₁, x₂] i * Polynomial.eval₂ (Polynomial.eval₂RingHom (Int.castRingHom ℂ) ω) ω₁ D = Polynomial.eval₂ (Polynomial.eval₂RingHom (Int.castRingHom ℂ) ω) ω₁ (E i))
    (hG : ∀ j, ![y₁, y₂] j * Polynomial.eval₂ (Polynomial.eval₂RingHom (Int.castRingHom ℂ) ω) ω₁ D = Polynomial.eval₂ (Polynomial.eval₂RingHom (Int.castRingHom ℂ) ω) ω₁ (G j))
    (hH : ∀ i j, Complex.exp (![x₁, x₂] i * ![y₁, y₂] j) * Polynomial.eval₂ (Polynomial.eval₂RingHom (Int.castRingHom ℂ) ω) ω₁ D = Polynomial.eval₂ (Polynomial.eval₂RingHom (Int.castRingHom ℂ) ω) ω₁ (H i j)) :
    ∃ κ₁ : ℝ, 0 < κ₁ ∧ ∃ N₀ : ℕ, ∀ N : ℕ, N₀ < N →
      ∃ M : ℕ, 0 < M ∧ (M : ℝ) ≤ κ₁ * ⌊(N : ℝ) ^ 2 / Real.sqrt (Real.log (N : ℝ))⌋₊ ∧ ∃ R : ℕ, 2 * R ≤ ⌊(N : ℝ) ^ 2 / Real.sqrt (Real.log (N : ℝ))⌋₊ * (2 * N) * (2 * N) * M * Q.natDegree ∧
      ∃ B : Fin R → Fin ⌊(N : ℝ) ^ 2 / Real.sqrt (Real.log (N : ℝ))⌋₊ → Fin (2 * N) → Fin (2 * N) → Fin M → Fin Q.natDegree → ℤ,
        (∀ e i j k' μ ν, |((B e i j k' μ ν : ℤ) : ℝ)| ≤ Real.exp (κ₁ * ((N : ℝ) ^ 2 * Real.sqrt (Real.log (N : ℝ))))) ∧
        ∀ q : Fin ⌊(N : ℝ) ^ 2 / Real.sqrt (Real.log (N : ℝ))⌋₊ → Fin (2 * N) → Fin (2 * N) → Fin M → Fin Q.natDegree → ℤ,
          (∀ e, ∑ i : Fin ⌊(N : ℝ) ^ 2 / Real.sqrt (Real.log (N : ℝ))⌋₊, ∑ j : Fin (2 * N), ∑ k' : Fin (2 * N), ∑ μ : Fin M, ∑ ν : Fin Q.natDegree, B e i j k' μ ν * q i j k' μ ν = 0) →
          ∀ a b m : ℕ, a < ⌊(N : ℝ) / Real.sqrt (Real.log (N : ℝ))⌋₊ → b < ⌊(N : ℝ) * Real.sqrt (Real.log (N : ℝ))⌋₊ → m < ⌊(N : ℝ) ^ 2 / Real.sqrt (Real.log (N : ℝ))⌋₊ →
            iteratedDeriv m (fun z : ℂ => ∑ i : Fin ⌊(N : ℝ) ^ 2 / Real.sqrt (Real.log (N : ℝ))⌋₊, ∑ j : Fin (2 * N), ∑ k' : Fin (2 * N),
              (fun i j k' => ∑ μ : Fin M, ∑ ν : Fin Q.natDegree, ((q i j k' μ ν : ℤ) : ℂ) * ω ^ (μ : ℕ) * ω₁ ^ (ν : ℕ)) i j k' * z ^ (i : ℕ) * Complex.exp ((((j : ℕ) : ℂ) * x₁ + ((k' : ℕ) : ℂ) * x₂) * z)) ((a : ℂ) * y₁ + (b : ℂ) * y₂) = 0 := by
  sorry

end FourExp
Source
M. Waldschmidt, Solution du huitième problème de Schneider, J. Number Theory 5 (1973), 191–202, Lemma 4 (the equation count).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me