Take a k × k grid of unit squares and remove four. For every k ≥ 5 we believe nothing smaller than side k holds the remaining k² − 4: s(k² − 4) = k. That is the deficit-4 case of Friedman's Conjecture 1. From k = 8 up the proof is the k² − 3 method with a wider band, checked once in the 9 × 9 box; k = 5, 6, 7 are separate results.
Status. Working in public. For k ≥ 8: an exact certificate, made by the same checker code as the k² − 3 certificate, this run adversarially reviewed by three agents with no errors found; the tilted squares of the 9 × 9 box have since been re-checked by wand125's separately written exact checker (6 Oct 2026), which jlevy/squares has reviewed and records as reported evidence, not yet as a verification. In Lean everything except those tilted squares is kernel-checked. Not yet externally reviewed or fully formalised. The evidence differs by k (§01).
The grid gives s(k² − 4) ≤ k; the work is the other direction. For k ≥ 8 it is done for all k at once.
Theorem. For every integer k ≥ 8 there is a mass distribution μ_k on [0,k]², made of mass spread evenly along short segments of the 1/5-grid near the walls and area density 1 on [14/5, k − 14/5]², of total mass k² − 4D with D = 214770225571 / (2·10¹¹), such that every closed unit square inside [0,k]², at every position and every angle, captures mass at least 1.
k² − 4.295405 < k² − 4
If k² − 4 unit squares fit in a square of side s < k, spreading their centres by k/s gives that many pairwise disjoint closed unit squares in [0,k]², each capturing at least 1, more than the k² − 4.295 there is. The argument is the one on the k² − 3 page.
How much each case rests on:
| k | n = k² − 4 | proof and its checking |
|---|---|---|
| 5 | 21 | s(21) = 5 (2026-09-27): two separately written exact checkers; a Lean theorem conditional on their covering statement |
| 6 | 32 | s(32) = 6 (2026-09-26): two exact checkers, and kernel-checked in Lean with no hypothesis |
| 7 | 45 | s(45) = 7 (2026-09-27): two separately written exact checkers; no Lean |
| 8 | 60 | this family; also s(60) = 8 (2026-09-28, two exact checkers, no Lean) |
| 9 | 77 | this family; also wand125, 2026-10-01, the first proof: a band inserted into our s(60) cover, certified with our two checkers (jlevy/squares#279; not replayed here) |
| ≥ 10 | 96, 117, … | this family only, 2026-10-03 |
For k ≥ 8: our exact checker, the reviewed k² − 3 code, certifies the 9 × 9 box, and wand125's separately written one re-checks its tilted squares (§04); Lean carries that to every k (§05). Nothing here is peer reviewed.
Friedman's survey conjectured that s(n² − c) = n implies s((n+1)² − c) = n + 1 (Conjecture 1). For c = 4 the conclusion now holds for every n that matters: at n = 3 the hypothesis fails (s(5) = 2 + 1/√2 < 3), at n = 4 the conclusion s(21) = 5 holds, and from there s(k² − 4) = k for every k ≥ 5. So the deficit-4 case of Conjecture 1 holds whatever the still open s(12) turns out to be.
As far as we know, no exact value of s(k² − 4) for any k ≥ 4 was known before September 2026. This project proved s(32) = 6 (26 September), s(21) = 5 and s(45) = 7 (27 September) and s(60) = 8 (28 September), one box at a time. wand125 proved s(77) = 9 first, on 1 October, by inserting a band into our s(60) cover and checking it with our checkers. The cases k ≥ 10, and k = 9 by a second route, are new here. Since s never decreases, this also re-derives s(k² − 3) = k for k ≥ 5.
The measure has the three parts of the k² − 3 family, on the 1/5-grid with no weighted points, now with corner size and band width 3:
Why one box is enough. As for k² − 3: the band carries exactly its own area per period, so all the saving sits at the corners, and a unit square, less than 2 wide at any angle, can be shifted by whole units along each axis into [0,9] without changing what it captures. With corner size R = 3 this works for every k ≥ 2R + 2 = 8 (the k² − 3 family, with R = 2, used the 7 × 7 box).
Zero margin. The wall squares, and many limits as the tilt goes to zero with the square's edges on grid lines, capture exactly 1. Away from those, the linear program that chose the masses demanded growth in proportion to the tilt (factor 0.08 up to 3°). The float optimum without that demand is about 1.13 per corner; the exact family keeps 1.0739, so 0.074 per corner above the 1 needed.
The claim, Valid9: every closed unit square in [0,9]² captures mass at least 1 under μ₉. By the square's symmetries it is enough to take centres in [0, 9/2]² and tilts up to 45°.
At zero tilt all 1,600 one-sided corner limits were computed exactly: minimum exactly 1, reached at 208. This step is also kernel-checked in Lean over the whole box (§05).
At positive tilt the program of the k² − 3 certificate, byte for byte the same files apart from an assert and a dump flag, subdivides the placements until every piece is proved with exact rational arithmetic, using the same exact lemma at the tight placements.
| run of search/qx2_zm.py | result |
|---|---|
| arithmetic | Python; exact Fraction throughout, floats only to choose tests |
| root boxes | 16,200 (centre pitch 1/10, 8 tilt bins) |
| certified | 16,200 |
| boxes, max depth | 214,336, 17 |
| leaves, all recorded | 115,268: exact lemma 23,393; zm_mixed bounds 84,152; other 7,723 |
| uncertified | 0 |
| CPU | 815,343 s ≈ 226 h (15.8 h on 15 processes) |
Reviews. The checker code was reviewed by six agents for k² − 3, and wand125's separately written checker corroborated that certificate. This run was given to three more adversarial review agents (2026-10-03), each with its own code: an attack on the cover (all 111,392 tiny-tilt limits exactly, millions of poses near the tight sets and at random, local minimisation: nothing below 1; the smallest local minimum away from the exactly-tight sets is about 1 + 4.5·10⁻⁵); the run record (coverage reconstructed independently, all area-density leaves re-proved, about 0.9 million exact masses, none below 1); and the statement chain and literature. None found an error in the mathematics. The Rust checker zmx2 certifies all but 4,844 boxes, all at tilts below 0.05°.
A second checker. On 6 October 2026 wand125 published an exact re-check of ValidTilt9, the tilted part of Valid9 (§05), with the separately written checker that had corroborated Valid7 (valid7-independent-check, commit c561dbb3, records in release records-tilt9-v1): centres in [0, 9/2]², no symmetry used, 28,350 root boxes, none uncertified. jlevy/squares reviewed it: its region contains ValidTilt9's, the source's record check reports every root certified, and it found no defect. The register records it as reported evidence; the case itself (T-081) is not yet register-verified, and we have not re-run it here.
theorem SquarePacking.Bentz4.bentz4_of_validTilt9 (ht : ValidTilt9) :
∀ k : ℕ, 8 ≤ k → minSide (k ^ 2 - 4) = k
The hypothesis ValidTilt9 says that every closed unit square in [0,9]² with centre in [0, 9/2]² and tilt in (0°, 45°] captures mass at least 1 under the 9 × 9 box file, taken verbatim: exactly the region the positive-tilt run of §04 covers.
Everything else is checked by Lean's kernel: the measure for every k and that for k = 9 it is the box file; the total k² − 4D < k² − 4; the move of any unit square into the 9 × 9 box; the reduction by the square's symmetries (the box file's symmetry checked by the kernel); the zero-tilt case, by exact corner limits over the whole box; the scaling argument; and the grid. Standard axioms only, no sorry, no native_decide. The tilted run itself is not in Lean: its lemmas are proved on paper.
The bundle is s12/certificates/k2m4: its README says what checks what. verify.sh takes about 20 seconds: hashes, the cover's total and symmetry, that the family rebuilds the box file, the Lean data, the zero-tilt check, and the run record's structure and coverage, but no positive-tilt mass bound. verify.sh --full re-runs qx2_zm.py (about 226 CPU-hours) and compares root for root. The 9 × 9 box file is K4_k008_box9.txt.
| path (under s12/) | what |
|---|---|
| certificates/k2m4/ | the bundle: the claim; family, box and exact-solution files; the checker files and the run record; verify.sh |
| search/K2M4_MARGIN.md | how the family was found, and the run |
| search/QUADRANT_EXACT.md | the lemmas the checker uses (shared with k² − 3) |
| lean/Sqpack/Bentz4.lean, ValidSplit9.lean | the theorem and the reduction to the tilted run |
| notes/lean-k2m4-reduction.md, notes/lean-valid-split.md | how the Lean proof goes |