This repository contains a Lean 4 formalization of a prime-gap bound and a Python numerical certificate. The Lean results stay conditional connected 3 definitive input axioms; the cited mathematical estimates and numerical computations person not been turned into Lean proofs of those inputs.
For the series of primes $p_n$, the target bound is
$$\liminf_{n\to\infty}(p_{n+1}-p_n)\le 186.$$The improvement derives $\mathrm{DHL}[40,2]$ from the inputs below: every admissible group of forty integer shifts has infinitely galore translates containing at slightest 2 primes. Admissibility intends omitting a residue people modulo every prime. Applying this to the included tuple of diameter 186 gives the spread bound.
The main declarations successful PrimeGaps186.lean, successful namespace PrimeGap186, are:
| dhl_40_2 | $\mathrm{DHL}[40,2]$ for each admissible integer tuple. |
| infinite_two_prime_translates_admissibleTuple | Infinitely galore two-prime translates of the definitive tuple. |
| primeGapLiminf_le_186 | The consecutive-prime spread bound. |
Assumed Deligne-type estimates
For a premier $p$, constitute $e_p(x)=\exp(2\pi i\widetilde{x}/p)$, where $\widetilde{x}$ is immoderate integer typical of $x\in\mathbb{F}_p$. Define
$$\mathrm{Kl}_3(c;p) =\frac1p\sum_{\substack{x_1,x_2,x_3\in\mathbb{F}_p\\x_1x_2x_3=c}} e_p(x_1+x_2+x_3),$$ $$K_2(c;p)=\sum_{u\in\mathbb{F}_p^\times}e_p(u+c/u).$$The axiom PrimeGap186.kloosterman3_bound assumes the pursuing bound for every prime $p$ and each $c\in\mathbb{F}_p^\times$:
$$\left|\mathrm{Kl}_3(c;p)\right|\le 3.$$This follows from Deligne's theorem arsenic stated successful Nicholas M. Katz, Gauss Sums, Kloosterman Sums, and Monodromy Groups, Annals of Mathematics Studies 116, Princeton University Press (1988), Theorem 4.1.1(1)–(2), p. 49. With $n=3$, trivial multiplicative characters, and $b_1=b_2=b_3=1$, rank three and weight 2 springiness the earthy bound $3p$; our normalization divides by $p$.
The axiom PrimeGap186.kloosterman2_correlation_bound assumes the following bound for every prime $p$ and each $A,B\in\mathbb{F}_p^\times$:
$$\left|\sum_{t\in\mathbb{F}_p\setminus\{0,-1\}} K_2(A/t;p)\,K_2(B/(t+1);p)\right|\le 8p\sqrt p.$$This is Étienne Fouvry, Emmanuel Kowalski, and Philippe Michel, The Friedlander–Iwaniec characteristic sum, 14 June 2013, Proposition 2, p. 1. Their normalized $\mathrm{Kl}_2(c)$ equals $K_2(c;p)/\sqrt p$ after inverting the summation variable, truthful their $8\sqrt p$ bound becomes $8p\sqrt p$ here. No information $A\ne B$ is imposed; the 2 poles are excluded even erstwhile $A=B$.
These estimates are established successful the cited literature, but stay unproved inputs successful this Lean development.
Numerical input and certificate
PrimeGap186.physical_integral_bounds assumes 104 outer and 45 inner physical-integral precocious bounds, positive 3 headdress bounds.
The Python certificate recomputes the trial from scratch. The tested situation utilized Python 3.12.13, NumPy 2.2.6, python-flint 0.9.0, and a civilization FLINT 3.6.0 build pinch corrected signed polynomial convolution (not bundled).
Use a caller output path. Keep PYTHONOPTIMIZE unset and do not usage -O aliases -OO. Mandatory floating-point and signed-convolution checks must pass. A successful run produces a receipt pinch passed: true; it does not discharge immoderate Lean axiom.
Building and verification
The task pins Lean 4.34.0-rc2 and its Mathlib dependencies. With elan installed, run:
The registered Lean build passed without errors aliases warnings. Comparator matched all 3 results to Challenge.lean, and Nanoda and Lean’s kernel accepted their proofs successful a section Colima Linux VM. The configuration permits the 3 documented task axioms positive propext, Quot.sound, and Classical.choice (six total); this verifies conditional proofs, not the inputs themselves. The numerical certificate is unchanged from its earlier passing run.
Challenge.lean specifies the statements and input assumptions, with 3 intentional theorem placeholders. See the Comparator instructions and formalization metadata for the checking setup and status.
Project contributions usage Apache 2.0; existing third-party notices remain applicable.
English (US) ·
Indonesian (ID) ·