# OpenAI's Navier–Stokes claim: what the proof says (and what it doesn't)

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv0jtheg0007jt06z1u22lln
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 50 steps across 7 layers
- Persona: OpenAI's agents, Mathematicians and reviewers
- Technology / systems: The Clay problem, The fluid, Lean proof checker

## Pain points

Where this process hurts, worst first:

- **Keep the force smooth by cancelling the errors** (OpenAI's Navier–Stokes claim: what the proof says (and what it doesn't); critical): The central difficulty: controlling these cancellations while viscosity is present
- **Translate the whole argument into Lean** (OpenAI's Navier–Stokes claim: what the proof says (and what it doesn't); painful): Unverified: the Lean review is self-assessed by OpenAI and hasn't been independently reproduced
- **Experts read the 166-page manuscript** (OpenAI's Navier–Stokes claim: what the proof says (and what it doesn't); painful): No independent peer review has finished yet
- **The authorship and data-use dispute is unresolved** (How the agents got there; painful): Contested: the researchers who posted related work a day earlier question how the result was produced
- **Still unsolved. This proof does not cover it.** (OpenAI's Navier–Stokes claim: what the proof says (and what it doesn't); annoying): The harder, unforced version stays open; whether forced results extend to it is unclear

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## OpenAI's Navier–Stokes claim: what the proof says (and what it doesn't)

Lanes:
- The Clay problem: technology / system (id `clay`)
- OpenAI's agents: person / role (id `agents`)
- The fluid: technology / system (id `fluid`)
- Lean proof checker: technology / system (id `lean`)
- Mathematicians and reviewers: person / role (id `rev`)

Steps, in the order they run:

1. **Clay asks: can a smooth 3D fluid flow break down in finite time?** [start; The Clay problem; id `n1`]
   - then Which version of the problem?
2. **Which version of the problem?** [decision; The Clay problem; id `n2`]
   - if "Unforced fluid (options A and B)" go to Still unsolved. This proof does not cover it.; if "Fluid pushed by a smooth force (options C and D)" go to How the agents got there
