Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

The auxiliary function's derivatives as values of reduced integer polynomials in the unknowns

Proved
FourExp.exists_iteratedDeriv_reduced_presentation

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

four-exponentialsnumber-theorytranscendence

In the setting of FourExp.exists_iteratedDeriv_presentation, let moreover Q∈Z[X][Y]Q \in \mathbb{Z}[X][Y]Q∈Z[X][Y] be monic in YYY with φ(Q)=0\varphi(Q) = 0φ(Q)=0. There is ccc such that for all S,T,M,a,b,mS, T, M, a, b, mS,T,M,a,b,m there are Λ≠0\Lambda \neq 0Λ=0 with ∣Λ∣≤c c(1+m+S+T(a+b))|\Lambda| \le c^{\,c(1+m+S+T(a+b))}∣Λ∣≤cc(1+m+S+T(a+b)) and, for each index (i,j,k,μ,ν)(i, j, k, \mu, \nu)(i,j,k,μ,ν) with μ<M\mu < Mμ<M and ν<deg⁡YQ\nu < \deg_Y Qν<degY​Q, a polynomial Rijkμν∈Z[X][Y]R_{ijk\mu\nu} \in \mathbb{Z}[X][Y]Rijkμν​∈Z[X][Y] of YYY-degree below deg⁡YQ\deg_Y QdegY​Q, length at most c c(1+m+S+T(a+b))(1+m+S+T+a+b) c(1+m+S)c^{\,c(1+m+S+T(a+b))}(1+m+S+T+a+b)^{\,c(1+m+S)}cc(1+m+S+T(a+b))(1+m+S+T+a+b)c(1+m+S) and XXX-degree at most M+c(1+m+S)M + c(1+m+S)M+c(1+m+S), such that for every integer array qqq,

Λ Fq(m)(ay1+by2)=φ(∑qijkμν Rijkμν),Fq(z)=∑i,j,k(∑μ,νqijkμν ωμω1ν)zie(jx1+kx2)z.\Lambda\, F_q^{(m)}(ay_1 + by_2) = \varphi\Big(\sum q_{ijk\mu\nu}\, R_{ijk\mu\nu}\Big), \qquad F_q(z) = \sum_{i,j,k}\Big(\sum_{\mu,\nu} q_{ijk\mu\nu}\,\omega^{\mu}\omega_1^{\nu}\Big) z^{i} e^{(jx_1 + kx_2)z}.ΛFq(m)​(ay1​+by2​)=φ(∑qijkμν​Rijkμν​),Fq​(z)=i,j,k∑​(μ,ν∑​qijkμν​ωμω1ν​)zie(jx1​+kx2​)z.

The coefficients of the reduced polynomial ∑qR\sum q R∑qR are the equations of the auxiliary linear system, and the polynomial itself is the one whose norm is taken afterwards.

Preamble
import Mathlib
Formal statement
namespace FourExp

/-- The derivatives of the auxiliary function with integer unknowns, as values of integer
polynomials reduced modulo `Q`.

Write `φ(P) = P(ω, ω₁)` for `P ∈ ℤ[X][Y]`, and let `Q ∈ ℤ[X][Y]` be monic in `Y` with
`φ(Q) = 0`. The unknowns are integers `q_{ijkμν}` with `i < S`, `j, k < T`, `μ < M`,
`ν < deg Q`, and the auxiliary function is
`F_q(z) = ∑ (∑_{μ,ν} q_{ijkμν} ω^μ ω₁^ν) z^i e^((j x₁ + k x₂) z)`.
Under the hypotheses of the presentation of the derivatives, the unknown `(i, j, k, μ, ν)`
gets the integer polynomial `R_{ijkμν}`, the remainder modulo `Q` of `X^μ Y^ν P_{ijk}`, where
`φ(P_{ijk})` is `Λ` times the `m`-th derivative of `z^i e^((j x₁ + k x₂) z)` at `a y₁ + b y₂`.
It has `Y`-degree below `deg Q`, and `Λ F_q⁽ᵐ⁾(a y₁ + b y₂) = φ(∑ q_{ijkμν} R_{ijkμν})` for every
`q`, with `Λ ≠ 0` independent of `q`. Multiplying by `X^μ Y^ν` does not increase the length (the
sum of the absolute values of all integer coefficients), and the reduction multiplies it by at
most `C` to the power of the `Y`-degree; so the lengths of the `R_{ijkμν}` keep the shape of the
bound on the `P_{ijk}`, and their `X`-degrees are at most `M` plus a multiple of `1 + m + S`. -/
theorem exists_iteratedDeriv_reduced_presentation
    (x₁ x₂ y₁ y₂ : ℂ)
    (hexp : ∀ i j : Fin 2, IsAlgebraic ℚ (Complex.exp (![x₁, x₂] i * ![y₁, y₂] j)))
    (ω ω₁ : ℂ) (Q : Polynomial (Polynomial ℤ)) (hQm : Q.Monic)
    (hQroot : Polynomial.eval₂ (Polynomial.eval₂RingHom (Int.castRingHom ℂ) ω) ω₁ Q = 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)) :
    ∃ c : ℕ, ∀ S T M a b m : ℕ, ∃ Λ : ℂ, Λ ≠ 0 ∧
      ‖Λ‖ ≤ (c : ℝ) ^ (c * (1 + m + S + T * (a + b))) ∧
      ∃ R : Fin S → Fin T → Fin T → Fin M → Fin Q.natDegree → Polynomial (Polynomial ℤ),
        (∀ i j k μ ν, (R i j k μ ν).natDegree < Q.natDegree) ∧
        (∀ i j k μ ν, ∑ r ∈ (R i j k μ ν).support, ∑ h ∈ ((R i j k μ ν).coeff r).support,
            (((R i j k μ ν).coeff r).coeff h).natAbs ≤
          c ^ (c * (1 + m + S + T * (a + b))) * (1 + m + S + T + a + b) ^ (c * (1 + m + S))) ∧
        (∀ i j k μ ν r, ((R i j k μ ν).coeff r).natDegree ≤ M + c * (1 + m + S)) ∧
        ∀ q : Fin S → Fin T → Fin T → Fin M → Fin Q.natDegree → ℤ,
          Λ * iteratedDeriv m (fun z : ℂ => ∑ i : Fin S, ∑ j : Fin T, ∑ k : Fin T,
              (∑ μ : Fin M, ∑ ν : Fin Q.natDegree,
                ((q i j k μ ν : ℤ) : ℂ) * ω ^ (μ : ℕ) * ω₁ ^ (ν : ℕ)) * z ^ (i : ℕ) *
                Complex.exp ((((j : ℕ) : ℂ) * x₁ + ((k : ℕ) : ℂ) * x₂) * z))
            ((a : ℂ) * y₁ + (b : ℂ) * y₂) =
          Polynomial.eval₂ (Polynomial.eval₂RingHom (Int.castRingHom ℂ) ω) ω₁
            (∑ i : Fin S, ∑ j : Fin T, ∑ k : Fin T, ∑ μ : Fin M, ∑ ν : Fin Q.natDegree,
              Polynomial.C (Polynomial.C (q i j k μ ν)) * R i j k μ ν) := by
  sorry

end FourExp
Source
A step in the proofs of Lemmas 4 and 7 of M. Waldschmidt, Solution du huitième problème de Schneider, J. Number Theory 5 (1973), 191–202. Formal proof: Diaz modulus mission, 25 September 2026 (C. Perassi).

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