Back to blog

OpenAI Says It Solved Navier-Stokes: 10 Thousand Agents, 88 Hours and the Fight Over Credit for a Millennium Prize Problem

Hello HaWkers, on Tuesday, September 8, 2026, OpenAI published what it calls a resolution of the Navier-Stokes existence and smoothness problem, one of the seven Millennium Prize Problems of the Clay Mathematics Institute, each carrying a US$ 1 million award. According to the company, an internal model that has not been released yet, running as a swarm of around 10 thousand agents, reached the result in 88 hours, and the proof was formally verified in Lean. Twelve hours earlier, mathematician Tristan Buckmaster, from NYU, had published a four-page note accusing OpenAI of chasing the same path after learning about the work they were doing with Levent Alpöge, a mathematician at Anthropic.

The direct question is worth asking: what exactly was proved, what does this have to do with people who write software, and why is the mathematical community more worried about the form than about the result? In this article you will understand the problem in engineer language, what a proof verified in Lean means, the real numbers released so far, the timeline of the dispute, and what is still missing before anyone collects the prize.

What the Navier-Stokes Problem Is

The Navier-Stokes equations describe the motion of fluids: water in a pipe, air around a wing, smoke rising from a chimney. Engineers solve them numerically every day in CFD simulations. The Clay Institute problem, stated in 2000 by Charles Fefferman, of Princeton, is a different one: it asks whether, in three dimensions, a solution that starts out smooth can develop a singularity in finite time, what mathematicians call a blowup. In practical terms, whether the velocity or the vorticity of the fluid can go to infinity at one point, at a specific instant, even with bounded total energy.

For almost 90 years nobody managed to prove either that this happens or that it does not. Fefferman's official statement offers four variants, identified as (a), (b), (c) and (d). The first two deal with the fluid with no external force; the last two, (c) and (d), allow a smooth external force acting on the fluid. Proving blowup in any one of them solves the problem. The OpenAI result, according to the company, is precisely a finite time blowup with smooth forcing, in the whole three-dimensional space and on the torus, that is, options (c) and (d).

Why "Smooth Forcing" Is the Key Phrase

Here is the detail that explains the entire dispute. There is a research program, opened by the Spanish mathematicians Diego Córdoba, of ICMAT in Madrid, and Luis Martínez-Zoroa, of CUNEF, that builds singularities by stacking layers of non-singular solutions in an infinite cascade. Around 2023 they already had blowup for Euler with irregular forcing. What was missing was making that same cascade produce a singularity while keeping the external force smooth. That was the last obstacle, and almost nobody in the world was working on it. Fefferman, the author of the prize statement, called the two of them "the heroes" of the story when speaking to Quanta Magazine.

What OpenAI Claims It Did

The OpenAI post describes a two-phase process. First, around 100 agents worked for 50 hours on the Euler equations, the inviscid version of the problem. Then, roughly 10 thousand agents spent 88 hours attacking Navier-Stokes itself, with the result reached on Saturday, September 5. According to the post, that meant about 130 billion output tokens on the Navier-Stokes part alone and 2.7 million messages exchanged between agents, reaching 4.9 million counting the other problems. After that, 17 additional hours with the GPT-6 Astra model produced the formalization in Lean.

Cost figures vary by source. Sébastien Bubeck, a researcher at OpenAI, told Quanta it was "several million dollars"; Fortune estimated around US$ 2 million based on a comparison with earlier challenges; TechCrunch quoted a much higher value. There is no official number, so the most honest thing to say is that it was a multi-million dollar compute effort concentrated in less than two weeks. The timeframe is confirmed by the company as well: the work started on September 1, motivated by rumors that Anthropic was close to solving the problem.

One point rarely highlighted in the headlines: OpenAI stated in the post that it does not intend to claim the US$ 1 million prize. The declared goal is to demonstrate the capability of the model, which the company describes as an internal system with unprecedented performance on mathematics benchmarks.

A Proof Verified in Lean: What That Means for You

People who write code understand Lean better than most journalists. Lean is a programming language with a type system so expressive that a mathematical proposition becomes a type, and a proof becomes a term of that type. If the code compiles, the proof is correct with respect to the axioms and definitions used. It is the same principle that makes a compiler reject a string where a number was expected, only applied to theorems.

-- Lean 4: a proposition is a type, a proof is a value of that type.
-- If this file compiles, the theorem is proved.
theorem add_commutative (a b : Nat) : a + b = b + a := by
  -- 'omega' solves linear arithmetic over naturals and integers
  omega

