in a zero-free region of (Davenport §§13, 18)
ProvedDavenport.zeta_logDeriv_region_boundThe logarithmic derivative of in a zero-free region, with the pole removed. Fix a region constant . There is a constant , depending only on , such that the following holds for every integer (a parameter only entering through the shape of the region). Suppose that
Then for every with
one has
This is the estimate for on the shifted contour in de la Vallée Poussin's proof of the prime number theorem with error term (Davenport §18), stated with the modulus-dependent region so that it serves the principal character in the Siegel–Walfisz theorem: since , the hypothesis is exactly the zero-freeness of in the region of IsExceptionalSet, and the conclusion is the case of Davenport.logDeriv_LFunction_region_bound up to the contribution of the finite Euler product. For it is the classical statement. It follows from Landau's local partial-fraction expansion of the logarithmic derivative of the entire function on discs (the platform theorem Zeta23.WeilEF.logDeriv_partial_fraction_disk, with the growth bound for ), because in the region every zero of in such a disc satisfies and there are of them; for large the Dirichlet series gives a trivial bound.
Formalization Note. InRegion c q s unfolds to ; deriv riemannZeta s / riemannZeta s is (Mathlib's riemannZeta, whose value at is irrelevant since is assumed). The hypothesis may be unsatisfiable for large (e.g. if the region contains ), in which case the statement is vacuous, not false.
import Definitions.Def_Davenport_siegelWalfisz import Mathlib.NumberTheory.LSeries.DirichletContinuation import Mathlib.NumberTheory.LSeries.Basic import Mathlib.NumberTheory.DirichletCharacter.Basic import Mathlib.NumberTheory.ArithmeticFunction.VonMangoldt import Mathlib.NumberTheory.Chebyshev import Mathlib.Analysis.Analytic.Order import Mathlib.Analysis.SpecialFunctions.Complex.LogDeriv import Mathlib.Analysis.SpecialFunctions.Pow.Real import Mathlib.Analysis.SpecialFunctions.Pow.Complex import Mathlib.Analysis.SpecialFunctions.Log.Basic import Mathlib.Analysis.SpecialFunctions.Exp import Mathlib.Analysis.SpecialFunctions.Sqrt import Mathlib.Algebra.BigOperators.Finprod import Mathlib.Data.Nat.Totient open Finset DirichletCharacter Vino
namespace Davenport
theorem zeta_logDeriv_region_bound (c : ℝ) (hc : 0 < c) :
∃ C : ℝ, 0 < C ∧
∀ (q : ℕ) [NeZero q],
(∀ s : ℂ, s ≠ 1 → InRegion c q s → riemannZeta s ≠ 0) →
∀ s : ℂ, InRegion (c / 4) q s → 3 / 4 ≤ s.re → s ≠ 1 →
‖deriv riemannZeta s / riemannZeta s + 1 / (s - 1)‖
≤ C * Real.log ((q : ℝ) * (|s.im| + 2)) ^ 2 := by sorry
end Davenport