Published October 18, 2026 | Version 2.0.0

Unconditional explicit Littlewood bounds in Lean 4

  • 1. Origin Neural AI, a subsidiary of SmartLedger Solutions

Description

For every primitive real Dirichlet character χ modulo q≥10^100, we prove unconditionally in Lean 4 with Mathlib that |log L(1,χ)|≤log log log q+3.2879 and log(1/L(1,χ))≤log log log q+2.7783, and hence L(1,χ)≥0.0621/log log q. These are the explicit Littlewood bounds of our earlier paper, now kernel-checked and slightly sharpened (3.2914, 2.7845 and 0.0617 there). Our formalized derivation of the bounds from zero-freeness in Re s>7/8 follows a different route from our earlier paper. This derivation uses no contour integral, no Mellin transform and no quantitative estimate for the distribution of primes: it uses Euler products and von Mangoldt Dirichlet series, but not Dusart′s estimates or an explicit prime number theorem. A holomorphic logarithm of L(2-z,χ) on the disk |z|<9/8 is controlled by Carathéodory′s coefficient inequality. Its Taylor coefficients are dominated by those of log ζ(2-z), whose partial sums we bound through first-order Euler–Maclaurin. For the one-sided bound, the partial sum at z=1 is written over prime powers, and pairing odd and even powers of each prime gains log ζ(2), up to an explicit finite-truncation deficit. The development also contains Rademacher′s convexity bound with its exact constant, via a lossless Phragmén–Lindelöf theorem with a polynomial boundary, and the norm of primitive Gauss sums and root numbers for composite moduli. Separately, we describe the classical reduction of Dusart′s estimate for Σ_(p≤x) 1/p to an explicit bound for θ(x) and report an external interval-arithmetic check of its finite range [10372,3 594 641]. Neither is used in the proofs of the stated bounds; a companion paper has since formalized Dusart′s estimate, conditional only on an explicit Chebyshev estimate for large arguments. The unconditional results combine our formalized implication from zero-freeness in Re s>7/8 with the formal zero-free theorem supplied by the OpenAI math release; we replayed the full dependency closure in a fresh Lean kernel environment and verified that the resulting theorems depend only on propext, Classical.choice and Quot.sound. The same imported theorem gives, as an immediate corollary, Landau–Siegel exclusion with an explicit constant: (1-β)log q≥(log3)/8 for every real zero β of every nonprincipal χ modulo q≥3.

Follow-up to doi:10.5281/zenodo.23400116.

Contents of the release

  • paper/ — the manuscript (LaTeX source and PDF) and qrh_formal_gen.py, which reads every stated constant from the Lean sources, the companion paper's numbers file (qrh_effectivity_numbers.tex) and the finite-range output, writes qrh_formal_numbers.tex, and checks that every other decimal in the text occurs in a Lean source.
  • lean/ — the Lean 4 project (23 modules, 4173 lines; Mathlib pinned in lakefile.lean) and Audit.lean, which prints the axioms of the ten main theorems.
  • lean_uncond/ — the unconditional forms (Section 6): the Lean project on the toolchain of the OpenAI math release, with the ported development, the library LittlewoodUncond (bridge, six unconditional bounds, real-zero gap), fetch_oai.sh, which fetches the imported 7/8 development and two compatibility patches from https://github.com/openai/math at the commit in OAI_COMMIT and checks them against vendor_OAI.tree.sha256 and PATCHES.sha256 (no OpenAI code is redistributed here), apply_patches.sh, run_gate.sh and the release-gate script, and in gate/release_logs/ the passing gate record (manifest, fresh-replay log, axiom report, elaborated statements; absolute path prefixes replaced by placeholders, see ORIGINAL_SHA256.txt).
  • programs/dusart_finite/ — the Rust program (MPFR intervals, directed rounding) that checks Dusart's bound for the sum of 1/p on the finite range of Section 5; its output is paper/qrh_formal_runs/dusart_finite.txt. This check is not kernel-checked.
  • REPLAY.md, replay/ and replay_uncond/ — a clean replay from this bundle: 6 of 6 steps pass for the conditional project (Lean build and axiom audit, program output identical byte for byte, numbers regenerated identically), and every step passes for the unconditional project (fetch with tree-hash check, build, release gate with fresh kernel replay: leanchecker 1212 s).
  • SHA256SUMS — the SHA-256 of every file.

Verification

In lean/ (Lean v4.33.1 via elan): lake exe cache get && lake build && lake env lean Audit.lean. Every listed theorem must report only propext, Classical.choice, Quot.sound. In lean_uncond/ (Lean v4.34.1 via elan; network access): bash fetch_oai.sh && lake exe cache get && bash apply_patches.sh && lake build LittlewoodUncond && bash run_gate.sh; the gate must end in PASS (building the imported development takes about two hours, the fresh replay about twenty minutes, about 9 GB of memory). In programs/dusart_finite/ (Rust with GMP/MPFR via the rug crate): cargo run --release -- 3594641 100000000 reproduces the shipped output. In paper/: python3 qrh_formal_gen.py --check. Integrity: shasum -a 256 -c SHA256SUMS.

Hardware

One MacBook Pro (Apple M3 Pro, 11 CPU cores, 18 GB memory); no GPU, no cluster.

License: Licensed by SmartLedger Solutions under CC BY-NC 4.0 (LICENSE.md). Commercial use requires a written license from SmartLedger Solutions (labs@smartledger.solutions). No patent license is granted.

Notes

Release: the manuscript and its number generator, the Lean 4 projects (conditional, and unconditional via the OpenAI math release's formal 7/8 theorem fetched at a pinned commit) with axiom audit and release-gate record, the finite-range program and its output, and the clean replay report are in the tarball (SHA256 beside it). Licensed by SmartLedger Solutions under CC BY-NC 4.0 (LICENSE.md). Commercial use requires a written license from SmartLedger Solutions (labs@smartledger.solutions). No patent license is granted.

Files

LICENSE.md

Files (738.2 kB)

Name Size
md5:ad296727f4b69aa4a188c5640ae46979
959 Bytes Preview Download
md5:1281d340cef95172d0382ee8e67fe9c2
173.9 kB Preview Download
md5:d396b439e412311a9b6fb713c4107dfe
5.9 kB Preview Download
md5:eceb05f963697fd4d191461408263842
557.4 kB Download
md5:86015dbecad77b8312069c36e45c63b1
109 Bytes Download

Additional details