Parameters for the direct proof of the criterion of Schneider–Lang: the hypotheses of Proposition 4.10 and the inequalities behind (4.17) and (4.19)
ProvedTranscendence.exists_schneider_lang_parametersLet be integers, , and . There are integers and real numbers such that, with and :
- , , and ;
- for every integer ,
- for all integers and , with ,
In the proof of Transcendence.schneider_lang_cartesian, is the constant of (4.14) and that of the Schwarz step: condition 1 gives the auxiliary function (Transcendence.exists_exp_monomials_small_on_grid), condition 2 makes its derivatives of order less than vanish at the grid points, and condition 3 rules out a first non-vanishing one.
It is one step of the proof of Baker's theorem formalised in this mission, which follows Chapter 4 of Waldschmidt's book: Baker's theorem from the criterion of Schneider–Lang for Cartesian products, as observed by Bertrand and Masser (1980).
Novelty. None: the choice of parameters at the end of §4.6 of Waldschmidt's book (p. 141), in its shape: is fixed and large, then , an -th power and a multiple of as the book asks, and , for a large integer ; and . The role of the book's is played by , and . Conditions 2 and 3 are the inequalities that the book's (4.17) and (4.19) are imposed to guarantee. The book gives their asymptotics without proof; they are proved in Transcendence.schneider_lang_vanishing_ineq and Transcendence.schneider_lang_extrapolation_ineq, the second uniformly in . The contribution of this node is the formal proof.
import Mathlib
namespace Transcendence
/-- **The parameters of the proof of Schneider–Lang** (Waldschmidt, *Diophantine Approximation on Linear
Algebraic Groups*, §4.6, conditions (4.15)–(4.19)). Let `1 ≤ n < d`, `C ≥ 1`, `cx, cy ≥ 0` and `cF ≥ 1`. There
are integers `S₁, T, E ≥ 1` and reals `U, N > 0` such that
* the hypotheses of Prop. 4.10 hold for `n`, `L = (T+1)^d` and the radii `r = (cy + 2) S₁`, `R = E r`:
`12n² ≤ N + 2U`, `e ≤ E ≤ e^{(N + 2U)/6}`, `(T+1)^d R^T e^{cx T R} ≤ e^U` and
`(2(N + 2U))^{n+1} ≤ (T+1)^d N (log E)ⁿ`;
* (4.17) `C (N + k (1 + log T) + T (S₁ + log (1 + k))) + log k! < U` for every `k < n E T`;
* (4.19) `C (N + M (1 + log T) + T (S₁ + log (1 + M))) + log M! + log n + d log (T + 1) + N + T log ρ' +
cx T ρ' < u S₁ log (u/T)`, where `ρ' = cF S₁ u / T`, for all integers `u ≥ E T` and `M ≤ 2nu`. -/
theorem exists_schneider_lang_parameters (n d : ℕ) (C cx cy cF : ℝ) (hn : 1 ≤ n)
(hd : n + 1 ≤ d) (hC : 1 ≤ C) (hcx : 0 ≤ cx) (hcy : 0 ≤ cy) (hcF : 1 ≤ cF) :
∃ (S₁ T E : ℕ) (U N : ℝ), 1 ≤ S₁ ∧ 1 ≤ T ∧ 1 ≤ E ∧ 0 < U ∧ 0 < N ∧
(12 * (n : ℝ) ^ 2 ≤ N + U + U ∧ Real.exp 1 ≤ (E : ℝ) ∧
(E : ℝ) ≤ Real.exp ((N + U + U) / 6) ∧
((T : ℝ) + 1) ^ d * ((E : ℝ) * ((cy + 2) * S₁)) ^ T *
Real.exp (cx * T * ((E : ℝ) * ((cy + 2) * S₁))) ≤ Real.exp U ∧
(2 * (N + U + U)) ^ (n + 1) ≤ ((T : ℝ) + 1) ^ d * N * Real.log (E : ℝ) ^ n) ∧
(∀ k : ℕ, k < n * (E * T) →
C * (N + k * (1 + Real.log T) + T * (S₁ + Real.log (1 + k))) +
Real.log (k.factorial : ℝ) < U) ∧
∀ u M : ℕ, E * T ≤ u → M ≤ 2 * n * u →
C * (N + M * (1 + Real.log T) + T * (S₁ + Real.log (1 + M))) +
Real.log (M.factorial : ℝ) + Real.log n +
(d * Real.log (T + 1) + N + T * Real.log (cF * S₁ * u / T) +
cx * T * (cF * S₁ * u / T)) < u * S₁ * Real.log (u / T) := by
sorry
end Transcendence