Truncated Perron formula for coefficients of von Mangoldt size
ProvedWeil.perron_truncationTruncated Perron formula. There is an absolute constant with the following property. Let satisfy for every , where is the von Mangoldt function, and let agree with the Dirichlet series on the half-plane . Then for every integer and every real , writing ,
The constant is uniform: it depends on none of , , , .
This is the entry point of the classical contour argument. It replaces the partial sum, an arithmetic object, by an integral of along a vertical line to the right of the abscissa of absolute convergence, at the cost of an error decreasing in the height . The abscissa is the standard choice: it makes while keeping .
The second error term is not an artefact of the formalisation. The sum runs over while the integral is the symmetric Perron integral at ; because is here an integer the two differ by about , of size up to , and that discrepancy does not decay as . Any version of the statement without it would be false for large .
Context. The theorem this lemma was introduced to decompose, Davenport.perron_of_region_bound, was proved independently — via the smoothed Perron route (Davenport.perron_smoothed_eq_integral and its siblings), which replaces the sharp cutoff by a smooth weight and so avoids the truncation error entirely. The statement here belongs to the classical sharp-cutoff route of Davenport Sections 17-18 and is left standing as a self-contained, reusable statement in its own right; it is not on the critical path of any current mission.
import Definitions.Def_Weil_perron import Definitions.Def_Davenport_siegelWalfisz import Mathlib.NumberTheory.LSeries.Basic import Mathlib.NumberTheory.ArithmeticFunction.VonMangoldt import Mathlib.Analysis.Analytic.Order import Mathlib.Analysis.SpecialFunctions.Pow.Real import Mathlib.Analysis.SpecialFunctions.Log.Basic import Mathlib.Analysis.SpecialFunctions.Exp import Mathlib.Analysis.SpecialFunctions.Sqrt set_option autoImplicit false open Finset
namespace Weil
theorem perron_truncation :
∃ K : ℝ, 0 < K ∧
∀ (a : ℕ → ℂ) (G : ℂ → ℂ),
(∀ n : ℕ, ‖a n‖ ≤ ArithmeticFunction.vonMangoldt n) →
(∀ s : ℂ, 1 < s.re → G s = LSeries a s) →
∀ N : ℕ, 2 ≤ N → ∀ T : ℝ, 2 ≤ T →
‖(∑ n ∈ range N, a n) - perronIntegral G N (1 + 1 / Real.log N) T‖
≤ K * ((N : ℝ) * Real.log N ^ 2 / T + Real.log N) := by sorry
end Weil