cert-machine · the claim that ℤ is Diophantine in ℚ

Defining the integers in the rationals: the finite parts decided, the theorem not

On 5 November 2026 Elliot Glazer, working with AI agents, claimed one polynomial with integer coefficients, in 292,890,231,905 variables, whose rational zeros pick out exactly the integers. If it is right, a conjecture of Mazur is false and Hilbert’s tenth problem over ℚ has a negative answer. Everything in the claim a machine can decide today was decided again here, with exact arithmetic and code that shares nothing with his. The theorem itself is undecided.

since these checks

Versions 3 and 4 appeared the same day

What changed. On 6 November the repository moved twice: to Version 3, a new manuscript with its collaborators named and a new, far smaller explicit polynomial (a quartic), then to Version 4, a smaller quartic still, each with its own package of checks. Neither quartic is checked here yet.

What still applies. Everything below was decided on the 5 November release. Two parts of it are the same bytes in the current repository: the original large construction and the whole Lean formalization, 86 of 88 files compared one by one, the two differences READMEs. The Lean README now says what the frozen target is: the statement for the original polynomial, not for the Version 4 quartic, which has no Lean statement yet. So the Lean replay, Track B and the bookkeeping of the original construction apply to the original polynomial as the repository holds it today (corpus/zq/version4-tree-check.json).

the story in one minute

What was claimed, and what I checked

The claim. Hilbert’s tenth problem asks for an algorithm that decides whether a polynomial equation with integer coefficients has a solution. Over the integers there is none (Matiyasevich, 1970); over the rationals the question is open. Glazer’s manuscript and repository, github.com/elliotglazer/diophantine-z-q, claim the step that would close it: a fixed polynomial whose rational solutions, read in their first coordinate, are exactly the integers. Then no algorithm can decide rational solvability either.

What is in the repository. The polynomial is not written out as a list of terms. It is saved as a recipe of templates that call one another, from which its size can be counted. The proof is a manuscript of arithmetic geometry resting on published theorems. In Lean, a program that checks proofs line by line, 48 helper modules are accepted, and the main statement is there, frozen, with its proof left as sorry: unproved.

What I did. With Claude agents, I wrote down, before any of my code ran on his data, what each check would decide and what would make it fail. Then I decided again, in four lanes and with code of my own, every part of the claim that is finite: the number of variables and the height of the expression; the tower bounds on the degree and the coefficients; his four finite test suites; and his 48 Lean modules, replayed in Lean’s kernel on a rented machine.

What came out. The bookkeeping holds. The polynomial has exactly 292,890,231,905 variables, counted two ways, and its expression height is 256, as stated. The bounds on degree and coefficients follow by exact arithmetic, but only from four named premises; an attempt to remove one of them by computation was refused, because it is not a computation. The statements his suites test hold on 671,659 cases of mine, and his Lean helpers check in the kernel with only the three standard axioms. Then the Lean gap: a proof of his frozen main statement from eight named hypotheses, written with Claude agents in claimbox, checks in the kernel here, and one of his premises, that the point P₀ has infinite order, is now proved outright.

What it means. None of this decides the theorem. It decides what a machine can decide about the claim today and names what it cannot: the deep results the proof rests on, now eight named Lean hypotheses instead of a sorry. The limits come first below, then each lane with its record.

what stays open

What this does not settle

the four lanes and track b

What was decided, lane by lane

