T-194: Fitzharding reports a Lean proof that Wainwright's packing is optimal,
V0 C1 Optimality reviewed
Fitzharding reports a Lean 4 proof that Wainwright's 1979 packing of nineteen unit squares is optimal: + (4/3)√2 = 4.885618083164126731735584965612…. Its theorem, Sq19.square19_optimality (L : ℝ) : Feasible19 L ↔ 3 + 4 * Real.sqrt 2 / 3 ≤ L, says that nineteen closed unit squares, each independently translated and rotated, with pairwise disjoint interiors, fit in the axis-aligned square [0, L]^2 exactly when L is at least that side; existence at the side is part of it, so the minimum is attained. The side is the case's exact upper bound, 3 + (4/3)sqrt(2).
Its trust boundary, as the source states it: the geometric soundness arguments are checked by Lean's kernel, and 4,320 finite certificate facts are decided by native_decide, so Lean's compiler, native evaluator and the C toolchain are trusted, with the standard axioms propext, Classical.choice and Quot.sound and no sorryAx. The source reports a kernel replay of the theorem's 13,143-module import closure with no failure, which takes the native facts as axioms, and says that a complete rebuild from its published sources has not yet been run. Nothing here has built it.
A mathematical review of 16 October, by an AI lane prompted separately and reading the source as data, found no blocking or major defect: it read the statement, the endpoint, the six-step chain to the final theorem and the trust boundary, decided the endpoint packing exactly, and with programs of its own re-established the property each of the 2,328 native facts whose modules are in the Git tree certifies; the 1,992 facts in the release archives, mostly half-plane propagation traces, were scanned but not re-run.
Fitzharding, sq19, release v1.0.0 of 16 October 2026, announced on X the same day. Its README says it builds on his formalization (T-154), whose checker modules it compiles from sq17-lean v1.0.0, and thanks the Squares Project and Ahmed; issue 640 also credits Wainwright's construction. It says it was "Developed with substantial assistance from Claude and Codex".
Significance, composition and next rung
- Significance
- Scored as a claim, as T-153 and T-154 were while unverified, by the rubric's anchor, movement on a central open case: is one of the five open cases below (12, 17, 18, 19 and 20), and the claim settles it exactly at Wainwright's 1979 side, closing the 0.0606 gap between the verified floor 193/40 and the ceiling, in a proof assistant with a stated trust boundary. It is the first optimality claim the record holds at 19. Significance is separate from whether the proof is correct; the conservative reading is the same, since nothing less than the case's value is claimed. The review of 16 October found no reason to change it. Proposed for the owner's confirmation.
- Composition
- One cited entry, the source's report (E-n019-fitzharding-lean-report), which claims the exact value and carries the review of 16 October as its external_review; it sets both rungs. The upper half, a packing at side 3 + 4√2/3, is proved in the Lean by endpoint_packing, in a file with no native_decide; it is the packing E-lifted-q2-upper holds, V3/C3 here and independent of the source. That entry is not cited, since citing it would make this result hold the case's verified upper bound in its place. The lower half rests on the Lean build and its 4,320 native_decide facts, and the only record of that build is the source's own.
The review's own programs decided the endpoint packing, the cover and census, the nine region facts' property, the twelve capture-link facts, the endgame's property over all 4,096 cases, and the archives' custody, each in full for what it covers (E-n019-fitzharding-endpoint-review, -cover-census-review, -region-review, -capture-link-review, -endgame-review and -archives-review). They are evidence on n-019's case record and are not cited here: none is a build of the proof, and each decides a part, so citing them would make the checker derive a rung from parts (epistemics.md, Every Run's Code Is Kept).
By epistemics.md's predicates: V3 needs proof-assistant-checked evidence with a certificate, a replay command and a passing replay, and no build of the proof is retained here, so the result stands at V0, declared with the notes; no numerical method (V1) or unavailable proof (V2) fits. C1's predicate holds: a qualifying, dated read with its reviewer and note. C3 would need that build with a confirming origin. - Next rung
- V3 and C3 need a complete build of the theorem's import closure that the record can rest on, with its axiom receipt: the source's scripts/fetch.sh and scripts/verify.py from the retained pin and the five release archives at Lean 4.34.1, here or by a third party whose build is retained here (think-nqnl). That would be reproduction with the producer's code.
It is held: the source gives several hours on a 64-core, 512 GB machine, above the pass's 40 CPU-hour cap and this host. A cheaper subset decides parts and moves no rung: a build of the existence half, EndpointPacking, with its axioms printed; the five archives' digests against SHA256SUMS, which fetch.sh checks, the review has already decided (E-n019-fitzharding-archives-review).
V4 and C4 need, on top of V3 and C3, two accepting adversarial AI reviews by distinct reviewers, of which the review of 16 October is one, and the owner's oversight record naming trust-boundary, certificate-meaning and ai-findings, which would disposition its seven findings, none blocking. V5 needs a formalization review by a named human expert who is not the author. - Unfinished confirmations
- C3 (think-nqnl): the source's complete build of the theorem's import closure, from the retained pin and the five v1.0.0 archives with Lean 4.34.1 and the Mathlib v4.34.1 cache, accepted only with the axiom set of verification/Square19Optimality.log, run here or by a third party whose build is retained here. About 290 CPU-hours, up to about 420 (priced 2026-10-16).
- Novelty
- previously-published Present in an identified source
The case
Results on the case
14 results in the register on , oldest first, each with what it established and how it stands now.
2005 published T-007
for
V0 C1 Lower bound incomplete on this case, superseded by T-103
2026-08-21 published T-016
for , by monotonicity from T-015
V3 C3 Lower bound confirmed superseded by T-103
Massaccesi after Burns · Burns–Massaccesi n17 · packet · register
2026-09-04 established T-019
for
V3 C3 Lower bound confirmed superseded by T-103
Levy after Burns, Massaccesi · register
2026-09-04 established T-020
for
V3 C3 Lower bound confirmed superseded by T-103
Levy after Burns, Massaccesi · register
2026-09-04 published T-085
Nagamochi 2005, Lemma 1 is false for every container with and
V3 C3 Correction confirmed
Karakuş; Vlasenko · Karakuş 2026 · chelokot Nagamochi counterexample 2026 · packet · register
2026-09-27 published T-045
Rectangle-density lower bounds replayed at 15 counts in
V3 C3 Lower bound confirmed superseded by T-103
Hosono after Tokoharu, Levy, Stromquist, Nagamochi, Burns, Massaccesi · wand125 rectangle bounds 2026 · packet · packet · source · review · register
2026-09-27 published T-046
Rectangle-density lower bounds reported for 48 counts in
V0 C0 Lower bound recorded superseded by T-103
Hosono after Tokoharu, Levy, Stromquist, Nagamochi, Burns, Massaccesi · wand125 rectangle bounds 2026 · wand125 rectangle bounds 2026-09-28 · packet · packet · register
2026-09-29 published T-058
Rectangle-certificate ceiling
α·UB(n)proved for ..100;B·UB(n)on 64 grid rowsV3 C3 Method limit confirmed
Hosono after Tokoharu, Daniel · wand125 tools 2026 · packet · register
2026-09-29 published T-083
for every nonsquare
V3 C3 Lower bound confirmed on this case, superseded by T-103
Karakuş · Karakuş 2026 · source · register
2026-10-01 published T-068
Rectangle-density lower bounds verified at 34 counts in
V3 C3 Lower bound confirmed on this case, superseded by T-103
Hosono after Tokoharu, Levy, Stromquist, Nagamochi, Burns, Massaccesi · wand125 rectangle bounds 2026-10-01 · packet · source · review · register
2026-10-01 published T-074
Rectangle-density lower bounds replayed at 31 counts in
V3 C3 Lower bound confirmed on this case, superseded by T-103
Hosono after Tokoharu, Levy, Stromquist, Nagamochi, Burns, Massaccesi · wand125 rectangle bounds 2026-10-01 · packet · packet · source · review · register
2026-10-06 published T-100
Mixed rectangle-measure lower bound verified at , past the best 18-square packing
V3 C3 Lower bound confirmed superseded by T-103
Hosono after Tokoharu, Levy, Stromquist, Nagamochi, Burns, Massaccesi · wand125 mixed bounds finer net 2026-10-06 · packet · source · review · register
2026-10-06 published T-103
Mixed rectangle-measure lower bound verified at , on the finest declared net yet
V3 C3 Lower bound confirmed
Hosono after Tokoharu, Levy, Stromquist, Nagamochi, Burns, Massaccesi · wand125 mixed bounds check2 2026-10-06 · packet · source · review · register
2026-10-16 published T-194 this result
Fitzharding reports a Lean proof that Wainwright's packing is optimal,
V0 C1 Optimality reviewed
Fitzharding after Levy, Ahmed · Fitzharding n19 Lean 2026 · packet · source · review · register
Links
- On this site
- Case record, · Frontier row, · T-194 in the results table
On GitHub, at main
- Register
- T-194 in
results.yaml, line 27170 - Evidence
E-n019-fitzharding-lean-report- Proofs and certificates
- certificate
Optimality.lean· proofOptimality.lean· auditreview-2026-10-16-fitzharding-n19-lean.md· axiomsSquare19Optimality.log.gz - Sources
- Fitzharding n19 Lean 2026 (its own site, retained copy)
- Source packet
resources/web/fitzharding-n19-lean-2026-10-16/README.md- Artifacts
10 artifacts and controls
resources/web/fitzharding-n19-lean-2026-10-16/README.mdresources/web/fitzharding-n19-lean-2026-10-16/sq19/Sq19Lean/Assembly/Optimality.leanresources/web/fitzharding-n19-lean-2026-10-16/sq19/Sq19Lean/Assembly/PlainPacking.leanresources/web/fitzharding-n19-lean-2026-10-16/sq19/Sq19Lean/SquareBase.leanresources/web/fitzharding-n19-lean-2026-10-16/sq19/Sq19Lean/Basic.leanresources/web/fitzharding-n19-lean-2026-10-16/sq19/Sq19Lean/EndpointPacking.leanresources/web/fitzharding-n19-lean-2026-10-16/sq19/verification/Square19Optimality.log.gzresources/web/fitzharding-n19-lean-2026-10-16/sq19/verification/kernel-replay.jsonresources/web/fitzharding-n19-lean-2026-10-16/review/README.mddocs/project/reviews/review-2026-10-16-fitzharding-n19-lean.md- Case file
frontier/n-019.md(verified lower, verified upper, reported lower, reported upper)