Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Tails ∣t∣>T|t|>T∣t∣>T of the smoothed Perron integral on σ0=1+1/log⁡X\sigma_0=1+1/\log Xσ0​=1+1/logX are O(Xlog⁡X/(εT))O(X\log X/(\varepsilon T))O(XlogX/(εT))

Proved
Davenport.perron_tail_bound

by alya · Sep 3, 2026 · Mathlib c5ea003 (Lean v4.30.0)

analytic-number-theorycontour-integrationmellin-transformnumber-theoryprime-number-theoremsiegel-walfisz

Throughout, ν\nuν is a fixed smoothing kernel: a C1C^1C1 function on R\mathbb RR supported in [1/2,2][1/2,2][1/2,2], nonnegative on (0,∞)(0,\infty)(0,∞), with ∫0∞ν(x) dx/x=1\int_0^\infty\nu(x)\,dx/x=1∫0∞​ν(x)dx/x=1; 1ε~=\widetilde{1_\varepsilon}=1ε​​= Smooth1 ν ε is the smoothed indicator of (0,1](0,1](0,1] obtained by Mellin convolution with the delta-spike ν(x1/ε)/ε\nu(x^{1/\varepsilon})/\varepsilonν(x1/ε)/ε (it equals 111 on (0,1−εlog⁡2](0,1-\varepsilon\log2](0,1−εlog2], 000 on [1+2εlog⁡2,∞)[1+2\varepsilon\log 2,\infty)[1+2εlog2,∞), and lies in [0,1][0,1][0,1]), and M1ε~(s)=∫0∞1ε~(x)xs−1dx\mathcal M\widetilde{1_\varepsilon}(s)=\int_0^\infty\widetilde{1_\varepsilon}(x)x^{s-1}dxM1ε​​(s)=∫0∞​1ε​​(x)xs−1dx is its Mellin transform (Mathlib's mellin).

Statement. There is a constant C>0C>0C>0 (depending only on ν\nuν) such that for all coefficients a(n)a(n)a(n) with ∣a(n)∣≤Λ(n)|a(n)|\le\Lambda(n)∣a(n)∣≤Λ(n), all X>3X>3X>3, 0<ε<10<\varepsilon<10<ε<1 and T>3T>3T>3, with σ0=1+1/log⁡X\sigma_0=1+1/\log Xσ0​=1+1/logX and F(s)=(∑n≥1a(n)n−s)M1ε~(s)XsF(s)=\bigl(\sum_{n\ge1}a(n)n^{-s}\bigr)\mathcal M\widetilde{1_\varepsilon}(s)X^{s}F(s)=(∑n≥1​a(n)n−s)M1ε​​(s)Xs,

∣12πi∫σ0−i∞σ0+i∞F(s) ds−12πi∫σ0−iTσ0+iTF(s) ds∣  ≤  C Xlog⁡XεT.\Bigl|\frac1{2\pi i}\int_{\sigma_0-i\infty}^{\sigma_0+i\infty}F(s)\,ds-\frac1{2\pi i}\int_{\sigma_0-iT}^{\sigma_0+iT}F(s)\,ds\Bigr|\;\le\;\frac{C\,X\log X}{\varepsilon T}.​2πi1​∫σ0​−i∞σ0​+i∞​F(s)ds−2πi1​∫σ0​−iTσ0​+iT​F(s)ds​≤εTCXlogX​.

On the line σ0\sigma_0σ0​ the Dirichlet series is bounded by ∑Λ(n)n−σ0=−ζ′/ζ(σ0)≪log⁡X\sum\Lambda(n)n^{-\sigma_0}=-\zeta'/\zeta(\sigma_0)\ll\log X∑Λ(n)n−σ0​=−ζ′/ζ(σ0​)≪logX, ∣Xs∣=eX|X^{s}|=eX∣Xs∣=eX, and ∣M1ε~(s)∣≪1/(εt2)|\mathcal M\widetilde{1_\varepsilon}(s)|\ll1/(\varepsilon t^2)∣M1ε​​(s)∣≪1/(εt2), so the two tails ∣t∣≥T|t|\ge T∣t∣≥T contribute ≪Xlog⁡X/(εT)\ll X\log X/(\varepsilon T)≪XlogX/(εT). This is the truncation step of the contour method; with T=exp⁡(log⁡X)T=\exp(\sqrt{\log X})T=exp(logX​) it is negligible.

Formalization Note. VerticalIntegral' f σ is 12πi∫Rf(σ+it) i dt\frac1{2\pi i}\int_{\mathbb R}f(\sigma+it)\,i\,dt2πi1​∫R​f(σ+it)idt, and the truncated integral is written as 12πi⋅i∫−TTF(σ0+it) dt\frac1{2\pi i}\cdot i\int_{-T}^{T}F(\sigma_0+it)\,dt2πi1​⋅i∫−TT​F(σ0​+it)dt; LSeries a s is ∑n≥1a(n)n−s\sum_{n\ge1}a(n)n^{-s}∑n≥1​a(n)n−s.

Preamble
import Definitions.Def_MellinCalculus_defs
import Definitions.Def_ResidueCalcOnRectangles_defs
import Mathlib.NumberTheory.LSeries.Basic
import Mathlib.NumberTheory.ArithmeticFunction.VonMangoldt
import Mathlib.Analysis.MellinTransform
import Mathlib.Analysis.SpecialFunctions.Pow.Real
import Mathlib.Analysis.SpecialFunctions.Pow.Complex
import Mathlib.Analysis.SpecialFunctions.Log.Basic
import Mathlib.Analysis.SpecialFunctions.Integrals.Basic
import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic

open Set MeasureTheory
Formal statement
namespace Davenport

theorem perron_tail_bound {ν : ℝ → ℝ} (diffν : ContDiff ℝ 1 ν)
    (suppν : ν.support ⊆ Icc (1 / 2) 2) (νnonneg : ∀ x > 0, 0 ≤ ν x)
    (mass_one : ∫ x in Ioi (0 : ℝ), ν x / x = 1) :
    ∃ C : ℝ, 0 < C ∧
      ∀ (a : ℕ → ℂ), (∀ n : ℕ, ‖a n‖ ≤ ArithmeticFunction.vonMangoldt n) →
        ∀ (X : ℝ), 3 < X → ∀ ε : ℝ, 0 < ε → ε < 1 → ∀ T : ℝ, 3 < T →
          ‖VerticalIntegral'
                (fun s : ℂ ↦ LSeries a s * mellin (fun x ↦ (Smooth1 ν ε x : ℂ)) s * (X : ℂ) ^ s)
                (1 + (Real.log X)⁻¹)
              - (1 / (2 * Real.pi * Complex.I)) * (Complex.I * ∫ t in (-T)..T,
                  LSeries a ((1 + (Real.log X)⁻¹ : ℝ) + t * Complex.I)
                    * mellin (fun x ↦ (Smooth1 ν ε x : ℂ)) ((1 + (Real.log X)⁻¹ : ℝ) + t * Complex.I)
                    * (X : ℂ) ^ ((1 + (Real.log X)⁻¹ : ℝ) + t * Complex.I))‖
            ≤ C * X * Real.log X / (ε * T) := by sorry

end Davenport
Source
H. Davenport, Multiplicative Number Theory, 3rd ed. (revised by H. L. Montgomery), GTM 74, Springer, 2000, https://doi.org/10.1007/978-1-4757-5927-3; §17 Lemma (truncated Perron formula) and §18 p. 112 (the estimate for |t| > T on the line σ = 1 + 1/log x); smoothed form after PrimeNumberTheoremAnd project (A. Kontorovich, T. Tao et al.), https://github.com/AlexKontorovich/PrimeNumberTheoremAnd, file PrimeNumberTheoremAnd/MediumPNT.lean, theorems `I1Bound` and `I9Bound` (platform theorems for a(n) = Λ(n))

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me