Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Rademacher's convexity bound for primitive Dirichlet LLL-functions

Proved
QRHLittlewood.rademacher_convexity

by @bwdaugherty · 1 vote · Oct 16, 2026 · Mathlib 0df444a (Lean v4.33.1)

analytic-number-theorynumber-theory

Let χ\chiχ be a primitive Dirichlet character modulo q≥3q\ge3q≥3 and let sss be a complex number with −12≤ℜs≤32-\tfrac12\le\Re s\le\tfrac32−21​≤ℜs≤23​. Then

∣L(s,χ)∣ ≤ ζ(32)(q ∣1+s∣2π)(3/2−ℜs)/2.|L(s,\chi)|\ \le\ \zeta\big(\tfrac32\big)\left(\frac{q\,|1+s|}{2\pi}\right)^{(3/2-\Re s)/2}.∣L(s,χ)∣ ≤ ζ(23​)(2πq∣1+s∣​)(3/2−ℜs)/2.

It interpolates between the trivial bound ∣L(s,χ)∣≤ζ(3/2)|L(s,\chi)|\le\zeta(3/2)∣L(s,χ)∣≤ζ(3/2) on ℜs=3/2\Re s=3/2ℜs=3/2 and the bound on ℜs=−1/2\Re s=-1/2ℜs=−1/2 given by the functional equation.

Preamble
import Mathlib.NumberTheory.Harmonic.EulerMascheroni
import Mathlib.NumberTheory.LSeries.DirichletContinuation

open Real
Formal statement
namespace QRHLittlewood

theorem rademacher_convexity (q : ℕ) [NeZero q] (hq : 3 ≤ q) (χ : DirichletCharacter ℂ q) (hprim : χ.IsPrimitive)
    (s : ℂ) (hs1 : -1 / 2 ≤ s.re) (hs2 : s.re ≤ 3 / 2) :
    ‖DirichletCharacter.LFunction χ s‖ ≤
      (riemannZeta (3 / 2)).re * ((q : ℝ) * ‖1 + s‖ / (2 * π)) ^ ((3 / 2 - s.re) / 2) := by sorry

end QRHLittlewood
Source
H. Rademacher, On the Phragmén–Lindelöf theorem and some applications, Math. Z. 72 (1959/60), 192–204 (exponent 1/2 case); as stated and used in B. W. Daugherty, S. Ryan, G. Ward, Certified harmonic-measure barriers and explicit Littlewood bounds from zero-free regions, https://doi.org/10.5281/zenodo.23400116, Section 6, "The Dirichlet inputs".
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Statement. Let qqq be a natural number with q≠0q\neq0q=0 and q≥3q\ge 3q≥3. Let χ\chiχ be a primitive C\mathbb{C}C-valued Dirichlet character modulo qqq (conductor exactly qqq). Let s∈Cs\in\mathbb{C}s∈C with

−12≤Re⁡s≤32.-\tfrac12\le\operatorname{Re}s\le\tfrac32 .−21​≤Res≤23​.

Then

∣L(s,χ)∣  ≤  ζ ⁣(32)(q ∣1+s∣2π)3/2−Re⁡s2,|L(s,\chi)|\;\le\;\zeta\!\left(\tfrac32\right)\left(\frac{q\,|1+s|}{2\pi}\right)^{\frac{3/2-\operatorname{Re}s}{2}},∣L(s,χ)∣≤ζ(23​)(2πq∣1+s∣​)23/2−Res​,

where ∣⋅∣|\cdot|∣⋅∣ is the complex modulus and ζ(3/2)≈2.612\zeta(3/2)\approx 2.612ζ(3/2)≈2.612 enters as the real part of Mathlib's ζ(3/2)\zeta(3/2)ζ(3/2) (which is real).

Here L(s,χ)L(s,\chi)L(s,χ) is Mathlib's Dirichlet LLL-function: the unique meromorphic continuation to all of C\mathbb{C}C of ∑n≥1χ(n)n−s\sum_{n\ge1}\chi(n)n^{-s}∑n≥1​χ(n)n−s (built from Hurwitz zeta functions); it is a total function C→C\mathbb{C}\to\mathbb{C}C→C, and at a pole (only possible at s=1s=1s=1 for the trivial character) it returns a fixed finite junk value. "Primitive" means the conductor of χ\chiχ (the least d∣qd\mid qd∣q through which χ\chiχ factors) equals qqq. "Real-valued" means Im⁡χ(a)=0\operatorname{Im}\chi(a)=0Imχ(a)=0 for every residue class a∈Z/qZa\in\mathbb{Z}/q\mathbb{Z}a∈Z/qZ, including non-units (where χ(a)=0\chi(a)=0χ(a)=0 anyway).

Edge cases and scope.

  • No reality assumption on χ\chiχ: the statement covers every primitive character modulo q≥3q\ge3q≥3, both even and odd, real or complex.
  • Since q≥3q\ge3q≥3 and χ\chiχ is primitive, χ\chiχ is nontrivial, so L(s,χ)L(s,\chi)L(s,χ) is entire and the value at s=1s=1s=1 (which lies in the strip) is genuine.
  • The base q∣1+s∣/(2π)q|1+s|/(2\pi)q∣1+s∣/(2π) is a nonnegative real; since Re⁡(1+s)≥12\operatorname{Re}(1+s)\ge\frac12Re(1+s)≥21​, it is strictly positive. The exponent (3/2−Re⁡s)/2(3/2-\operatorname{Re}s)/2(3/2−Res)/2 lies in [0,1][0,1][0,1]; it equals 000 at Re⁡s=3/2\operatorname{Re}s=3/2Res=3/2, where the bound reads ∣L(s,χ)∣≤ζ(3/2)|L(s,\chi)|\le\zeta(3/2)∣L(s,χ)∣≤ζ(3/2), and equals 111 at Re⁡s=−12\operatorname{Re}s=-\tfrac12Res=−21​.
  • The bound uses ∣1+s∣|1+s|∣1+s∣ (not ∣s∣|s|∣s∣ or ∣s∣+1|s|+1∣s∣+1) and the closed strip, both endpoints included. There is no zero-free or other analytic hypothesis.
Human review
  • Endorsed by Shuze Chen · Oct 16, 2026

    Confirmed by the moderator at approval.

  • Endorsed by @bwdaugherty · Oct 16, 2026

    Confirmed by the mission captain (proposal self-audit).

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