3. **Still unsolved. This proof does not cover it.** [end; The Clay problem; id `n3`] ⚠ PAIN POINT (annoying): The harder, unforced version stays open; whether forced results extend to it is unclear
4. **How the agents got there** [subprocess; OpenAI's agents; id `n4`], opens the detail layer "How the agents got there"
   - then State the result: a smooth force can make a fluid blow up
5. **State the result: a smooth force can make a fluid blow up** [subprocess; OpenAI's agents; id `n5`], opens the detail layer "The theorem (Theorem 1.1)"
   - then Build the blow-up: a vortex that contracts
6. **Build the blow-up: a vortex that contracts** [subprocess; OpenAI's agents; id `n6`], opens the detail layer "The contracting vortex"
   - then Keep the force smooth by cancelling the errors
7. **Keep the force smooth by cancelling the errors** [subprocess; OpenAI's agents; id `n7`] ⚠ PAIN POINT (critical): The central difficulty: controlling these cancellations while viscosity is present, opens the detail layer "Keeping the force smooth"
   - then Velocity grows without bound at a finite time while energy stays finite
8. **Velocity grows without bound at a finite time while energy stays finite** [task; The fluid; id `n8`]
   - then It holds for every positive viscosity, not just an idealized fluid
9. **It holds for every positive viscosity, not just an idealized fluid** [task; OpenAI's agents; id `n9`]
   - then A periodic version too (Corollary 10.6)
10. **A periodic version too (Corollary 10.6)** [task; OpenAI's agents; id `n10`]
   - then Translate the whole argument into Lean
11. **Translate the whole argument into Lean** [subprocess; Lean proof checker; id `n11`] ⚠ PAIN POINT (painful): Unverified: the Lean review is self-assessed by OpenAI and hasn't been independently reproduced, opens the detail layer "The Lean check"
   - then Experts read the 166-page manuscript
12. **Experts read the 166-page manuscript** [subprocess; Mathematicians and reviewers; id `n12`] ⚠ PAIN POINT (painful): No independent peer review has finished yet, opens the detail layer "Review"
   - then Independently verified and accepted?
13. **Independently verified and accepted?** [decision; Mathematicians and reviewers; id `n13`]
   - if "Yes" go to Clay's own process: publication, a two-year wait, broad acceptance; if "Not yet" go to Where things stand today: claimed, not yet independently verified
14. **Clay's own process: publication, a two-year wait, broad acceptance** [end; The Clay problem; id `n14`]
15. **Where things stand today: claimed, not yet independently verified** [end; Mathematicians and reviewers; id `n15`]

```mermaid
flowchart LR
  subgraph l_clay["The Clay problem"]
    n_n1(["Clay asks: can a smooth 3D fluid flow break down in finite time?"])
    n_n2{"Which version of the problem?"}
    n_n3(["Still unsolved. This proof does not cover it."])
    n_n14(["Clay's own process: publication, a two-year wait, broad acceptance"])
  end
  subgraph l_agents["OpenAI's agents"]
    n_n4[["How the agents got there"]]
    n_n5[["State the result: a smooth force can make a fluid blow up"]]
    n_n6[["Build the blow-up: a vortex that contracts"]]
    n_n7[["Keep the force smooth by cancelling the errors"]]
    n_n9["It holds for every positive viscosity, not just an idealized fluid"]
    n_n10["A periodic version too (Corollary 10.6)"]
  end
  subgraph l_fluid["The fluid"]
    n_n8["Velocity grows without bound at a finite time while energy stays finite"]
  end
  subgraph l_lean["Lean proof checker"]
    n_n11[["Translate the whole argument into Lean"]]
  end
  subgraph l_rev["Mathematicians and reviewers"]
    n_n12[["Experts read the 166-page manuscript"]]
    n_n13{"Independently verified and accepted?"}
    n_n15(["Where things stand today: claimed, not yet independently verified"])
  end
  n_n1 --> n_n2
  n_n2 -->|"Unforced fluid (options A and B)"| n_n3
  n_n2 -->|"Fluid pushed by a smooth force (options C and D)"| n_n4
  n_n4 --> n_n5
  n_n5 --> n_n6
  n_n6 --> n_n7
  n_n7 --> n_n8
  n_n8 --> n_n9
  n_n9 --> n_n10
  n_n10 --> n_n11
  n_n11 --> n_n12
  n_n12 --> n_n13
  n_n13 -->|"Yes"| n_n14
  n_n13 -->|"Not yet"| n_n15
```

### The Lean check (detail of step "Translate the whole argument into Lean")

Lanes:
- OpenAI's agents: person / role (id `agents`)
- Lean proof checker: technology / system (id `lean`)
- Mathematicians and reviewers: person / role (id `rev`)

Steps, in the order they run:

1. **Agents write the argument as a formal Lean proof (about 17 more hours)** [start; OpenAI's agents; id `l1`]
   - then Lean checks that every step follows from the one before
2. **Lean checks that every step follows from the one before** [task; Lean proof checker; id `l2`]
   - then Does the formal statement match the Clay problem as written?
3. **Does the formal statement match the Clay problem as written?** [decision; Mathematicians and reviewers; id `l3`]
   - if "Yes" go to Then the formal proof is a real proof of that statement; if "No" go to Lean proved a different statement than the one that matters
4. **Then the formal proof is a real proof of that statement** [task; Mathematicians and reviewers; id `l4`]
   - then Lean shows the logic holds, not why it holds, and not that the question was the right one
5. **Lean shows the logic holds, not why it holds, and not that the question was the right one** [end; Mathematicians and reviewers; id `l6`]
6. **Lean proved a different statement than the one that matters** [task; Mathematicians and reviewers; id `l5`]
   - then Lean shows the logic holds, not why it holds, and not that the question was the right one

```mermaid
flowchart LR
  subgraph l_agents["OpenAI's agents"]
    n_l1(["Agents write the argument as a formal Lean proof (about 17 more hours)"])
  end
  subgraph l_lean["Lean proof checker"]
    n_l2["Lean checks that every step follows from the one before"]
  end
  subgraph l_rev["Mathematicians and reviewers"]
    n_l3{"Does the formal statement match the Clay problem as written?"}
    n_l4["Then the formal proof is a real proof of that statement"]
    n_l5["Lean proved a different statement than the one that matters"]
    n_l6(["Lean shows the logic holds, not why it holds, and not that the question was the right one"])
  end
  n_l1 --> n_l2
  n_l2 --> n_l3
  n_l3 -->|"Yes"| n_l4
  n_l3 -->|"No"| n_l5
  n_l4 --> n_l6
  n_l5 --> n_l6
```

### How the agents got there (detail of step "How the agents got there")

Lanes:
- OpenAI's agents: person / role (id `agents`)
- Mathematicians and reviewers: person / role (id `rev`)

Steps, in the order they run:

1. **September 1: agent groups launched, after rumors others were chasing Millennium problems** [start; OpenAI's agents; id `f1`]
   - then About 100 agents solve the simpler unforced Euler case in roughly 50 hours
2. **About 100 agents solve the simpler unforced Euler case in roughly 50 hours** [task; OpenAI's agents; id `f2`]
   - then The same approach is scaled to Navier–Stokes: up to 10,000 agents at once
3. **The same approach is scaled to Navier–Stokes: up to 10,000 agents at once** [task; OpenAI's agents; id `f3`]
   - then Agents read papers, run code and message each other: millions of messages
4. **Agents read papers, run code and message each other: millions of messages** [task; OpenAI's agents; id `f4`]
   - then A conclusion 88 hours after launch
5. **A conclusion 88 hours after launch** [task; OpenAI's agents; id `f5`]
   - then Related human work appeared a day earlier. Was it influenced?
6. **Related human work appeared a day earlier. Was it influenced?** [decision; Mathematicians and reviewers; id `f6`]
   - if "OpenAI says no" go to OpenAI's own review finds no influence from recent prompts; if "Disputed" go to The authorship and data-use dispute is unresolved
7. **OpenAI's own review finds no influence from recent prompts** [end; Mathematicians and reviewers; id `f7`]
8. **The authorship and data-use dispute is unresolved** [end; Mathematicians and reviewers; id `f8`] ⚠ PAIN POINT (painful): Contested: the researchers who posted related work a day earlier question how the result was produced

```mermaid
flowchart LR
  subgraph l_agents["OpenAI's agents"]
    n_f1(["September 1: agent groups launched, after rumors others were chasing Millennium problems"])
    n_f2["About 100 agents solve the simpler unforced Euler case in roughly 50 hours"]
    n_f3["The same approach is scaled to Navier–Stokes: up to 10,000 agents at once"]
    n_f4["Agents read papers, run code and message each other: millions of messages"]
    n_f5["A conclusion 88 hours after launch"]
  end
  subgraph l_rev["Mathematicians and reviewers"]
    n_f6{"Related human work appeared a day earlier. Was it influenced?"}
    n_f7(["OpenAI's own review finds no influence from recent prompts"])
    n_f8(["The authorship and data-use dispute is unresolved"])
  end
  n_f1 --> n_f2
  n_f2 --> n_f3
  n_f3 --> n_f4
  n_f4 --> n_f5
  n_f5 --> n_f6
  n_f6 -->|"OpenAI says no"| n_f7
  n_f6 -->|"Disputed"| n_f8
```

### Keeping the force smooth (detail of step "Keep the force smooth by cancelling the errors")

Lanes:
- OpenAI's agents: person / role (id `agents`)
- The fluid: technology / system (id `fluid`)

Steps, in the order they run:

1. **Viscosity pushes back and tries to smear the thin core out** [start; The fluid; id `k1`]
   - then Add oscillating pulses and correction terms to cancel the troublesome errors
2. **Add oscillating pulses and correction terms to cancel the troublesome errors** [task; OpenAI's agents; id `k2`]
   - then Do the leftover errors stay controlled as the core keeps shrinking?
3. **Do the leftover errors stay controlled as the core keeps shrinking?** [decision; OpenAI's agents; id `k3`]
   - if "Yes" go to The force stays smooth even as the velocity blows up; if "No" go to Add another layer of correction
4. **The force stays smooth even as the velocity blows up** [end; OpenAI's agents; id `k4`]
5. **Add another layer of correction** [task; OpenAI's agents; id `k2a`]
   - then Add oscillating pulses and correction terms to cancel the troublesome errors

```mermaid
flowchart LR
  subgraph l_agents["OpenAI's agents"]
    n_k2["Add oscillating pulses and correction terms to cancel the troublesome errors"]
    n_k3{"Do the leftover errors stay controlled as the core keeps shrinking?"}
    n_k2a["Add another layer of correction"]
    n_k4(["The force stays smooth even as the velocity blows up"])
  end
  subgraph l_fluid["The fluid"]
    n_k1(["Viscosity pushes back and tries to smear the thin core out"])
  end
  n_k1 --> n_k2
  n_k2 --> n_k3
  n_k3 -->|"Yes"| n_k4
  n_k3 -->|"No"| n_k2a
  n_k2a --> n_k2
```

### Review (detail of step "Experts read the 166-page manuscript")

Lanes:
- Mathematicians and reviewers: person / role (id `rev`)
- OpenAI's agents: person / role (id `agents`)
- The Clay problem: technology / system (id `clay`)

Steps, in the order they run:

1. **Read the 166-page manuscript** [start; Mathematicians and reviewers; id `r1`]
   - then Check the estimates themselves, not just the Lean output
2. **Check the estimates themselves, not just the Lean output** [task; Mathematicians and reviewers; id `r2`]
   - then Found a gap?
3. **Found a gap?** [decision; Mathematicians and reviewers; id `r3`]
   - if "Yes" go to The authors fix it or withdraw the claim; if "No" go to Clay's rule: publication, then two years, then broad acceptance by experts
4. **The authors fix it or withdraw the claim** [task; OpenAI's agents; id `r4`]
   - then Read the 166-page manuscript
5. **Clay's rule: publication, then two years, then broad acceptance by experts** [end; The Clay problem; id `r5`]

```mermaid
flowchart LR
  subgraph l_rev["Mathematicians and reviewers"]
    n_r1(["Read the 166-page manuscript"])
    n_r2["Check the estimates themselves, not just the Lean output"]
    n_r3{"Found a gap?"}
  end
  subgraph l_agents["OpenAI's agents"]
    n_r4["The authors fix it or withdraw the claim"]
  end
  subgraph l_clay["The Clay problem"]
    n_r5(["Clay's rule: publication, then two years, then broad acceptance by experts"])
  end
  n_r1 --> n_r2
  n_r2 --> n_r3
  n_r3 -->|"Yes"| n_r4
  n_r3 -->|"No"| n_r5
  n_r4 --> n_r1
```

### The theorem (Theorem 1.1) (detail of step "State the result: a smooth force can make a fluid blow up")

Lanes:
- OpenAI's agents: person / role (id `agents`)
- The fluid: technology / system (id `fluid`)

Steps, in the order they run:

1. **Start with a fluid completely at rest** [start; OpenAI's agents; id `t1`]
   - then Apply a smooth force that is zero outside a bounded region of space and time
2. **Apply a smooth force that is zero outside a bounded region of space and time** [task; OpenAI's agents; id `t2`]
   - then The fluid follows the 3D Navier–Stokes equations, with any positive viscosity
3. **The fluid follows the 3D Navier–Stokes equations, with any positive viscosity** [task; The fluid; id `t3`]
   - then At some finite time T the velocity becomes unbounded
4. **At some finite time T the velocity becomes unbounded** [task; The fluid; id `t4`]
   - then Kinetic energy stays bounded the whole time
5. **Kinetic energy stays bounded the whole time** [task; The fluid; id `t5`]
   - then A gentle, finite-energy push is enough to break the equations
6. **A gentle, finite-energy push is enough to break the equations** [end; OpenAI's agents; id `t6`]

```mermaid
flowchart LR
  subgraph l_agents["OpenAI's agents"]
    n_t1(["Start with a fluid completely at rest"])
    n_t2["Apply a smooth force that is zero outside a bounded region of space and time"]
    n_t6(["A gentle, finite-energy push is enough to break the equations"])
  end
  subgraph l_fluid["The fluid"]
    n_t3["The fluid follows the 3D Navier–Stokes equations, with any positive viscosity"]
    n_t4["At some finite time T the velocity becomes unbounded"]
    n_t5["Kinetic energy stays bounded the whole time"]
  end
  n_t1 --> n_t2
  n_t2 --> n_t3
  n_t3 --> n_t4
  n_t4 --> n_t5
  n_t5 --> n_t6
```

### The contracting vortex (detail of step "Build the blow-up: a vortex that contracts")

Lanes:
- OpenAI's agents: person / role (id `agents`)
- The fluid: technology / system (id `fluid`)

Steps, in the order they run:

1. **Design a swirling core, described in stretched (anisotropic) similarity variables** [start; OpenAI's agents; id `c1`]
   - then The core contracts: its width shrinks faster than its length
2. **The core contracts: its width shrinks faster than its length** [task; The fluid; id `c2`]
   - then It becomes an ever thinner, faster-spinning tube
3. **It becomes an ever thinner, faster-spinning tube** [task; The fluid; id `c3`]
   - then Inside the tube the velocity climbs toward infinity
4. **Inside the tube the velocity climbs toward infinity** [task; The fluid; id `c4`]
   - then The blow-up is built, not found by luck
5. **The blow-up is built, not found by luck** [end; OpenAI's agents; id `c5`]

```mermaid
flowchart LR
  subgraph l_agents["OpenAI's agents"]
    n_c1(["Design a swirling core, described in stretched (anisotropic) similarity variables"])
    n_c5(["The blow-up is built, not found by luck"])
  end
  subgraph l_fluid["The fluid"]
    n_c2["The core contracts: its width shrinks faster than its length"]
    n_c3["It becomes an ever thinner, faster-spinning tube"]
    n_c4["Inside the tube the velocity climbs toward infinity"]
  end
  n_c1 --> n_c2
  n_c2 --> n_c3
  n_c3 --> n_c4
  n_c4 --> n_c5
```

## Full data (JSON)

```json
{
  "title": "OpenAI's Navier–Stokes claim: what the proof says (and what it doesn't)",
  "maps": {
    "m_lean": {
      "id": "m_lean",
      "lanes": [
        {
          "id": "agents",
          "name": "OpenAI's agents",
          "type": "person"
        },
        {
          "id": "lean",
          "name": "Lean proof checker",
          "type": "system"
        },
        {
          "id": "rev",
          "name": "Mathematicians and reviewers",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "l1",
          "kind": "start",
          "lane": "agents",
          "next": [
            {
              "to": "l2"
            }
          ],
          "uses": [],
          "label": "Agents write the argument as a formal Lean proof (about 17 more hours)"
        },
        {
          "id": "l2",
          "kind": "task",
          "lane": "lean",
          "next": [
            {
              "to": "l3"
            }
          ],
          "uses": [],
          "label": "Lean checks that every step follows from the one before"
        },
        {
          "id": "l3",
          "kind": "decision",
          "lane": "rev",
          "next": [
            {
              "to": "l4",
              "label": "Yes"
            },
            {
              "to": "l5",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Does the formal statement match the Clay problem as written?"
        },
        {
          "id": "l4",
          "kind": "task",
          "lane": "rev",
          "next": [
            {
              "to": "l6"
            }
          ],
          "uses": [],
          "label": "Then the formal proof is a real proof of that statement"
        },
        {
          "id": "l5",
          "kind": "task",
          "lane": "rev",
          "next": [
            {
              "to": "l6"
            }
          ],
          "uses": [],
          "label": "Lean proved a different statement than the one that matters"
        },
        {
          "id": "l6",
          "kind": "end",
          "lane": "rev",
          "next": [],
          "uses": [],
          "label": "Lean shows the logic holds, not why it holds, and not that the question was the right one"
        }
      ],
      "title": "The Lean check",
      "parent": {
        "map": "m_root",
        "step": "n11"
      }
    },
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "clay",
          "name": "The Clay problem",
          "type": "system"
        },
        {
          "id": "agents",
          "name": "OpenAI's agents",
          "type": "person"
        },
        {
          "id": "fluid",
          "name": "The fluid",
          "type": "system"
        },
        {
          "id": "lean",
          "name": "Lean proof checker",
          "type": "system"
        },
        {
          "id": "rev",
          "name": "Mathematicians and reviewers",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "n1",
          "kind": "start",
          "lane": "clay",
          "next": [
            {
              "to": "n2"
            }
          ],
          "uses": [],
          "label": "Clay asks: can a smooth 3D fluid flow break down in finite time?"
        },
        {
          "id": "n2",
          "kind": "decision",
          "lane": "clay",
          "next": [
            {
              "to": "n3",
              "label": "Unforced fluid (options A and B)"
            },
            {
              "to": "n4",
              "label": "Fluid pushed by a smooth force (options C and D)"
            }
          ],
          "uses": [],
          "label": "Which version of the problem?"
        },
        {
          "id": "n3",
          "kind": "end",
          "lane": "clay",
          "next": [],
          "pain": {
            "note": "The harder, unforced version stays open; whether forced results extend to it is unclear",
            "level": 1
          },
          "uses": [],
          "label": "Still unsolved. This proof does not cover it."
        },
        {
          "id": "n4",
          "kind": "subprocess",
          "lane": "agents",
          "next": [
            {
              "to": "n5"
            }
          ],
          "uses": [],
          "child": "m_found",
          "label": "How the agents got there"
        },
        {
          "id": "n5",
          "kind": "subprocess",
          "lane": "agents",
          "next": [
            {
              "to": "n6"
            }
          ],
          "uses": [],
          "child": "m_theorem",
          "label": "State the result: a smooth force can make a fluid blow up"
        },
        {
          "id": "n6",
          "kind": "subprocess",
          "lane": "agents",
          "next": [
            {
              "to": "n7"
            }
          ],
          "uses": [],
          "child": "m_construct",
          "label": "Build the blow-up: a vortex that contracts"
        },
        {
          "id": "n7",
          "kind": "subprocess",
          "lane": "agents",
          "next": [
            {
              "to": "n8"
            }
          ],
          "pain": {
            "note": "The central difficulty: controlling these cancellations while viscosity is present",
            "level": 3
          },
          "uses": [],
          "child": "m_cancel",
          "label": "Keep the force smooth by cancelling the errors"
        },
        {
          "id": "n8",
          "kind": "task",
          "lane": "fluid",
          "next": [
            {
              "to": "n9"
            }
          ],
          "uses": [],
          "label": "Velocity grows without bound at a finite time while energy stays finite"
        },
        {
          "id": "n9",
          "kind": "task",
          "lane": "agents",
          "next": [
            {
              "to": "n10"
            }
          ],
          "uses": [],
          "label": "It holds for every positive viscosity, not just an idealized fluid"
        },
        {
          "id": "n10",
          "kind": "task",
          "lane": "agents",
          "next": [
            {
              "to": "n11"
            }
          ],
          "uses": [],
          "label": "A periodic version too (Corollary 10.6)"
        },
        {
          "id": "n11",
          "kind": "subprocess",
          "lane": "lean",
          "next": [
            {
              "to": "n12"
            }
          ],
          "pain": {
            "note": "Unverified: the Lean review is self-assessed by OpenAI and hasn't been independently reproduced",
            "level": 2
          },
          "uses": [],
          "child": "m_lean",
          "label": "Translate the whole argument into Lean"
        },
        {
          "id": "n12",
          "kind": "subprocess",
          "lane": "rev",
          "next": [
            {
              "to": "n13"
            }
          ],
          "pain": {
            "note": "No independent peer review has finished yet",
            "level": 2
          },
          "uses": [],
          "child": "m_review",
          "label": "Experts read the 166-page manuscript"
        },
        {
          "id": "n13",
          "kind": "decision",
          "lane": "rev",
          "next": [
            {
              "to": "n14",
              "label": "Yes"
            },
            {
              "to": "n15",
              "label": "Not yet"
            }
          ],
          "uses": [],
          "label": "Independently verified and accepted?"
        },
        {
          "id": "n14",
          "kind": "end",
          "lane": "clay",
          "next": [],
          "uses": [],
          "label": "Clay's own process: publication, a two-year wait, broad acceptance"
        },
        {
          "id": "n15",
          "kind": "end",
          "lane": "rev",
          "next": [],
          "uses": [],
          "label": "Where things stand today: claimed, not yet independently verified"
        }
      ],
      "title": "OpenAI's Navier–Stokes claim: what the proof says (and what it doesn't)",
      "parent": null
    },
    "m_found": {
      "id": "m_found",
      "lanes": [
        {
          "id": "agents",
          "name": "OpenAI's agents",
          "type": "person"
        },
        {
          "id": "rev",
          "name": "Mathematicians and reviewers",
          "type": "person"
        }
      ],
      "steps": [
        {
          "id": "f1",
          "kind": "start",
          "lane": "agents",
          "next": [
            {
              "to": "f2"
            }
          ],
          "uses": [],
          "label": "September 1: agent groups launched, after rumors others were chasing Millennium problems"
        },
        {
          "id": "f2",
          "kind": "task",
          "lane": "agents",
          "next": [
            {
              "to": "f3"
            }
          ],
          "uses": [],
          "label": "About 100 agents solve the simpler unforced Euler case in roughly 50 hours"
        },
        {
          "id": "f3",
          "kind": "task",
          "lane": "agents",
          "next": [
            {
              "to": "f4"
            }
          ],
          "uses": [],
          "label": "The same approach is scaled to Navier–Stokes: up to 10,000 agents at once"
        },
        {
          "id": "f4",
          "kind": "task",
          "lane": "agents",
          "next": [
            {
              "to": "f5"
            }
          ],
          "uses": [],
          "label": "Agents read papers, run code and message each other: millions of messages"
        },
        {
          "id": "f5",
          "kind": "task",
          "lane": "agents",
          "next": [
            {
              "to": "f6"
            }
          ],
          "uses": [],
          "label": "A conclusion 88 hours after launch"
        },
        {
          "id": "f6",
          "kind": "decision",
          "lane": "rev",
          "next": [
            {
              "to": "f7",
              "label": "OpenAI says no"
            },
            {
              "to": "f8",
              "label": "Disputed"
            }
          ],
          "uses": [],
          "label": "Related human work appeared a day earlier. Was it influenced?"
        },
        {
          "id": "f7",
          "kind": "end",
          "lane": "rev",
          "next": [],
          "uses": [],
          "label": "OpenAI's own review finds no influence from recent prompts"
        },
        {
          "id": "f8",
          "kind": "end",
          "lane": "rev",
          "next": [],
          "pain": {
            "note": "Contested: the researchers who posted related work a day earlier question how the result was produced",
            "level": 2
          },
          "uses": [],
          "label": "The authorship and data-use dispute is unresolved"
        }
      ],
      "title": "How the agents got there",
      "parent": {
        "map": "m_root",
        "step": "n4"
      }
    },
    "m_cancel": {
      "id": "m_cancel",
      "lanes": [
        {
          "id": "agents",
          "name": "OpenAI's agents",
          "type": "person"
        },
        {
          "id": "fluid",
          "name": "The fluid",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "k1",
          "kind": "start",
          "lane": "fluid",
          "next": [
            {
              "to": "k2"
            }
          ],
          "uses": [],
          "label": "Viscosity pushes back and tries to smear the thin core out"
        },
        {
          "id": "k2",
          "kind": "task",
          "lane": "agents",
          "next": [
            {
              "to": "k3"
            }
          ],
          "uses": [],
          "label": "Add oscillating pulses and correction terms to cancel the troublesome errors"
        },
        {
          "id": "k3",
          "kind": "decision",
          "lane": "agents",
          "next": [
            {
              "to": "k4",
              "label": "Yes"
            },
            {
              "to": "k2a",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Do the leftover errors stay controlled as the core keeps shrinking?"
        },
        {
          "id": "k2a",
          "kind": "task",
          "lane": "agents",
          "next": [
            {
              "to": "k2"
            }
          ],
          "uses": [],
          "label": "Add another layer of correction"
        },
        {
          "id": "k4",
          "kind": "end",
          "lane": "agents",
          "next": [],
          "uses": [],
          "label": "The force stays smooth even as the velocity blows up"
        }
      ],
      "title": "Keeping the force smooth",
      "parent": {
        "map": "m_root",
        "step": "n7"
      }
    },
    "m_review": {
      "id": "m_review",
      "lanes": [
        {
          "id": "rev",
          "name": "Mathematicians and reviewers",
          "type": "person"
        },
        {
          "id": "agents",
          "name": "OpenAI's agents",
          "type": "person"
        },
        {
          "id": "clay",
          "name": "The Clay problem",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "r1",
          "kind": "start",
          "lane": "rev",
          "next": [
            {
              "to": "r2"
            }
          ],
          "uses": [],
          "label": "Read the 166-page manuscript"
        },
        {
          "id": "r2",
          "kind": "task",
          "lane": "rev",
          "next": [
            {
              "to": "r3"
            }
          ],
          "uses": [],
          "label": "Check the estimates themselves, not just the Lean output"
        },
        {
          "id": "r3",
          "kind": "decision",
          "lane": "rev",
          "next": [
            {
              "to": "r4",
              "label": "Yes"
            },
            {
              "to": "r5",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Found a gap?"
        },
        {
          "id": "r4",
          "kind": "task",
          "lane": "agents",
          "next": [
            {
              "to": "r1"
            }
          ],
          "uses": [],
          "label": "The authors fix it or withdraw the claim"
        },
        {
          "id": "r5",
          "kind": "end",
          "lane": "clay",
          "next": [],
          "uses": [],
          "label": "Clay's rule: publication, then two years, then broad acceptance by experts"
        }
      ],
      "title": "Review",
      "parent": {
        "map": "m_root",
        "step": "n12"
      }
    },
    "m_theorem": {
      "id": "m_theorem",
      "lanes": [
        {
          "id": "agents",
          "name": "OpenAI's agents",
          "type": "person"
        },
        {
          "id": "fluid",
          "name": "The fluid",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "t1",
          "kind": "start",
          "lane": "agents",
          "next": [
            {
              "to": "t2"
            }
          ],
          "uses": [],
          "label": "Start with a fluid completely at rest"
        },
        {
          "id": "t2",
          "kind": "task",
          "lane": "agents",
          "next": [
            {
              "to": "t3"
            }
          ],
          "uses": [],
          "label": "Apply a smooth force that is zero outside a bounded region of space and time"
        },
        {
          "id": "t3",
          "kind": "task",
          "lane": "fluid",
          "next": [
            {
              "to": "t4"
            }
          ],
          "uses": [],
          "label": "The fluid follows the 3D Navier–Stokes equations, with any positive viscosity"
        },
        {
          "id": "t4",
          "kind": "task",
          "lane": "fluid",
          "next": [
            {
              "to": "t5"
            }
          ],
          "uses": [],
          "label": "At some finite time T the velocity becomes unbounded"
        },
        {
          "id": "t5",
          "kind": "task",
          "lane": "fluid",
          "next": [
            {
              "to": "t6"
            }
          ],
          "uses": [],
          "label": "Kinetic energy stays bounded the whole time"
        },
        {
          "id": "t6",
          "kind": "end",
          "lane": "agents",
          "next": [],
          "uses": [],
          "label": "A gentle, finite-energy push is enough to break the equations"
        }
      ],
      "title": "The theorem (Theorem 1.1)",
      "parent": {
        "map": "m_root",
        "step": "n5"
      }
    },
    "m_construct": {
      "id": "m_construct",
      "lanes": [
        {
          "id": "agents",
          "name": "OpenAI's agents",
          "type": "person"
        },
        {
          "id": "fluid",
          "name": "The fluid",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "c1",
          "kind": "start",
          "lane": "agents",
          "next": [
            {
              "to": "c2"
            }
          ],
          "uses": [],
          "label": "Design a swirling core, described in stretched (anisotropic) similarity variables"
        },
        {
          "id": "c2",
          "kind": "task",
          "lane": "fluid",
          "next": [
            {
              "to": "c3"
            }
          ],
          "uses": [],
          "label": "The core contracts: its width shrinks faster than its length"
        },
        {
          "id": "c3",
          "kind": "task",
          "lane": "fluid",
          "next": [
            {
              "to": "c4"
            }
          ],
          "uses": [],
          "label": "It becomes an ever thinner, faster-spinning tube"
        },
        {
          "id": "c4",
          "kind": "task",
          "lane": "fluid",
          "next": [
            {
              "to": "c5"
            }
          ],
          "uses": [],
          "label": "Inside the tube the velocity climbs toward infinity"
        },
        {
          "id": "c5",
          "kind": "end",
          "lane": "agents",
          "next": [],
          "uses": [],
          "label": "The blow-up is built, not found by luck"
        }
      ],
      "title": "The contracting vortex",
      "parent": {
        "map": "m_root",
        "step": "n6"
      }
    }
  }
}
```
