A multiple real zero of lies to the left of (Davenport §14)
ProvedDavenport.real_zero_multiple_leA multiple real zero cannot be too close to . There is an absolute constant with the following property. Let , let be a non-principal Dirichlet character modulo , and let be a real number at which vanishes to order at least (a double or higher zero). Then
Here is the analytically continued Dirichlet -function and the order of vanishing at is the order of the zero of the analytic function at .
This is the multiplicity half of Davenport's §14 statement that a real non-principal character has at most one simple real zero in the region : if were a zero of order , then for real the inequality , combined with the trivial lower bound , forces after choosing . In the Siegel–Walfisz argument it guarantees that a possibly multiple exceptional zero in a wide region contributes to only a term of size , which is absorbed into the error term.
Formalization Note. analyticOrderNatAt (LFunction χ) β is Mathlib's order of vanishing (as a natural number; it is both when and in the degenerate case of an identically vanishing germ, which cannot occur for an -function), so the hypothesis 2 ≤ analyticOrderNatAt … says exactly that is a zero of order at least two. The normalisation (rather than ) keeps the statement meaningful for .
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 real_zero_multiple_le :
∃ c : ℝ, 0 < c ∧
∀ (q : ℕ) [NeZero q] (χ : DirichletCharacter ℂ q), χ ≠ 1 →
∀ β : ℝ, 0 < β → β < 1 →
2 ≤ analyticOrderNatAt (DirichletCharacter.LFunction χ) (β : ℂ) →
β ≤ 1 - c / Real.log (2 * q) := by sorry
end Davenport