2,327 prizes / 14 systems on one ladder / one missing operation
More often it is a decision that the data was about something else. Lorentz and Einstein predicted the same numbers; Einstein’s theory dropped an aether velocity no measurement could reach. Automated discovery has no operation for that move. Our goal is a machine that spots such a gap by itself and has the aha moment — producing the new idea, instead of waiting for a physicist to hand it one. What follows is a first attempt at a single one of those moves, made mechanical and tested on real physics.
The gap
We annotated 2,327 scientific prizes by what the contribution did rather than by how it was cited. Restricting to the ten physics prizes gives 532 events, and the contrast with science at large is why this work is about physics.
| of awarded work… | all fields | physics |
|---|---|---|
| changed how the phenomenon is described | 45% | 65% |
| brought new facts or new reach instead, and reframed nothing | 53% | 33% |
| and of the reframing, the part that is only fitting — the one move machine learning can make 131/1,041 vs 42/542 | 13% | 8% |
L0 is not the shallow end — a Fields Medal can sit there. It is simply the only rung for which machine learning has an operation.
The ladder
Examples are Dirac Medals, read against what the citation actually says.
What automated discovery does today
Each system is placed on the ladder above by the operation it exposes, not by the significance of its results. The claim is about published operations, never about limits in principle.
| system | what it does | rung | why not higher |
|---|---|---|---|
| BACON 1981 | rediscovers laws from tabulated data | L0 | searches within a fixed term language |
| Eureqa 2009 | symbolic regression on motion data | L0 | the operator set is given in advance |
| AI Feynman 2020 | physics-informed symbolic regression | L0 | recovers known forms; invents no term |
| PySR 2023 | evolutionary symbolic regression | L0 | fixed primitive set |
| LaSR 2024 | symbolic regression, learned library | L0/L2 | abstractions are shortcuts, not retypings |
| DreamCoder 2021 | wake–sleep library learning | L2 | names reusable structure; no theory to reinterpret |
| FunSearch 2024 | LLM program search vs an evaluator | L0 | searches programs in a fixed language |
| AlphaGeometry 2024 | olympiad geometry by synthesis | L0 | derives inside a fixed axiom set |
| Robot Scientist 2004 | hypotheses tested by a robot | L0 + facts | chooses experiments; the ontology is fixed |
| Coscientist 2023 | runs chemistry autonomously | instruments | extends reach; no description changes |
| AI Scientist 2024 | end-to-end ML papers | L0 | searches a fixed hypothesis space |
| AlphaFold 2021 | protein structure prediction | tractability | makes computable; does not reframe |
| Cascade-Correlation 1990 | grows hidden units as needed | L0 | capacity, not concepts |
| predicate invention ILP | invents relations in logic programs | L4* | *still open after three decades |
Nothing performs L1. No system takes a theory that already fits and returns a theory that fits identically while carrying less — the Lorentz-to-Einstein move. And a language model does not close it: on five episodes it scored 87% when it could recognise them and 48%, chance, when the names were stripped out. It recalls; it does not judge.
So we tried to build one
That is the question the rest of this page is about. A move you can only recognise in hindsight, in prose, is not something you can automate. So the first job is to turn “Einstein’s theory carried less than Lorentz’s” into a quantity you can compute from a theory and its data, before anyone knows who was right.
One extra question separates them, and it is about locality: can you apply the change at each point independently, or only to the whole universe at once?
L1
L4
One test, two discovery moves. The second is the more productive of the pair: a distinction no instrument can see, but only when you move it everywhere at once, is a conservation law. Our implementation now refuses to delete anything at all when it has no way to run that locality test, rather than guess.
One piece is still missing. This machinery can only ever reject candidates — something has to propose them, and it can only find structure inside the vocabulary it was handed. That is the job we give the language model, and only that job: it generates, it never decides. Its own scorecard is the reason — 87% when it recognised the episode, 48% when the names were stripped.
The same shape — one obvious test, plus a second that makes the answer pay — turns out to fit three further rungs.
| rung | the operation | and it must also… |
|---|---|---|
L2 coarse-grain | find a level where the description predicts its own future | still carry the fine measurements |
L3 transfer | map one domain onto another so the measurements agree | hand the target a claim it can refute |
L4 posit | name what would close a ledger that will not balance | exceed the systematic error, not just the noise |
L4 consumes what L1 produces: the symmetry branch finds conserved charges, and L4 uses one — when a found charge fails to balance, the missing amount describes something not yet named. That is Pauli's move, and it recovers a hidden quantity to under 1%.
What building four of them showed
Each operation was designed with a natural acceptance test. In three of the four that test turned out to accept answers that are empty; the fourth fails in the opposite direction. We did not design this pattern in — it showed up three times independently.
| the test you would write first | how it fails | |
|---|---|---|
L1 | remove what no measurement can see | destroys conservation laws |
L2 | the coarse variables predict themselves | 2 of 3 empty answers pass |
L3 | the two structures match | control passes 2 of 6 held out (5 of 6 in sample) |
L4 | the imbalance is statistically significant | fires below the calibration error |
The clearest case is coarse-graining. A reduction that throws away everything predicts its own future perfectly — there is nothing left to predict. So does one that keeps only the fastest-decaying parts, which all decay to zero: a description of nothing, evolving correctly. Both satisfy the first test. Only the second refuses them.
Corrected 31 Aug 2026. An earlier version of this page reported the 5-of-6 figure without saying it was measured in sample. A reviewer asked; re-scoring on held-out states gives 2 of 6. The finding stands in weaker form and the shipped code now scores it held out.
The same lesson turned on us. Our own second guard was wrong three times — built on features that could not represent the measurements, then overfitted to a perfect in-sample score on 62 samples, then swamped by scale differences. Every one was caught by an invariant, never by a number that looked wrong. The version we kept must score exactly 1.000 when the reduction keeps everything. It does.
Does it work?
Taking them out of order is how you fool yourself. So: first controls that cannot pass by accident, then a real physical system, then a live scientific dispute where nobody knows the answer.
First — does the code do what it says?
Twenty-one checks on cases where we put the answer in ourselves. It has to find hidden slack and delete it without changing any prediction; it has to leave an honest theory alone; and it has to refuse a patch whose new part moves no prediction — the property that stops “just add a parameter” from being free. 21 of 21 pass. This proves the code works, not that the idea is right.
Then — real physics, with nothing given away
A lattice field theory: a small grid carrying a quantum field with two flavours, of the kind used to study the strong force. It has both a genuine redundancy and genuine symmetries, and physicists know which is which — but we tell the machine nothing. It gets eight candidate transformations, most of which are not invariances at all, and has to sort them out for itself.
| step | what it does | what came out |
|---|---|---|
| 1 | looks for changes that move no measurement | finds 5; correctly throws out the other 3 |
| 2 | asks the locality question of each one | separates 1 piece of slack from 4 symmetries |
| 3 | reads a conserved quantity off each symmetry | 4 conserved charges |
| 4 | runs the system forward in time to check them | they hold to 1 part in 10 billion |
The one it deleted was the gauge redundancy. The four it kept were the flavour symmetries — and their conserved quantities really are conserved: they drift by about a part in ten billion, which is the accuracy of the simulation itself. The piece it deleted has no such conserved quantity, and the corresponding number drifts by 86%. Nine orders of magnitude separate the two branches, which is what tells you the sort is real and not a relabelling.
Then — can the language model find the missing piece?
Two worlds. In one, the data really is hiding a missing ingredient. In the other, the leftovers are pure noise and there is genuinely nothing to find. The model is not told which is which.
| world | what is actually there | it proposed | survived the test |
|---|---|---|---|
| A | a real missing ingredient | 8 | 2–3 |
| B | nothing at all — just noise | 8 | 0 |
It proposes eight ideas either way, with the same confidence. The measurement is the only thing that tells the two worlds apart — which is exactly the division of labour we wanted, and exactly why the model is never allowed to be the judge.
Handed the true answer directly, the test recognises it easily — 97% against 20% for the wrong ones. So the weak link here is the proposer, not the test: the model kept suggesting near-misses and never once suggested the right one, even though the leftover signal was a clean wave.
Finally — a real dispute, where nobody knows the answer
Galaxy rotation curves: stars at the edge of a galaxy orbit far faster than the visible matter can explain. Two rival explanations have argued about this for forty years — invisible dark matter, or a modification to gravity itself. We pointed the machinery at real measurements of the galaxy NGC 3198 and asked which explanation carries something unmeasurable.
| explanation | adjustable parts | fit quality | unmeasurable content |
|---|---|---|---|
| dark matter halo | 3 | 1.22 | none |
| modified gravity, fixed scale | 1 | 9.21 | none |
| modified gravity, free scale | 2 | 1.78 | none |
The answer is that it has nothing to say, and that is the useful result. Neither side is hiding anything unmeasurable. And the reason is worth understanding: our test compares two theories that agree on the data and asks which one carries dead weight. These two disagree on the data — one fits far better than the other. When theories disagree, you do not need any of this; you just compare them the ordinary way. The operation covers a narrower class of arguments than we assumed when we built it, and finding that out cost one real controversy.
Fourth — does any of it hold outside our own code?
Everything above was measured on systems we built, which is the obvious objection. So we ran the same two tests, with the thresholds imported unchanged, on 129 chaotic systems from a public benchmark we had nothing to do with. The reduction that throws away everything satisfies the first test on 96% of them, at a closure error of exactly zero. The second test refuses it on all 129.
A test that refuses everything would be no better, so we also built a suite where the right answer is fixed by construction rather than by the test. There the pair accepts all 24 reductions we know are present and none of the 72 empty ones — while the first test alone still accepts 47 of those 72. Handed the proposer's estimate of the right answer rather than the answer itself it accepts 0.71, so that shortfall is the proposer and not the test. It is not forgiving: tilt a correct reduction by 0.03–0.08 radians and it is refused.
And because the problem is about acceptance tests rather than about physics, we ran the same pair on two interpretability methods. Fitting an alignment between two language models on eight stimuli and scoring its R² in sample accepts 80% of the empty candidates. More data fixes that half of the test: held out on every position, R² alone accepts 10%. It does not fix the other half. Linear CKA gives a genuine correspondence and that same map composed with a random rotation the same score, because it never looks at the map being claimed, so the alignment test still accepts 60% of the empty candidates held out, and 80% on ESM-2 protein language models. Adding a causal test that perturbs one position and carries the change across refuses every empty candidate in every configuration while accepting the ones we know are real. On sparse-autoencoder features the correlational test refuses every empty control, yet of the features it calls interpretable an intervention supports 0.45, against 0.005 for matched controls. Where that intervention's own positive control is valid, it detects 0.90 of directions built to be causal. Passing the empty-input check is necessary, not sufficient.
Our own second test needed the same medicine. An early version preferred a vacuous candidate to the real one, 0.70 against 0.39, because overwriting the whole residual stream pushes both models toward the same common words. Localising the intervention removed that. We only found it by running the null.
Where this stops
Everything above buys new concepts with observations: something is invisible to your instruments, so you act on it. That is one honest route to discovery. To find out how far it goes, we walked it through eight moments when the Standard Model of particle physics gained a genuinely new concept.
In four cases there was no measurement involved at all. The new particle was demanded by an internal contradiction — the theory as written was simply not allowed to exist — and the experiment confirming it arrived years or decades later.
And the missing ingredient is not more data, or a cleverer search. You can only prove things about a theory if the machine has the theory in a form it can reason about — and no discovery system we know of carries one. That, rather than the difficulty of reinterpretation, is what actually bounds automated physics discovery today. It is also the most interesting open problem here.
The easy version of this shortcut is already dead. Guessing at new concepts from things that merely look wrong in a description was tested on three different problems and lost on all three. The difference is grade, not kind: a suspicious-looking description is a hint, whereas a proof says a thing is forbidden or it is not.
What you get
Every number on this page is recomputed from the shipped data by
scripts/summary.py, which exits non-zero if any published figure fails to
reproduce. Run it before you trust us.
# all 30 published corpus statistics, recomputed from the data
python3 scripts/summary.py
# the mechanism
cd mechanism
python3 test_mechanism.py # the 21 controls
python3 discover_symmetry.py # L1: finds 5, sorts 1 from 4, emits 4 charges
python3 l2_slowfast.py # L2: finds a level, refuses 3/3 empty ones
python3 l3_transfer.py # L3: accepts the real one, refuses the control
python3 l4_posit.py # L4: names the missing carrier
python3 live_rotation_curve.py # where it goes quiet on a real controversy
| file | rows | what it is |
|---|---|---|
data/prizes.sqlite | — | everything below, indexed, in one file |
data/awards.csv | 2,327 | prize, year, laureate, official citation, source |
data/classifications.csv | 1,547 | mode, depth, operators, evidence grade, justification |
data/papers.csv | 15,693 | laureate → paper links |
data/documents_index.csv | 4,044 | document type and source URL — text not shipped |
mechanism/ | — | all four operations, their controls, and every negative result |
Read this before using any of it
An earlier version was changed eight times, each time after it gave a verdict we knew was wrong. That is why the results here rest on a lattice system with an independently known answer, and on a controversy with no known answer at all.
“Any improvement counts” let two near-misses through at 20–22% against a baseline of 18%. It ranks candidates correctly but needs a margin, not a bare improvement.
Changes to a description get a six-rung ladder; changes to the facts get two flat categories. A scheme that graded every column the same way would be cleaner. We did not build one.
Prizes are awarded with decades of hindsight, so the corpus samples work that turned out to matter, and the citations justify a decision already taken.
Join us
Everything above is one group’s attempt at a problem that will need many. We would rather be corrected early than cited late, so the data, the code and both negative results are public and the failures are documented as carefully as the successes. Volunteers are welcome at any level — physicists, historians of science, machine-learning researchers, or anyone who just wants to argue with a label.
We cannot tell from the inside whether our scheme is reproducible or whether it simply records one system’s habits. Only someone else applying it can settle that.
There is now a kit for exactly this, in
corpus/reannotation/. It takes about an hour, needs no physics background beyond
reading a prize citation, and runs nothing else of ours.
python3 make_sample.py draws 120 events with our labels withheld.python3 score.py reports Cohen’s kappa against our labels. We publish
the figure whatever it says — a low one tells us the ladder needs
re-cutting, which is worth more to us than a confirmation.Ours kept suggesting near-misses and never found the right answer. The test is fine; the thing feeding it is the bottleneck.
Four of eight Standard Model concepts were bought by proof, not measurement. Give a machine a theory it can reason about formally and that boundary moves.
Find a case where it confidently gives the wrong answer. We will publish it. That is worth more to us than another case where it works.
Biology and the earth sciences are thinner than physics and mathematics, and some records are simply wrong. Small, concrete, and it makes everything else trustworthier.