Dusart, proof of Théorème 45:
OpenExplicitPNT.dusart_psi_smoothed_explicit_boundLet be such that whenever and . For put and assume . Let satisfy , and let , , , , and be as in ExplicitPNT.dusart_G2_lt_exp (Dusart's (2.17), (2.19), (2.34), (2.16), (2.26) and Lemme 52 with ). Then
This is the analytic core of the proof of Dusart's Théorème 45 (printed p. 46): the display just before the last appeal to Lemme 55. It is obtained by: Lemma 8 of Rosser–Schoenfeld (1975) with , i.e. (2.12),
Lemme 50 (with the zero-free region, the zero-counting bounds (2.2), and RH verified up to ) giving ; Lemme 53 () and Lemme 52 (), turning the last term into times the main term; and Lemme 54, which bounds (and the needed for ) by times , using .
Formalization note. The smoothing parameter enters through the explicit equation (written out as in ExplicitPNT.dusart_k_root_exists), which by Lemme 51 has a unique solution in ; this makes (2.19) agree with the optimised choice (2.33). Fourth roots are two nested Real.sqrt.
import Mathlib.NumberTheory.Chebyshev import Mathlib.NumberTheory.LSeries.RiemannZeta
theorem ExplicitPNT.dusart_psi_smoothed_explicit_bound
(R : ℝ) (hR : 0 < R)
(hzero : ∀ s : ℂ, 2 * Real.pi < |s.im| →
1 - 1 / (R * Real.log |s.im|) < s.re → riemannZeta s ≠ 0)
(x : ℝ) (hx : 0 < x)
(hX : max (836 / 100 : ℝ) (8 / R) < Real.sqrt (Real.log x / R)) :
let X := Real.sqrt (Real.log x / R)
∀ ν : ℝ, (97 / 100 : ℝ) < ν → ν < 1 →
X / (2 * Real.pi) *
Real.sqrt ((ν ^ 2 * (ν - Real.log (2 * Real.pi) / X)) ^ 3 /
(ν ^ 2 / (2 * ν ^ 2 - 1) *
(ν + (1 - 2 * Real.log (2 * Real.pi)) / (2 * X)))) *
Real.exp (-(2 * X * (1 - ν))) * Real.exp (-(X * (1 - ν) ^ 2 / ν)) = 1 →
let δ := Real.sqrt (2 / Real.pi) *
Real.sqrt (Real.sqrt
(ν ^ 6 / (2 * ν ^ 2 - 1) *
(1 - (Real.log (2 * Real.pi) - 1 / 2) / (X * ν)) *
(1 - Real.log (2 * Real.pi) / (X * ν)))) *
Real.exp (-(X * (1 - ν) ^ 2 / ν) / 2) * Real.sqrt X * Real.exp (-X)
let T₂ := Real.exp (ν * X)
let q := ((137 / 1000 : ℝ) * Real.log T₂ + 443 / 1000) /
(T₂ * Real.log T₂ * Real.log (T₂ / (2 * Real.pi)))
let G₂ := ((1 + δ) ^ 3 + 1) ^ 2 / 2 ^ 2 * (1 + 2 * Real.pi * q)
|Chebyshev.psi x - x| <
x * G₂ *
Real.sqrt (Real.sqrt
(ν ^ 6 / (2 * ν ^ 2 - 1) *
(1 - (Real.log (2 * Real.pi) - 1 / 2) / (X * ν)) *
(1 - Real.log (2 * Real.pi) / (X * ν)))) *
Real.sqrt (8 / Real.pi) * Real.sqrt X * Real.exp (-X) *
(1 + (327 / 100 : ℝ) * Real.sqrt X * Real.exp (-X)) := by
sorry