laneverdictwhat it decidesrecord
1 · the count and the heightCERTIFIEDThe ambient variable count, 292,890,231,905 = 1 + 292,890,231,904 witnesses, derived twice from the structure of his saved definition (the largest slot used, and every object’s own slots times its invocations), the slots tiling exactly at every object. The root expression height 256 ≤ 256 under the manuscript’s rules. His bounds file agrees on all 63 rows; nine red controls, each seen.certs/zq-recount.json
2 · the tower boundsCERTIFIED
conditional on H1, H2, M, L1
deg P* < 2↑↑7 and every |coefficient| < 2↑↑8, by exact integer comparison over the constants of his saved definition with outward-rounded logarithms, from H1, H2, M and L1: 21 steps of the manuscript’s chain, each certified. Under the premises, log₂ log₂ log₂ of the degree bound is at most 8971; the claim needs less than 65,536.certs/zq-tower.json
2 · with no premiseREFUSEDThe same two bounds, unconditionally: without H1 and H2 nothing bounds the catalogue or the formal multiple from above.certs/zq-tower.json
H2 · removing a premiseREFUSED
its ingredients CERTIFIED
M0 ≤ Ns10, refused as not a computation. Its nine finite ingredients, all certified: P0 on the curve, the places of bad reduction, the exact reduction orders of P0 at all 95 places above the 65 odd primes up to 324, the dyadic valuations and the exponent bookkeeping. Lane 2 stays conditional on H2.certs/zq-h2.json
3 · the finite suitesMIXEDHis four suites re-derived clean-room from his prose and data, his checker code not read: the statements on 671,659 cases of mine, with 18 red controls; his own case sets replayed for one suite and refused for three (below).certs/zq-finite.json
4 · the Lean replayCERTIFIEDThe 48 accepted helper modules build and re-elaborate with kernel checking on. 990 declarations, his 704 and 286 private theorems, reach only propext, Quot.sound and Classical.choice, by two independent traversals. leanchecker, leanchecker-paranoid and leanchecker --fresh accept; nanoda accepts 47 of 48 modules. The frozen statement elaborates with exactly one sorry, and Mathlib’s hyperoperation 4 2 k = 2↑↑k is kernel-checked. Five planted wrong variants, each caught.certs/zq-lean-replay.json
B · the Lean gapCERTIFIED
conditional on eight hypotheses
His frozen statement, his file unchanged, follows in Lean from the eight named hypotheses M, H, PC, C, LT, CC, H1, H2: the kernel accepts the proof three ways, and the statement is checked against his file twice. Details below.certs/zq-trackb.json
B · P₀ has infinite orderCERTIFIEDThe first half of his generator proposition, proved in Lean (claimbox’s 2-adic proof), with the point and the curve the manuscript’s own, number for number.certs/zq-trackb.json
lane 3 · suiteits statements, on my caseshis own cases, replayedmy casesred controls
the integer compilerCERTIFIEDREFUSED670,9308
division polynomials over ℚ(√2)CERTIFIEDREFUSED6123
finite polynomial expressionsCERTIFIEDREFUSED744
the six-contact identitiesCERTIFIEDCERTIFIED433

CERTIFIED: decided by exact arithmetic or by the kernel, as pre-registered. REFUSED: not decidable from these bytes, with the reason written in the record. MIXED: within one lane, some parts certified and some refused, each named. A conditional certification names its premises, and decides none of them.

track b

The Lean gap: his statement from eight named hypotheses

The question. Lane 4 shows that his Lean helpers check and that the main statement is still sorry. Track B asks a narrower question than the theorem: can that frozen statement, his file unchanged, be proved in Lean from named hypotheses, so that what stays open is a list of stated results instead of a sorry?

The proof. claimbox, the claimant of this machine’s Lean proposals, proved it: from eight hypotheses, each a deep result or a premise of the manuscript entering unproved, his frozen statement follows. Claude agents wrote it there; claimbox and this page have one author.

What was decided here. CERTIFIED, as pre-registered. Lean’s kernel accepts the proof three ways, the last replaying every constant it rests on, core and Mathlib included, into an empty environment (34 minutes). My audit finds only the three standard axioms in all 271 of claimbox’s declarations. The statement is his, checked twice: a Lean module of mine states it by taking the type of his frozen theorem from his file, and is proved by claimbox’s theorem; and a syntactic check finds exactly the eight hypotheses followed by his statement. Seven planted wrong variants, a changed conclusion, an extra hypothesis, a circular one, a sorry, a new axiom, a proof that skipped the kernel and a changed byte, were each caught. Every second, independent checker stopped on a resource limit before reaching a verdict (nanoda on a big-integer overflow, as in lane 4; con-ron and con-leche as Lean ships them on their computation budget; both of their master branches on a stack overflow, also on a 128 GB machine), so the kernel replay rests on Lean’s own checker, as lane 4’s does. On the planted variants nanoda did reach a verdict, and refused each for its planted reason.

One premise is now proved. That his point P₀ = ((1641 − 1160s)/8, (−123720 + 87483s)/32) has infinite order on y² = x³ − d²x with d = 75 − 53s, over ℚ(s) with s² = 2: the first half of his generator proposition. claimbox proves it at the prime 2, the way the manuscript argues elsewhere; the kernel accepts it, CERTIFIED, and the point and the curve in the Lean statement are the manuscript’s, number for number (CERTIFIED).

The eight hypotheses, in the order the theorem takes them, each in my reading, with where the manuscript has it:

What it does not mean. It does not prove that ℤ is Diophantine in ℚ: the theorem now rests on these eight, as lane 2’s bounds rest on theirs. If any of them is false, the Lean theorem says nothing. The readings above are mine, not decisions; the record keeps each hypothesis as Lean prints it. The plan this answers is this repository’s gap map, corpus/zq/gap-map.json, which named seven of them; building the proof found two more inputs (LT and CC) and proved one (G).

check it yourself

How to check this yourself

contact

Write to Carlos

Sent by Web3Forms to Carlos’s inbox; nothing stored here.

Or write to carlos@carlostoledo.co, or open the public pilot form on GitHub.