-- Wrong definitions compile too: verification guarantees
-- consistency with the written statement, not with the author's intent.
theorem warning_example (n : Nat) : n + 0 = n := by
  rfl

The caveat in the second block matters. A proof in Lean guarantees that the formalized statement follows from the axioms. It does not guarantee that the formalized statement is the same statement as the Clay prize. That is why the community wants to read the roughly 100 pages of the proof in human language: someone has to check that the definitions of "smooth solution", "smooth forcing" and "bounded energy" match Fefferman's. Buckmaster wrote in the note that they refused to publish only a Lean certificate alongside an unpolished preprint, because "the first thing anyone reads should be a mathematical argument presented in the normal way".

Visualizing a Blowup in Code

You cannot simulate 3D Navier-Stokes in a blog post, but you can see the phenomenon in one dimension with the inviscid Burgers equation, the classic example of a finite time singularity. The velocity transports itself, the fast parts catch up with the slow ones and the gradient goes to infinity at a predictable time.

# Inviscid Burgers equation: u_t + u * u_x = 0
# Solved by the method of characteristics: each point moves at speed u.
# The gradient diverges at t* = -1 / min(u0'(x)), the finite time "blowup".
import numpy as np

x0 = np.linspace(-np.pi, np.pi, 2001)
u0 = -np.sin(x0)                      # smooth initial profile
du0 = -np.cos(x0)                     # analytic derivative of the profile
t_star = -1.0 / du0.min()             # theoretical instant of the singularity

for t in [0.0, 0.5 * t_star, 0.9 * t_star, 0.99 * t_star]:
    x = x0 + u0 * t                   # characteristics: x(t) = x0 + u0 * t
    # gradient along the characteristics: u_x = u0' / (1 + u0' * t)
    grad = du0 / (1.0 + du0 * t)
    print(f"t = {t:.3f}  max |u_x| = {np.abs(grad).max():.1f}")

print(f"blowup predicted at t* = {t_star:.3f}")

Run this and the maximum gradient grows from 1 to tens, hundreds, and explodes as it approaches t* = 1. In Burgers this is easy because the equation is scalar and has no pressure. In 3D Navier-Stokes the pressure is nonlocal, viscosity smooths things out and incompressibility couples the three components. That is why the problem resisted for decades, and why the smooth forcing route, which gives the mathematician an extra degree of control, was the one that opened the way.

The Timeline of the Dispute

The facts below come from Buckmaster's public note, from the reporting by Quanta, TechCrunch, Fortune and Axios, and from OpenAI's response. Where there is a contradiction, I flagged it.

  • About a year ago: Buckmaster and Alpöge start a personal collaboration, with no institutional agreement. They use Claude, from Anthropic, and Codex, from OpenAI, with the GPT-5.6 Sol models and, later, Astra. Buckmaster pays the bill out of their own research funds.
  • August 15, 2026: the two obtain blowup with smooth forcing for Boussinesq and for 3D Euler. Buckmaster describes the first proof generated by the model as "the most hideous I have ever read".
  • August 22: the Euler proof is verified in Lean.
  • September 1: according to OpenAI itself, the internal effort begins, motivated by rumors that Anthropic was close to a result.
  • September 3: Buckmaster writes to a mathematician at OpenAI warning that the work exists and will be published soon. The reply offers compute and asks for details "to avoid competing".
  • September 6: in two calls with Bubeck, Buckmaster is told that an internal model proved forced blowup for Navier-Stokes. According to Buckmaster, two proposals were offered, both conditioned on removing Alpöge from authorship for working at Anthropic. Buckmaster refused. The note attributes to Bubeck the phrases "Why would you ruin your career?" and "If you do not want me to be nice, I do not need to be nice".
  • September 7, midnight: Buckmaster publishes the note and three papers: blowup with smooth forcing for incompressible porous media, Boussinesq and incompressible 3D Euler.
  • September 8, morning: OpenAI publishes the Navier-Stokes proof.

OpenAI's response has two central sentences. The first: "We (the researchers and the agents) did not see any of their work by any means until it was made public". The second, about usage data: "While unlikely, we cannot rule out that deidentified data derived from their use of our products helped improve our models". Bubeck also stated that the Euler result was obtained by a method entirely different from the one used by Buckmaster and Alpöge, while acknowledging that the path to Navier-Stokes followed the same route.

What Is at Stake for Anyone Using AI Tools

Set the mathematics aside for a minute. Buckmaster and Alpöge did all the work inside Codex sessions, including the drafts. When Buckmaster asked whether the model had been trained on those sessions, the answer was that the model "does not consult user data". About training, Buckmaster says they never got an answer. If you use a coding assistant on a project that is not public yet, the question is the same: what does "used to improve the model" mean in practice, and who guarantees that the result of your work does not show up on the other side?

