On 2026-09-08 OpenAI published a 166-page proof that a smooth force can drive a viscous fluid from rest to infinite speed in finite time, with a Lean formalisation, and said it resolves the Navier–Stokes Millennium problem by its breakdown alternatives (C) and (D). This page does not take that on trust and does not take it on the priority dispute. It reads the formal statement against Clay's wording hypothesis by hypothesis and against Mathlib's own definitions, builds the 618,762-line Lean proof on an ordinary laptop and asks the kernel what it rests on, maps the paper onto the certificate, dissects the writeup section by section, and re-runs every identity the paper prints that a computer can decide.
Theorem 1.1 (their statement). For every ν > 0 there exist a force f ∈ C_c^∞(R³×(0,∞)), a compact K, and smooth (u,p) on R³×[0,1) supported in K, solving Navier–Stokes from rest, with sup_{t<1} ‖u(t)‖_{L²} < ∞ and lim sup_{t↑1} ‖u(t)‖_{L^∞} = ∞; consequently no smooth global solution with uniformly bounded energy exists — Clay alternative (C). Corollary 10.6: alternative (D) on the torus.
A self-similar axisymmetric core (ℓr ≍ τ^{1/2}, ℓz ≍ τ^{1/2−h}, |uθ|,|uz| ≍ τ^{−1/2−h}, |ur| = O(τ^{−1/2}), 0 < h < 1/100) whose annular momentum residual is unbounded, cancelled by the averaged Reynolds stress of two families of shear-amplified oscillatory pulses carried on an auxiliary torus, corrected at every order in q^{2h} to a flat remainder, joined to an exact radial-heat exterior and cut off; the force is defined as the residual and shown to extend smoothly through t = 1; uniqueness with no growth condition on the pressure transfers the growth to any competitor.
Descends from Córdoba–Martínez-Zoroa's forced-blowup program (the paper's refs [6]–[8], arXiv:2410.22920 for IPM), with a different role for the amplified waves: they supply a mean momentum flux rather than the singular field itself. Alpöge and Buckmaster, working the same program, published smooth-forcing blowup for the porous-medium, Boussinesq and Euler equations the same morning; their Navier–Stokes is unfinished by their own account. The two results are different theorems and this page audits one of them.
The theorem the certificate proves was not written by the prover. The Comparator challenge file is the Formal Conjectures statement of the four Clay alternatives, added by DeepMind on 2026-05-15 and last touched on 2026-07-27, the revision OpenAI pinned and the revision on main today. The copy differs from upstream in 4 lines, every one an open or a notation. The solution side re-declares the same definitions under the same names, byte-identical once comments are stripped, because Comparator compares every constant reachable from the theorem's type for exact equality. So the question is only whether that statement is Clay's. The rule for reading it: the theorem is a negation — "there exist data for which no solution exists" — so a solution notion weaker than Clay's only makes the theorem stronger; a gap could hide only in a competitor class stronger than Clay's or a data hypothesis weaker than Clay's.
| Clay | Lean (Formal Conjectures) | Mathlib at 85e3a25 | direction |
|---|---|---|---|
| (1) ∂ₜu + (u·∇)u = νΔu − ∇p + f on R³×[0,∞) | derivWithin (v x ·) (Ici 0) t + fderiv ℝ (v · t) x (v x t) = nu • Δ (v · t) x − gradient (p · t) x + f x t, ∀ x, ∀ t ≥ 0 | derivWithin = fderivWithin applied to 1 (Deriv/Basic.lean:145); Δ = the second derivative contracted with the canonical covariant tensor, Σᵢ D²f[eᵢ,eᵢ] in any orthonormal basis (InnerProductSpace/Laplacian.lean:139,173); gradient = the Riesz dual of fderiv (Gradient/Basic.lean:82) | SAME |
| (2) div u = 0 | ∇⬝ (v · t) x = 0, divergence := trace of fderiv | trace of the Jacobian | SAME |
| (3) u(x,0) = u° | v x 0 = u₀ x | — | SAME |
| (6) p, u ∈ C^∞(R³×[0,∞)) | ContDiffOn ℝ ∞ (↿v) (univ ×ˢ Ici 0), likewise ↿p | ∞ is ((⊤ : ℕ∞) : WithTop ℕ∞) under open ContDiff — C^∞, not analytic (FTaylorSeries.lean:120); ContDiffOn = a Taylor series of every finite order on a neighbourhood within the set at each point (ContDiff/Defs.lean:131,472), i.e. smooth up to t = 0 | SAME |
| (7) ∫|u|² dx < C for all t | integrable : ∀ t ≥ 0, MemLp (‖v · t‖) 2; globally_bounded_energy : ∃ E, ∀ t ≥ 0, ∫ ‖v x t‖² < E | the Bochner integral of a non-integrable function is 0 (integral_undef, Bochner/Basic.lean:202); the integrable field closes that door | SAME |
| (10) u periodic; errata: p periodic; (11) smooth | IsOnePeriodic (v · t), IsOnePeriodic (p · t) for t ≥ 0; smoothness as (6) | EuclideanSpace.single i 1 = toLp 2 (Pi.single i 1) (PiLp.lean:150): the unit vectors (same as Clay plus the errata) | SAME |
| (4) u° smooth, div-free, |∂ᵅu°| ≤ C(1+|x|)^{−K} ∀α,K | InitialVelocityConditionDecay: div-free, ContDiff ℝ ∞ u₀, ∀ m K, ∃ C, ‖iteratedFDeriv ℝ m u₀ x‖ ≤ C/(1+‖x‖)^K | iteratedFDeriv (FTaylorSeries.lean:398); its norm is comparable to the largest order-m partial up to dimensional constants absorbed by C; K real (the paper takes u° = 0) | EQUIVALENT |
| (5) f smooth on R³×[0,∞), |∂ₓᵅ∂ₜᵐf| ≤ C(1+|x|+t)^{−K} ∀α,m,K | ForceConditionDecay: ContDiffOn ℝ ∞ (↿f) (univ ×ˢ Ici 0) and ∀ m K, ∃ C, ∀ x, ∀ t ≥ 0, ‖iteratedFDerivWithin ℝ m (↿f) (univ ×ˢ Ici 0) (x,t)‖ ≤ C/(1+‖x‖+t)^K | one total space-time order m instead of the split (α, m): equivalent (a C_c^∞ force satisfies it trivially) | EQUIVALENT |
| (8) u°, f periodic in x; (9) |∂ᵅ∂ᵐf| ≤ C(1+t)^{−K} | InitialVelocityConditionPeriodic; ForceConditionPeriodic with the time-decay bound on iteratedFDerivWithin | — | SAME |
The formal statement is Clay's (C) and (D) with nothing added to the competitor class and nothing dropped from the data conditions. The definitions were written by DeepMind's Formal Conjectures project on 2026-05-15 (#1457), last touched 2026-07-27, byte-identical to main on 2026-09-09; OpenAI's copy differs in imports, attributes, namespace and local notation only. The direction rule: the theorem is a negation, so a weak or junk-valued solution notion only strengthens it; a gap could hide only in a competitor class stronger than Clay's or a data hypothesis weaker than Clay's, and neither occurs.
The repository has one commit (8937a8f4, 2026-09-08 06:57 UTC, Boris Alexeev), pins leanprover/lean4:v4.34.0-rc2 and Mathlib 85e3a25e, and declares itself self-assessed, produced by GPT-6 Astra. 2,486 files, 618,762 lines. In code lines — comments and docstrings blanked first — there are 0 sorry outside the 4 intentional placeholders of the challenge files, 0 axiom declarations, 0 native_decide, 0 unsafe, 0 opaque, 0 custom syntax or tactics, and 0 heartbeat overrides — five docstrings record that earlier overrides were removed and the proofs redone under the default budget.
It built clean on this machine: Mac14,2, 8 cores, 16 GB, darwin 25.4.0; all 2,486 of its modules in 140 minutes after the Mathlib cache (11,251 Lake jobs in all, the dependency replays included; in two legs, 681 modules at 8 (default) threads then 1805 modules at 4 threads, the first leg restarted because eight parallel Lean processes on a 16 GB machine drove it into swap); exit 0; no errors. Then a scratch file importing the two solution modules asked #print axioms of the four declarations formalization.yaml names, and the kernel reports exactly Classical.choice, Quot.sound, propext for all four main declarations.
One more question a negation theorem must answer: is the class it negates satisfiable at all? A definition nobody can meet would make "no solution exists" free. So a witness was written here and compiled against OpenAI's challenge module: the fluid at rest — zero datum, zero force, zero velocity, zero pressure — satisfies every field of both competitor classes and all four data conditions (7 declarations, cert-machine-NonVacuity.lean, kernel: depends on axioms: [propext, Classical.choice, Quot.sound]). The classes are real; the theorems say something.
Then the judge itself. Comparator — the Lean FRO's tool for exactly this situation, a party claiming to have proved someone else's theorem — exports both sides with lean4export, compares every constant reachable from the theorem's type for exact equality, walks the axioms, and replays the proof through Lean's kernel and through nanoda, a kernel written independently of Lean's in Rust and built here from source. On NavierStokes and Euler: nanoda: accepts, Lean default: accepts, nanoda: accepts, Lean default: accepts; 2 of 2 configurations returned "Your solution is okay!" with exit 0 and 0. Its sandbox is Linux-only, so a pass-through stand-in took its place: the statement comparison, the axiom walk and both kernel replays were performed; the process isolation was not — and on a machine where both sides came from one pinned commit that is the honest trade.
| declaration | what it states | axioms reported by the kernel |
|---|---|---|
navier_stokes_breakdown_R3 | Clay (C): breakdown on ℝ³ | Classical.choice, Quot.sound, propext |
navier_stokes_breakdown_periodic | Clay (D): breakdown on ℝ³/ℤ³ | Classical.choice, Quot.sound, propext |
Euler.euler_breakdown_R3 | unforced Euler: no global smooth finite-energy solution for some smooth decaying datum | Classical.choice, Quot.sound, propext |
Euler.exists_compact_smooth_euler_singularity | unforced Euler: a compact smooth datum with finite maximal lifespan, infinite C¹ lim sup, divergent vorticity integral | Classical.choice, Quot.sound, propext |
The paper is an LLM-written account of a machine-found proof; the Lean is the claim. Where the two differ, the page reports the difference and nothing more. One difference matters to the announcement: OpenAI's page says "its energy remains finite through the entire dynamics, from rest to the formation of the singularity". Theorem 1.1 states it; Lemma 10.4 proves it on paper in three lines that were re-derived here and hold; the repository contains the general lemma (a smooth compactly supported force gives a uniform L² bound on [0,1)) and nothing invokes it, and the structure that would carry the bound has no producer. The Millennium alternatives do not need it — a global smooth competitor is excluded by uniqueness on every [0,T] with T < 1, where the candidate's energy is finite by compact support alone — so the formal result stands and the physical headline is a paper claim.
What makes that omission legible is the Euler theorem in the same repository. the Euler singularity theorem asserts, for a nonzero smooth compactly supported datum: a solution on [0, T*) with 0 < T* ≤ 1, a uniform energy bound on the whole lifespan, maximality as an equivalence (a solution on [0, T] exists if and only if T < T*), the C¹ norm finite on every shorter interval, its limsup infinite at T*, the Beale–Kato–Majda integral infinite, and no global smooth finite-energy solution. That is the positive content of a blowup theorem, formalized. The Navier–Stokes candidate carries nine of those ten kinds of clause; the missing one is the energy. Same team, same week, same repository — which is why this reads as an oversight rather than an obstacle, and why the unused lemma in R3/CompactEnergy.lean is the tell.
| item | the paper | the Lean | status |
|---|---|---|---|
| the two Comparator theorems | Theorem 1.1 (C) and Corollary 10.6 (D) | NavierStokes.Comparator.navier_stokes_breakdown_R3 and _periodic, proved by exact ComparatorBridge.… adapters; the solution-side definitions byte-identical to the challenge (lean-repo.json) | FORMAL proved (subject to the build record) |
| uniqueness with no growth condition on the pressure (Lemma 10.5) | v smooth on R³×[0,T], v ∈ L^∞_t L²_x, zero datum, same force ⇒ v = u; π recovered as ΣRᵢRⱼgᵢⱼ plus a vanishing harmonic part, the flux through expanding balls bounded, Gronwall | NavierStokesR3.WholeSpaceUniqueness.classical_uniqueness_on_Icc (R3/WholeSpaceUniqueness.lean:30): competitor only smooth, divergence-free, UniformFiniteEnergy on [0,T], pressure only smooth; PressureRecovery.pressure_gradient_recovery (R3/PressureRecovery.lean:419); PressureFlux.exists_uniform_actual_pressure_flux_bound (R3/PressureFlux.lean:576); WholeSpaceComparisonClosure.eq_of_pressure_flux_bound | FORMAL covers every competitor Clay admits |
| the viscosity rescaling | (10.22): space rescaled, u_ν(x,t) = √ν u(x/√ν, t), singular time 1 for every ν | time rescaled, f_ν(x,t) = ν² f(νt, x) from the viscosity-one candidate (ComparatorR3Theorem.lean:19), singular time 1/ν | FORMAL equivalent; the formal statement names no time |
| the candidate's uniform energy bound sup_{t<1} ‖u(t)‖_{L²} < ∞ | Theorem 1.1's second display; Lemma 10.4; the announcement's 'its energy remains finite through the entire dynamics' | NavierStokesR3.CompactEnergy.uniform_finite_energy (R3/CompactEnergy.lean:343) proves it for any smooth compactly supported force and is used by nothing; the structure carrying energy_bounded (R3/ProblemStatement.lean:108) has no producer; breakdownStatement, the file's own 'full assertion of Theorem 1.1', is never proved. The candidate that IS produced, R3CompactCandidate.selected_compact_candidate (R3ActualCandidate.lean:18), satisfies a Properties structure (R3CompactCandidate.lean:24) with ten fields — smooth velocity and pressure on the pre-singular domain, smooth force on the future domain, compact spatial supports for all three, zero initial velocity, compact future time support for the force, divergence-free, the equation on (0,1), and SpeedUnboundedAtOne — and NO energy field. | NOT FORMAL NOT among the formal conclusions — every other clause of Theorem 1.1 is. Clay (C) does not need it (energy on each [0,T], T < 1, follows from compact support), so the Millennium result stands; the announcement's physical headline rests on the paper's Lemma 10.4, verified by hand here. |
| the force's support in time | f ∈ C_c^∞(R³×(0,∞)): zero near t = 0 and for t ≥ 2 | smooth for t ≥ 0, spatial support in a compact K', zero for t ≥ T; no field states f = 0 near t = 0 (CompactPositiveTimeSupport has no producer) | WEAKER weaker in Lean; the comparator's ForceConditionDecay does not require it |
| the growth | (10.20)–(10.21): uθ(xτ, 1−τ) = τ^{−A}(e₀ + O(τ^{2h})) along a named path | SpeedUnboundedAtOne u := ∀ M > 0, ∀ δ > 0, ∃ t x, t ∈ (0,1) ∧ 1−δ < t ∧ M < ‖u(t,x)‖; on the torus also Tendsto ‖u(t,0)‖ → ∞ on the axis | NOTE the pointwise form of lim sup ‖u‖_∞ = ∞; no rate |
| the paper's numbering | Propositions 5.5, 7.5, 9.6, 9.9, Theorem 3.1 | docstrings cite a manuscript numbering (Lemma 3.3, Prop 3.2, Prop 11.4, Lemma 8.3, …) absent from the published paper | NOTE the section-to-Lean map is by content, not by number |
Six readers took the paper apart the day after it appeared — §3 with §10, §4 with Appendix B, §5 with Appendix A, §6 with §7, §8 and §9 with Appendix C, and the Lean against all of it — transcribing every statement, tracing the order in which every parameter is fixed, re-deriving what could be re-derived and testing by computer what could be tested. No circularity was found. No error was found. The table records what was verified; the list below it records what the paper asserts rather than displays, ranked by how much rests on it. In a proof whose authority is a kernel, such a list is a reading aid, not a verdict; it is the list a referee of the paper would write.
| sections | verified | result |
|---|---|---|
| §10 | (10.3) with C₀ = 2^{1/(2D)}; Lemma 10.5's difference equation, localized energy identity, commutator kernel, the H⁻³ tempered-pressure step, the Hölder and Young chains; (10.12); (10.22)–(10.23); the competitor rescaling; the λ³ periodic rescaling; disjoint translates; smoothness across t₀ and t = 1; Clay (5) and (9) | all hold as printed |
| §4 + App B | the leading tangential equations re-derived from axisymmetric Navier–Stokes in (X, η, q): (4.14), (4.9), (4.11), (4.13); Prop 4.2 an exact identity; (4.16); Lemma 4.5; (4.23); (A.25); the B.2 remainders; Φ₀ = √(2/z)J₁(√(2z)); (B.11), (B.19) | all hold; the only dropped tangential term is axial viscosity at relative order q^{2h} |
| §5 + App A | the heat exterior solves the swirl heat equation iff (A.37); H solves (A.37); H′(0) = −h(1+h); H = Z^{−1−h}U(1+h,2,1/Z); conservative forms of r²R_θ and rR_z; nondegeneracy at η = ±1; the A.4 pulse numerics; Lemma A.1's determinants; (A.17); the two zero-integral identities of Lemma A.8 are proved, not asserted | all hold |
| §6 + §7 | the (6.4) chain rule; Lemma 6.1's lattice avoidance; (7.1) ⟺ (4.22); λ₀² = 2aF₀²(1−2/v_s); the reference-matrix eigenstructure; (7.13), (7.18)–(7.19), (7.27)–(7.30), (7.38)–(7.40) | all hold; the covariance identity is a statement about the double average |
| §8 + §9 + App C | the 5×5 moment system decouples into a 3×3 and a 2×2 generalized Vandermonde with explicit nonzero determinants; Lemma C.1's loop on 371 random relaxed-cone data; the cycle's exponent table with corrected κ_s bookkeeping | holds; 'δ_L after μ_max, uniformly' is load-bearing — choosing δ_L from the base point alone breaks the cone in about 7 % of trials |
| §5 (5.2)–(5.7), by computer | the expansion (5.1) substituted into the axisymmetric Navier–Stokes operator in (q, X, η) with Lemma 4.1's derivatives, expanded by exact q-exponent; the order-n coefficient equations, the A₁ sparsity and block nilpotency behind the sideways Cauchy–Kovalevskaya step (5.8), and Ω_k/X regular | 69 of 69 identities hold as printed (a probe script in the battery) |
Asserted, not displayed — ranked.
| # | where | what |
|---|---|---|
| 0 | pp. 12, 27 — unstated | The swirl maximum principle: the axisymmetric background alone (r·uθ = q^{−h}H, unbounded) is impossible for a forced flow from rest with bounded force; the non-axisymmetric pulses are the only reason the theorem is not false, and the paper never says so. Not a gap in the proof — the Lean candidate is whatever it is — but the single sentence a referee would demand in the introduction, and the reason h > 0 (type II) is forced rather than chosen. |
| 1 | Prop 9.9, pp. 114–116, Step 3 | Endpoint regularity of the local field up to τ = 0 for q ≥ c: one paragraph ('differentiating its fixed linear ODE gives the bounds at every derivative order'), no estimate displayed. Lemma 10.2 region (a), hence the force's smoothness at t = 1 away from the origin, rests on it. |
| 2 | (3.4) p. 15 → (10.9) p. 119 | Flatness is stated for 0 ≤ X ≤ X₁ as q ↓ 0 without explicit uniformity in η ∈ (−1,1); (10.9) needs it on a full neighbourhood of (0,1) including η → ±1. Plausible, not displayed. |
| 3 | Prop 9.3(i), pp. 103–105 | Admissibility of next-cycle sources for the pulse inverse after temporal inverses that spread over the torus: 'the pulse cutoff ψ restores the fixed enlarged local torus rectangle support' is asserted. The only unstated induction hypothesis in §9. |
| 4 | throughout; Lemma 4.8, §6 (6.2)–(6.6), Lemma 7.1, Lemma 8.2 | Every constant is 'sufficiently small/large' and none is numeric: h < 1/100 is printed but Lemma 4.8 needs h < min{λ, e^{−T_d}} with T_d = e^{M_d}+10; the §6 derivative scale exceeds 1 only for dyadic level ℓ ≳ 3×10⁸; flatness to order N needs more than 1000(N+K_m) cycles; the cutoff flatness costs ~10⁷N integrations by parts. Not a gap in logic; the proof is entirely asymptotic. |
| 5 | Prop B.2, p. 147 | The Lipschitz bounds of (Φ,u) ↦ J_νR_i on the weighted analytic space are asserted in one sentence; every constant of the inner construction descends from them; the η-analyticity radius is O(σ_*), never said. |
| 6 | Lemma 4.9, pp. 36/44 | '2 + h < a' on the terminal collar holds for Z = 2d/X ≲ 1.5 and fails for Z ≥ 3 at h = 0.01 (a = 2 + 2h + 2Z𝓗′/𝓗); it holds on the collar only because X_tail ≫ 1, a dependence that belongs in Appendix A's choice of X_tail. |
| 7 | Prop B.5, p. 153 | Continuation to X_i = 110 is a prose sketch: unspecified interpolation lengths, 'p₁ > 2 by continuity'. |
| 8 | Lemma 5.1 vs Theorem 4.6(i), pp. 33, 47–50 | Lemma 5.1 needs the leading profile η-analytic on [0, a²] with a² > X_cut; Theorem 4.6(i) gives analyticity on [0, X_an]; that a² ≤ X_an and that the non-analytic edits (B.8 bumps, C.2/C.3 patch, A.7 patch) lie beyond X_an is never stated where needed. |
| 9 | (5.3)–(5.6), pp. 46–47 | The order-n coefficient equations were stated with sample terms derived (pp. 46–47). DISCHARGED by computer algebra at this build: instruments/navierstokes/probes/coefficient_equations.py substitutes (5.1) into the axisymmetric operator and recovers (5.2)–(5.6), the sparsity of A₁ in (5.7) and the divisibility of Ω_k by X exactly as printed (69 identities). Kept in the list as the record of a check, not a gap. |
| 10 | §7 → §8.5, pp. 71–72, 81–84, 95–96 | The zero-Haar-mean part of the pulse covariance is larger than its mean by ≍ S_*^{1/2}/(4r₀²(1+b_g²)) and is never quantified in §6–7; its cancellation is the fast-time inverse of §8.5, whose derivative cost is never tabulated against the mean route. |
| 11 | §9 Step 2, p. 109 / (C.19), p. 164 | Class preservation of the signed-amplitude map at every cycle needs |T₀| ≥ cζ on the modulated profile; proved in Prop C.3, never cited in §9. |
| 12 | pp. 111/114 | q_* overloaded: Lemma 9.7 chooses q_big ≤ an earlier q_*; Theorem 3.1 then defines q_* := q_big. Not circular; the reader supplies the disambiguation. |
Slips, each harmless with its margin: Prop 9.5 and §9 Steps 1–2: the −κ_s that Lemma 9.2 attaches to the zero harmonic of a two-wave product is dropped (M_{C*−κ_s} should be M_{C*−2κ_s}); margins 0.08 and 0.4 against κ_s = 10⁻⁵; Lemma 9.2's proof: 'axial transport gains one through D_z' is false for the phase (D_zΦ = p_z = O(1)); the conclusion is unaffected; p. 51: ∂_RΠ_n misses a factor 1/R on Ω_{n−1}; p. 123: 'every power of A_R at most 3/2' is 7/4 as displayed; Young still closes; p. 122, a trap for text extraction: the cutoff family reads φ_{4R}, φ_{8R} in extracted text (dilations, under which three inequalities are false) and φ_R⁴, φ_R⁸ in the PDF glyphs (powers of one bump, under which every step is exact).
The implacable question is not whether the paper reads well but whether a theorem says this cannot happen. The classical obstructions were each set against the construction's own exponents, symbolically, in the battery. None refutes it. One is load-bearing and unstated: for an axisymmetric flow the swirl Γ = r·uθ obeys a drift–diffusion equation with no zeroth-order term, so from rest with a bounded force the swirl stays bounded and |uθ| ≤ C/r; the paper's core has r·uθ = q^{−h}H, unbounded, in its own notation. The axisymmetric background alone is impossible. The theorem survives because the pulses carry nonzero angular frequencies and their Reynolds flux breaks the maximum principle for the angular mean — the physics of the whole construction, and the paper never says so.
| obstruction | what it says | this construction | verdict |
|---|---|---|---|
| the swirl maximum principle (axisymmetric flows) | for axisymmetric u the swirl Γ = r·uθ satisfies ∂ₜΓ + u_r∂_rΓ + u_z∂_zΓ = Γ_rr − Γ_r/r + Γ_zz + r·f_θ, a drift–diffusion equation with no zeroth-order term; hence sup|Γ(t)| ≤ ∫₀ᵗ sup|r f_θ| for Γ(0) = 0, so a bounded compactly supported force from rest gives a BOUNDED swirl and |uθ| ≤ C/r for all t | the leading field has uθ = q^{−1/2−h}E at r = √(2qX), i.e. Γ = √(2X) q^{−h} E → ∞ — the paper writes r·uθ⁽⁰⁾ = q^{−h}H itself (p. 27) | EVADED, UNSTATED the axisymmetric background ALONE is impossible as a forced flow from rest; the theorem survives only because the physical field is not axisymmetric — the pulses carry nonzero integer angular frequencies (p. 12) and their Reynolds flux breaks the maximum principle for the angular mean. Load-bearing, and nowhere stated in the paper. Derived and checked symbolically in the battery. |
| type-I exclusion for axisymmetric flows (Chen–Strain–Yau–Tsai 2008; Koch–Nadirashvili–Seregin–Šverák 2009) | an axisymmetric solution with |u| ≤ C/√(T−t) (or C/r) does not blow up; a bounded force rescales to zero, so the exclusion covers forced flows | |u| ≍ τ^{−1/2−h}: type II by the factor τ^{−h}; and the flow is not axisymmetric | EVADED evaded twice — h > 0 is what the type-I theorems force, and the paper never says so |
| no-swirl axisymmetric global regularity (Ladyzhenskaya; Ukhovskii–Yudovich) | axisymmetric flows without swirl are globally regular | the core has swirl, injected by f_θ (the unforced flow from rest would have Γ ≡ 0 by the maximum principle) | EVADED evaded; the force is essential |
| Serrin–Prodi–Ladyzhenskaya (p = ∞, q = 2) | a singularity at T requires ∫₀ᵀ‖u‖_∞² dt = ∞ | ‖u‖_∞² ≍ τ^{−1−2h} | MET met |
| Escauriaza–Seregin–Šverák | a singularity requires ‖u(t)‖_{L³} → ∞ | ‖u‖_{L³} ≍ τ^{−4h/3} | MET met (slowly: h = 1/100 gives τ^{−1/75}) |
| Beale–Kato–Majda-type | ∫‖ω‖_∞ dt = ∞ | ω ≍ u/ℓ_r ≍ τ^{−1−h} | MET met |
| Leray's lower bounds | ‖u‖_∞ ≥ cτ^{−1/2}, ‖∇u‖₂ ≥ cτ^{−1/4} near a singularity | τ^{−1/2−h} and τ^{−1/4−3h/2} | MET met |
| finite energy and finite dissipation | a Leray solution has sup‖u‖₂ < ∞ and ∫‖∇u‖₂² < ∞ | core energy τ^{1/2−3h} → 0; dissipation rate τ^{−1/2−3h}, integrable iff h < 1/6 | MET met, and h < 1/6 is a real constraint the printed h < 1/100 satisfies |
| Caffarelli–Kohn–Nirenberg; Leray's singular times | the singular set has parabolic 1-Hausdorff measure zero; singular times have 1/2-Hausdorff measure zero | one point, one time | MET met |
A list of asserted steps is only as interesting as its answer in the certificate, so every one was traced into the Lean library and asked a second, harsher question: not "is it discharged" but "is the Lean statement weaker than the paper's claim at that point". 6 are discharged by a proved theorem at full strength, and two of them are stronger than the paper: the endpoint regularity the paper gives as per-order bounds is a genuine smooth extension across t = 1, and the flatness the paper states in one variable is a joint space-time limit, which is exactly the uniformity the reading found missing. 5 are discharged with something altered, and 2 have no counterpart to check. Two of the paper's arithmetic slips are simply absent from the formal object — the exponent ledger carries the term the paper drops, and the comparison argument uses the exponent its own chain gives.
| # | the asserted step | in Lean | strength |
|---|---|---|---|
| 1 | endpoint regularity of the local field up to τ = 0 | OneSidedExtension (NavierStokes/JointResidualLimits.lean:72) is a genuine C^∞ extension across t = 1, produced for the actual sums by GermEndpointInputs.actual_germ_stage_endpoints_of_estimates (:436) — stronger than the paper's per-order bounds; stated for z ≠ 0 inside the local domain, the rest covered by SublevelShrinkingSupport | PROVED |
| 2 | η-uniformity of the flatness (3.4) → (10.9) | VanishingJointJets (JointResidualLimits.lean:84) is a joint space-time limit at (1,0), η-uniform by construction; produced by GermCandidateAssembly.exists_candidate_witness_of_finite_stages (:164) — the paper's asymmetry between a q-statement and a neighbourhood statement does not exist in Lean | PROVED |
| 3 | admissibility of next-cycle sources for the pulse inverse | Invariant.source_carrier (ActualCycleResidualBounds.lean:68), an exact carrier equality, with the induction ActualCyclePreservation.state_invariant (:835) — the paper's one asserted line is a proved invariant | PROVED |
| 9 | the order-n coefficient equations (5.2)–(5.6) | SlowExpansionResidual.navierStokesResidual_slowVelocity_of_coefficients (:1016), exact algebra — also re-derived independently here by computer algebra, 69 identities | PROVED |
| 11 | |T₀| ≥ cζ on the modulated profile, needed for class preservation | LeadingStressWeights.stress_lower_bound (:1121); FullTrueCone supplied by FinalSlowBase.exists_final_base (:639) — the dependency the paper never cites in §9 is an explicit hypothesis in Lean | PROVED |
| 12 | the q_* overloading | one constant, qbig := ChartScales.Q (firstBand B N0) (ActualCandidateConstruction.lean:155) — the ambiguity is the paper's prose only | PROVED |
| 4 | the smallness parameters | h is NOT a number: FinalSlowBase.actualProfile := Classical.choice profileData_nonempty (:634), h := outgoing.data.h, constrained only by 2h < lam < 1/10 (OutgoingTail.lean:103, OutgoingSchedule.lean:297) and the hypothesis h ≤ 1/1000 (NaturalAxisData.lean:41). N is geometricThreshold := ….choose; Λ and C appear as ∃ M, ∀ Λ ≥ M, ∃ C0 …; q_* likewise; the cycle schedule is ∃ a : ℕ → ℕ with no finite J. Numeric constants that do appear: κ = 10⁻⁵, Λ_chart = 4 − √2, X_big = 100, X_i = 110. — the printed h < 1/100 is not the operative bound in either artifact; the proof is asymptotic in a parameter no one has bounded | ALTERED |
| 7 | Prop B.5's continuation to X_i | exists_activation_continuation (ActivationContinuation.lean:1945) and frozen_through_Xi (ReferencePath.lean:820), proved, but with existential thresholds and one witness per (N, ε) | ALTERED |
| 5 | the Lipschitz bounds of Prop B.2 | AxisContraction.Controlled / exists_fixedPoint_of_controlled (:35, :227) with the Lipschitz constant and radius explicit; UnitHolomorphic (AnalyticCoefficientBounds.lean:38) — proved machinery; the instantiation for the actual profile was not traced to a line | ALTERED |
| 8 | the analyticity region (Lemma 5.1 vs Theorem 4.6(i)) | same machinery as weak point 5; the region hypothesis is carried, the instantiation not traced | ALTERED |
| 10 | the two correction routes never tabulated | TemporalMeanUpdate.absoluteInverse_solves/_zeroMean (:238, :227) proved; no quantified comparison of the two routes exists in Lean either | ALTERED |
| 6 | Lemma 4.9's '2 + h < a' on the terminal collar | Lean's tail is a different plateau construction; the inequality has no counterpart to check | NO COUNTERPART |
| slips 2, 3, 5 | the D_z sentence, the missing 1/R, the φ_R⁴ extraction trap | prose only; no Lean counterpart | NO COUNTERPART |
Are the 'sufficiently small/large' parameters explicit numbers in Lean? No. h, N, Λ, C, q_* and the cycle schedule are all existentials or Classical.choice; the only numeric constants are κ = 10⁻⁵, Λ_chart = 4 − √2, X_big = 100, X_i = 110. Nothing in either artifact bounds h numerically.
Is the constructed field non-axisymmetric in Lean (the pulses' nonzero angular frequency)? Yes, and it is proved rather than assumed: the angular mode enters at HarmonicFields.field … (kp : ℤ) (:107); the actual construction fixes angularMode l n : ℤ with the theorem angularMode_ne_zero (ActualInitialization.lean:52). There is no literal ¬Axisymmetric theorem, but the nonzero angular mode is exactly what the swirl maximum principle requires the field to have — the formal object does evade the obstruction the paper never names.
Which theorem asserts the growth, and along what path? ConstructedSlowBase.origin (:892) gives u(t,0) = (1−t)^{−(1/2+h)}·j·e_z and FinalSlowBase.axis_tendsto (:373) sends it to infinity along t ↦ (t,0): the AXIAL component ON the axis. The paper's (10.20)–(10.21) uses a different path, off-axis at r = √(2X_in τ), where the AZIMUTHAL component diverges. Both give lim sup ‖u‖_∞ = ∞; the formal witness is the simpler one, and no Lean theorem bounds the swirl r·u_θ from below.
The proof carries no numerics and fixes no constant to a number, so there is nothing for an interval certifier to certify. What it does print are identities — a coordinate change and its derivatives, two rescalings of the equations, a kernel integral, a derivative count, a cutoff bound, and one closed-form object, the exterior swirl that solves the radial heat equation exactly. Each was re-run from the formula as printed: symbolic_checks.py (C2–C6, C11), heat_exterior_ode.py (C1a), coefficient_equations.py (C1 of the §5 memo), axis_profile.py (C14 of the §4 memo), swirl_maximum_principle.py (The obstruction the paper never names), heat_exterior_num.py (C1b). All 6 pass, and so do their 20 red controls — each a deliberately wrong variant of the same test that must be rejected, because a check that cannot fail is not a check. One of them plants this battery's own first bug. A first run reported the heat-exterior integral failing its own differential equation; that was this battery's bug — the m-th derivative of (1+Zv)^{−h} carries (−1)^m(h)_m, not (−h)_m — and the record says so, because a scratch log that reads "FAIL" against a Millennium claim should not be mistaken for a finding.
What was not done, and why: no interval arithmetic on the profile equations of Section 4 — every constant in them is "sufficiently small", so the numerical solve above illustrates the paper's description of its own object and certifies nothing. The closed forms are exact identities decided symbolically; the quadratures are pictures with 25-digit residuals, not enclosures.
The same repository carries a second theorem, and it is the more exposed of the two. There exists u₀ ∈ C^∞_{c,σ}(R³) with 0 < T*(u₀) < ∞, whose smooth Euler solution has lim sup ‖∇u‖_{L^∞} = ∞ and ∫₀^{T*} ‖curl u‖_{L^∞} dt = ∞. The Navier–Stokes result is a FORCED breakdown — the force is defined as the residual of a constructed flow. Euler here is unforced: nothing to hide behind. If it stands it is the first finite-time blowup for smooth compactly supported finite-energy 3D Euler.
The step where such arguments die. The solution of the limiting datum is not the limit of the approximants, and Euler's stability constant is exp(C∫‖∇U_j‖_∞) — exactly the quantity that diverges. This is where such arguments usually die. Section 6.2 never compares U_j with U_j'. It compares each U_j with the hypothetical smooth solution u of the limiting datum, under the contradiction hypothesis T*(u₀) > T_∞. For w = U_j − u the only linear coefficient is ∇u (bounded by that hypothesis), the transport by (u+w)·∇ is skew at every derivative order, the cubic term closes under a bootstrap; the Gronwall constant is C·sup‖u‖_{H⁴}, one number fixed before j is chosen. Nothing about U_j enters — not ‖∇U_j‖_∞, not the frequency, not the Gevrey radius. Only the initial difference depends on j, and it tends to zero. Verdict: complete as written; the contradiction hypothesis is used exactly once, to make the constant finite, and never to control the approximants.
Where a flaw would be. The one-sided Hessian bound λ_max ≤ K_B + 1 of (4.29), which makes every displacement boundary-value problem coercive: it needs the sign m·Mv > 0 at every label for τ ≥ 1, and a failure anywhere gives a non-summable increment. The novel analytic device is Claim 2's Gevrey bound on the new particle map, obtained without exponentiating a Lipschitz norm; that is where a flaw would be if there is one.
The sharpest candidate error found anywhere in either paper was this: (3.16), p. 13: the growth constant appeared to read (k·C∗)^{n+1} with C∗ = 80, false at n = 0, while §5 uses K_h = k_{j−1}^{C∗}. WITHDRAWN. The page was rendered at 150 dpi and read: the glyphs are (k^{C∗})^{n+1}(n!)², with C∗ in the exponent. pdftotext flattens the superscript and manufactures the error.
The second text-extraction artifact in this audit — the first was the cutoff family φ_R⁴, φ_R⁸ on p. 122 of the Navier–Stokes paper, which extracts as dilations φ_{4R}, φ_{8R} and makes three inequalities false. No inequality is a finding until its glyphs have been seen. An audit that reports a manufactured error against a Millennium claim has done worse than no audit.
The two formal shapes. exists_compact_…_singularity matches Theorem 1.1 and is in one respect more precise than the paper: it pins down the solution class that makes T* well defined euler_breakdown_R3 strictly weaker; equating it with blowup needs uniqueness of finite-energy C¹ solutions (the same integration by parts that gives energy conservation) plus Beale–Kato–Majda. That uniqueness FAILS without a decay condition, and the Lean class does impose square integrability and bounded energy — so the two are equivalent for these data. A formalization that dropped the energy fields would make the non-existence true for a reason that has nothing to do with fluids. Note which one carries the energy bound.
| date | event, with its source |
|---|---|
| 2026-05-15 | DeepMind's Formal Conjectures adds the Lean statement of the four Clay alternatives (#1457) |
| 2026-07-27 | last change to that file (#4643, divergence lemmas); the revision OpenAI pinned |
| 2026-08-15 | Alpöge–Buckmaster obtain smooth-forcing blowup for Boussinesq and Euler (their statement) |
| 2026-08-22 | Alpöge–Buckmaster's Lean verification (their statement) |
| 2026-08-28 | OpenAI begins training the internal model used (the announcement) |
| 2026-09-01 | OpenAI launches the agent effort after 'a rumor that two Millennium Prize problems had been resolved' (the announcement) |
| 2026-09-03 | Tao's six-part post on the opportunity cost of an autonomous solution; Buckmaster writes to OpenAI (his statement) |
| 2026-09-05 | OpenAI's agents 'arrive at their resolution', 88 hours in (the announcement); Tao's clarification: 'not aware of any significant developments' |
| 2026-09-06 | Lean formalization complete, 17 hours later (the announcement); the two calls with Buckmaster (his statement) |
| 2026-09-08 03:58 UTC | Alpöge–Buckmaster publish IPM, Boussinesq and Euler with smooth forcing, Lean at tristanbuckmaster/fluid_lean (repository created 04:03 UTC) |
| 2026-09-08 10:53 UTC | openai/NavierStokesAndEuler created; its single commit at 10:57 UTC; the announcement the same day |
Each line is from the document named in it — OpenAI's announcement, Buckmaster's statement, Tao's posts, or a repository's own timestamps — and is held in the pinned corpus. Nothing here weighs them.
No verdict on the theorem is issued by the paper reading; the verdict is the Lean build's and the independent kernel's, recorded in build.json. No numerical solution of the profile equations is a certification: the paper contains no numerics and none of its constants is a number. The priority dispute is recorded as dates from the three parties' own documents and adjudicated nowhere on this site. The Euler paper is audited separately and its result is not folded into the Navier–Stokes verdict. The papers are published, not peer-reviewed; the Clay Mathematics Institute has said nothing; OpenAI has said it will not claim the prize.