The flight report
What was launched, what lit, and how far it got
The software behind the mathematics on this site is a family of models called TRINITY. The one that produced everything published here is the generic test model, build test_min_max_0, and its stage is pre-alpha — the reasoning for that word, rather than alpha, is on Methodology. What follows is the report from that build: what was aboard, what failed to light, how far it got on each problem, and where it is still wrong. It is written the way a test flight is written up, which means the failures are the content and not the footnotes.
The engines, and the one that did not light
Measured on 2026-10-05 by starting the system and recording what happened — not read off a list. There are 91 plugin files in the tree; 37 of them register through the domain mechanism and are what the loader actually tries to bring up. Of those, 36 lit and 1 did not, exposing 17 tools and 0 backends. The one that did not light fails at import, which means it never runs at all — not that it runs badly.
bsd_formula_completa — the PARI bindings it needs (cypari2) are not available in the measurement environment, and its computation has not yet been moved to a host that has them
One engine is off, and the reason is one library. PARI’s Python bindings (cypari2) are not available in the environment that runs these measurements, and until 23 September that switched off both engines that compute the global side of Birch and Swinnerton-Dyer. The rank engine now sends its PARI computation to a separate host that has the library, and keeps the answer — a fixed curve always has the same rank, so the result is worth remembering, and the engine starts even when that host is switched off. The one still off is the engine that predicts the order of Ш from the full BSD formula: its chain of PARI calls is longer and has not been moved yet, which is exactly why that row below stops where it stops.
The remaining files are not all dead weight and not all alive either: beyond the 37 registered, some are imported directly by other modules, and 22 are orphans that contain real logic and nothing references them. Eighteen more were identical empty stubs — fifteen lines each, a class, a status string, no functions — and those were deleted rather than counted.
10 problems, and the wall each one hit
The counts are the findings registry, the same data behind Challenges. The last column is the registry’s own statement of what is still missing, not a summary written to look tidy here.
Four of the nine are Millennium Prize problems. None of them is solved, and this table is how you can tell.
| Problem | P‑Lean | P | V | H | X | All | Where it stopped |
| The Riemann hypothesis Millennium |
6 | · | 8 | 1 | 4 | 19 |
Nothing left to measure. The family of power laws exists and the three observables return a verdict — and all three come out NO PATTERN, which is the correct answer rather than a failure. That M(n) has no exact closed form is the finding. |
| Birch and Swinnerton-Dyer Millennium |
9 | 5 | 16 | 6 | 8 | 44 |
The local arithmetic is measurable; the global side is not. The rank of E(Q) needs descent and the order of vanishing of L(E,s) at s=1 needs L-values and periods — both still require Pari/GP or Sage. This is the same missing tool that stops one of the engines above from lighting at all. |
| The Hodge conjecture Millennium |
11 | 2 | 22 | 5 | 2 | 42 |
The classical families have closed formulas and needed no computer algebra. What is missing is arbitrary varieties, where Macaulay2 or Singular really is required. |
| P vs NP Millennium |
· | · | · | 1 | · | 1 |
A structural obstruction, not a missing tool. Separating complexity classes is an asymptotic statement and no computation over finite n decides it. One hypothesis recorded, nothing else, and nothing else honestly available — this is what barely started looks like when you do not dress it up. |
| The Collatz conjecture |
· | 3 | 2 | 5 | 4 | 14 |
The same asymptotic barrier as P vs NP: enumerating classes does not prove the general statement. |
| Chess endgames, solved exactly |
· | · | 1 | · | · | 1 |
A finite, closed state space: there is no growing parameter to refute against. Solvable and verifiable, and not forgeable — which is why one line of registry covers 399,112 positions. |
| The evolution of cooperation |
· | · | 1 | · | · | 1 |
No growing parameter and no family of hypotheses: the tournament is finite and of fixed size. Replicable and verifiable, not forgeable. |
| Goldbach's conjecture |
· | · | 1 | · | · | 1 |
One verified result inside a declared range. Nothing further attempted. |
| Legendre's conjecture |
· | · | 1 | · | · | 1 |
One verified result inside a declared range. Nothing further attempted. |
| The site’s own cellular automaton, B37/S2378 |
· | · | 8 | · | · | 8 |
An exact census over a finite box: no growing parameter and no family of hypotheses, so the 2-adic forge does not apply. Replicable and verifiable, not forgeable. Two oscillators (periods 10 and 32) that Conway’s rule does not have, from 4×4 seeds, with Conway’s B3/S23 censused as the control. |
| Engineering and process log |
· | · | · | · | 27 | 27 |
Not mathematics: software faults (encoding, loaders, paths) and self-audits that caught overclaims before they reached a paper. Published so the record is complete, and kept out of every mathematical count on this site. |
What came out: 132 findings, and 18 of them are refutations
The whole registry by level.
| Level | Count | What it claims |
P-Lean | 26 | Proved, and accepted by Lean 4’s kernel |
|---|
P | 10 | Proved mathematically, proof written out |
|---|
V | 60 | Verified by exact computation, zero exceptions in a declared range |
|---|
H | 18 | Hypothesis or lead: observed, no verdict yet |
|---|
X | 18 | Refuted — kept so nobody tries it again |
18 of the mathematical findings are refutations, published with the same weight as the rest: a refutation costs the same compute as a confirmation and closes a road, so it is kept so that nobody — including us — walks down it again. The strongest level is a minority: 26 results carry Lean 4’s kernel, 20% of the mathematical findings, and the rest is weaker and says so. Separately, 27 entries are software faults and process self-audits found along the way; they are published in the registry as an engineering and process log and are not counted here.
The one that is still wrong, and has not been fixed
The Tian–Yuan–Zhang corollary module ran a mass cross-check over n = 1…500 and issued 163 verdicts, of which two contradicted OEIS A003273. The first, at n = 41, was a real bug in the discriminant routine and is fixed. The second, at n = 210, is not. There the corollary predicts “not congruent” while OEIS lists 210 as congruent, and the precondition is sound and unambiguous in that case — four prime factors, 2-rank 3, class number 8 — so the bug is not where the first one was. The most likely explanation is that the corollary’s conditions were transcribed from an image of a PDF and misread. It has not been re-read line by line against the source, for lack of time. The module carries “do not use yet” in its own docstring, written by us, on purpose, and it is loaded and shipped in that state rather than quietly disabled.
Language, and the number we do not have
Our own code only: mathlib, node_modules and Lake build output are excluded, because counting a borrowed library as ours would inflate the one number here that is easy to inflate. 240,975 lines in total — and read the three caveats under the table before quoting that figure.
| Language | Lines | Files | Share |
| Python | 153,439 | 993 | 63.7% |
|---|
| JavaScript | 30,838 | 133 | 12.8% |
|---|
| Lean 4 | 29,322 | 86 | 12.2% |
|---|
| HTML | 24,446 | 19 | 10.1% |
|---|
| Rust | 1,707 | 10 | 0.7% |
|---|
| CSS | 498 | 4 | 0.2% |
|---|
| Shell | 438 | 5 | 0.2% |
|---|
| SQL | 287 | 5 | 0.1% |
The mathematics is Python; the proofs that carry the strongest claim are Lean 4; the site you are reading is JavaScript on a Cloudflare Worker. Rust is 0.7% and is one component, not a rewrite.
What that line count is not. Three things, because a line count is the easiest number on this page to read as something it is not:
- It is not a measure of verified code. It counts everything in this repository at every level of verification — from results closed by Lean 4’s kernel down to exploratory work that is still a lead. The proportion that carries the strongest claim is in the registry above, not here: 26 of 132 findings.
- It is not all of the model. TRINITY is larger than what is counted here, and the parts of it that are not in this repository are not published and are not in this figure. A number that leaves things out is only honest if it says so.
- It includes dead weight. Earlier versions left a good deal of it — the plugin audit alone found 22 orphans with real logic that nothing references, and 18 identical empty stubs that were deleted outright. Lines that nothing calls still count as lines, which is exactly why line counts flatter whoever quotes them.
Compute time per problem: not recorded. This is the row a flight report is supposed to have and ours does not. The runs happened across months on developer machines without a per-problem accounting of processor time, so there is no honest figure to give and an estimate here would be worth less than the admission. What can be stated is the extent instead of the cost: every V result carries the exact range it was checked over — every one of the 399,112 KRK positions, 147 primes, n = 1…500, and so on — and those ranges are published per finding on Challenges. Recording processor time per run is a change to the harness, not to this page, and until that is done this row stays empty on purpose.