This is not academic paranoia. It is the same discussion that came up when OpenAI launched a workspace for scientists, which I covered in OpenAI launches a workspace for scientists with Deep Research. The more frontier research runs inside the tools of a company that also competes for the discovery, the more weight retention and training policies carry. It is worth checking, on your plan, whether sessions are excluded from training by default and whether a zero retention mode exists.

One engineering pattern this story teaches, regardless of who is right, is the independent verifier. The OpenAI swarm produces candidates; Lean rejects whatever does not close. It is a deterministic gate in front of a probabilistic generator, and it works for any pipeline with agents.

// Generator plus verifier pattern: agents propose, a deterministic
// checker decides. No proposal gets through without approval.
type Proposal = { id: string; content: string };
type Verdict = { ok: boolean; reason?: string };

async function swarm(
  generate: (seed: number) => Promise<Proposal>,
  verify: (p: Proposal) => Promise<Verdict>,
  attempts: number,
): Promise<Proposal | null> {
  // fires the generators in parallel; each one gets a different seed
  const proposals = await Promise.all(
    Array.from({ length: attempts }, (_, i) => generate(i)),
  );

  for (const p of proposals) {
    const v = await verify(p); // this is where Lean, a test runner or a linter goes
    if (v.ok) return p;        // the first approved proposal wins
    console.warn(`proposal ${p.id} rejected: ${v.reason}`);
  }
  return null; // none passed: better to fail than to accept without proof
}

Swap verify for tsc --noEmit, for a test suite or for a schema validator and you have the production version of what happened with Navier-Stokes. The difference is scale: 10 thousand generators, 88 hours and a verifier that does not accept "almost certain".

What Terence Tao and the Community Are Saying

Terence Tao, of UCLA, did not join the credit dispute. Their concern, quoted by Fortune, is systemic: the "indiscriminate mining of open problems for solutions" could "destroy the ecosystem from which the next generation of mathematical techniques, problems and practitioners would have developed". Open problems are the training material of doctoral students. If every one of them becomes the target of a swarm of agents the moment a rumor circulates, what is left to train the next generation?

Buckmaster makes a similar point in the note. Buckmaster says the plan was to announce the results by saying that "the results are not the important thing"; the important part would be that a mathematician and a model can now do all of this in a month, a "Deep Blue versus Kasparov moment" for the field. Instead, Buckmaster ended up writing about who called whom. Buckmaster also admits the papers came out badly written because of the rush, going as far as calling the Euler text "AI slop", and apologizes for it.

Quanta called the OpenAI result "by a significant margin, the most important mathematical proof ever achieved by an artificial intelligence model to date". Both things are true at the same time: it may be the greatest feat of AI in pure mathematics and, even so, have been announced in a way the community considers unacceptable.

What Is Missing Before Anyone Wins the Prize

The Clay Mathematics Institute rules are public and slow on purpose. A solution has to be published in a qualified venue, stay available for at least two years and reach general acceptance in the mathematical community before the committee even considers the award. As of the closing of this article, the institute still lists Navier-Stokes as an open problem. Even if the proof is correct, the minimum calendar pushes any decision to after 2028.

There are also three independent verifications under way. The first is mathematical: specialists in partial differential equations have to read the 100 pages and confirm that the Lean formalization corresponds to Fefferman's problem. The second is about priority: the Buckmaster and Alpöge dates for Euler (August 15 and 22) come before the start of the OpenAI effort (September 1), and OpenAI itself credits the pair for the Euler result; the open question is the jump from Euler to Navier-Stokes. The third is about conduct: OpenAI still has not given a direct answer on whether the Codex sessions went into training.

For people who build software, the lessons are less glamorous and more useful. A deterministic verifier in front of probabilistic agents is what turns brute force into a reliable result. The data retention policies of the tool you use are part of your architecture, not of the legal department. And credit, in science as in open source, is what sustains the next contribution; treating it as a negotiation detail turns out expensive for everyone.

Let's go! 🦅

📚 Want to Keep Up With What Is Coming?

This article covered the Navier-Stokes resolution announced by OpenAI and the credit dispute with Buckmaster and Alpöge, but the ecosystem changes every week and not everything turns into an article here.

On X I share what I am testing, the behind the scenes of my projects and the news that shows up before it becomes a post.

Follow Me There

👉 Follow @jeffbruchado on X

💡 Daily content about development, career and the tools I actually use

Comments (0)

This article has no comments yet 😢. Be the first! 🚀🦅

Add comments