near (Davenport §14)
ProvedDavenport.neg_logDeriv_LFunction_le_sum_zerosThe zero-sum bound for near the line (Davenport §14, from the Hadamard product of §12). There is an absolute constant such that for every modulus , every non-principal Dirichlet character modulo , every with , and every finite multiset of zeros of lying in the closed disc , each zero repeated at most as often as its multiplicity,
Davenport proves, for primitive , the identity with , giving over all nontrivial zeros; since every term is positive for , the sum may be restricted to any sub-multiset of the zeros, in particular to those within distance of (a local form that can also be obtained by the Borel–Carathéodory method without the Hadamard product). Imprimitive reduce to the inducing primitive character, whose extra Euler factors contribute and no zeros with . Multiplicities are expressed through Mathlib's analyticOrderAt. This is the central analytic input of both the zero-free region and the estimates for .
import Definitions.Def_Davenport_siegelWalfisz import Mathlib.NumberTheory.LSeries.DirichletContinuation import Mathlib.NumberTheory.DirichletCharacter.Basic import Mathlib.NumberTheory.ArithmeticFunction.VonMangoldt import Mathlib.NumberTheory.Chebyshev 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 import Mathlib.Analysis.Analytic.Order open Finset DirichletCharacter Vino
namespace Davenport
open Classical in
theorem neg_logDeriv_LFunction_le_sum_zeros :
∃ c : ℝ, 0 < c ∧
∀ (q : ℕ) [NeZero q] (χ : DirichletCharacter ℂ q), χ ≠ 1 →
∀ s : ℂ, 1 < s.re → s.re ≤ 2 →
∀ Z : Multiset ℂ, (∀ ρ ∈ Z, ‖ρ - s‖ ≤ 1 / 2) →
(∀ ρ : ℂ, (Z.count ρ : ℕ∞) ≤ analyticOrderAt (DirichletCharacter.LFunction χ) ρ) →
(-(deriv (DirichletCharacter.LFunction χ) s / DirichletCharacter.LFunction χ s)).re
≤ c * Real.log ((q : ℝ) * (|s.im| + 2))
- (Z.map fun ρ => (1 / (s - ρ)).re).sum := by sorry
end Davenport
Confirmed by the mission captain (proposal self-audit).