n = 21 proved ★O=

s(21)=5

The best packing known for 21 squares, side 5,
5
456
4.5835.583
nn+1

Proven

s(21)=5

  • new result
  • optimal
  • exact

Citation record n-021

lowerDaniel after Burns, Massaccesi 2026, GitHub (confirmed T-052)

Bounds

Best known packing

5

Construction
grid
Tilt angles
0∘
Source
[Kingbird]
Evidence
E-kingbird-upper-register
Verified upper bound

5

The reported value, verified here.

Evidence
E-basic-grid-upper
Reported lower bound

5

Proved by
Evan Daniel 2026
Kind
counting
Scope
Unrestricted independent rotations with disjoint interiors; boundary contact allowed.
Note
evand/square-packing (28 September 2026) states s(21)=5 from a mixed cover of [0,5]^2, 7,536 weighted points plus mass spread uniformly along 1,872 interior grid-line segments of length 1/50, total 522368729933/(25*10^9) = 20.894749197 < 21, exactly D4-invariant and certified at margin zero by two separately written checkers, zm_mixed.py (exact rational) and zmx2 (binary64 enclosures widened outward), with a Lean theorem minSide 21 = 5 from that one computational hypothesis. Its CREDITS.md says the work was produced with an AI agent under human direction. It supersedes the same author's 5000/1001 of 23 September 2026, which stays as evidence.
Source
[evand square-packing 2026-09-28]
Evidence
E-n021-evand-mixed-cover-report
Verified lower bound

5

The reported value, verified here.

Evidence
E-n021-evand-mixed-cover-zmx2-replay
Gap

0

Solved: the verified bounds meet.

Results in the register

Verification

upper: replayed here; lower: replayed here

—

Rigidity

not rigid, numerically checked, numerical multiprecision

Evidence: E-translation-escape-not-rigid

Scope

Square 16 of the retained witness (witness id 17) translates 1 along (0, 1) with the packing still valid, so the configuration admits a non-trivial feasible motion; 5 of its 21 squares do. Every constraint is exactly affine in the slide parameter, so the arithmetic carries no linearization error, but the coordinates are the witness's own finite-precision transcription: this settles the retained configuration, not the true optimum. Rigidity and optimality are independent, and this bears only on the former.

s(21) — solved

s(21)=5. Established by a mixed cover with two exhaustive checks of its covering condition, Evan Daniel (2026), building on Sam Burns’s and Gustavo Massaccesi’s weighted exact-rational covering method. The source’s CREDITS.md says the work was produced by Claude (Anthropic) in a single session under human direction. With s(32)=6 it is the second exact value this record holds for a case of the form k2−4 with k≥4, as the source says; s(45)=7, registered with it, is the third.

The packing

The upper bound is trivial: the 5×5 grid holds 25 unit squares, so it holds 21 with four cells empty, and s(21)≤5. The record catalogue does not picture n=21, and no arrangement below side 5 has ever been found. What is new is that none exists.

The lower bound

The certificate is a mixed cover: 7,536 rationally weighted points of [0,5]2 plus mass spread uniformly along 1,872 segments of length 1/50 on the interior grid lines x,y∈{1,2,3,4}, total 522368729933/(25·109)=20.894749197<21, exactly invariant under the square’s eight symmetries, such that every closed unit square inside [0,5]2, at every centre and every angle, captures mass at least 1, a point on its boundary counting and a segment along one of its edges counting in full. If 21 unit squares fit in a side s<5, scaling by 5/s gives 21 squares of side above 1 with disjoint interiors in [0,5]2, each strictly containing a concentric closed unit square. Those 21 closed unit squares are pairwise disjoint, so they would capture at least 21 from a total of 20.89.

The margin is exactly zero, and the line mass is what makes that possible: the 25 grid tiles each capture at least 1 by sharing edge mass, so a total below 21 at the integer side needs a closed square to count a segment along its edge in full. A square seated on a cell collects its whole boundary’s line mass, and a slightly tilted one loses part of an edge on one line and gains the complementary part on the parallel line one unit away. No angle net can decide such a cover; the source subdivides pose space instead, with two separately written checkers that share no code. zm_mixed.py, in exact rational arithmetic, certifies all 40,000 root boxes of the cover’s D4 fundamental region (461,204 boxes, 12.9 CPU-hours) with no uncertified leaf. The Rust zmx2 decides points and masses in integers and encloses where a grid line crosses the rotated square’s edges in binary64 intervals widened outward; it certifies all 2,500 roots of the same region and, assuming no symmetry, all 20,000 roots of the whole pose space. A Lean theorem, s21_eq_five_of_checker, derives minSide 21 = 5 from the single hypothesis S21CheckerCover, the statement both checkers’ D4 runs certify; the reduction, the D4 fold, the cover’s total and its invariance are kernel-checked, and the checker programs are not formalised.

The verified field rests on a complete replay here of zmx2 (E-n021-evand-mixed-cover-zmx2-replay, V3/C3). Built from the retained source with rustc 1.94.1, it certified all 2,500 D4 roots (1,826,222 boxes) and all 20,000 unreduced roots (14,709,448 boxes) on 28 and 29 September with no uncertified box, every root carrying the census of the source’s record of the same root, and the bundle’s own fast tier passed too; the receipts are in the packet. That replay is interval-certified, so it assumes correctly rounded binary64 arithmetic on the host. The exact checker was sampled here, 32 roots matching the source’s records box for box, and its complete re-sweep runs separately; recorded as a second, exact-algebraic replay, it would give this value a second machine method beside its C3. The review of 28 September re-derived both checkers’ lemmas against their code and found no mathematical defect. The Lean build was not run here, because Mathlib’s build cache is unreachable from this session.

wand125 published a second, point-only route to the same value on 28 September: Daniel’s earlier point support scaled to side 5 and re-weighted, with a capture threshold 249987/250000 below 1, decided by the source’s own exact rational replay, and a Lean reduction of everything but that replay. It claims no priority, and it is recorded as reported evidence (E-n021-wand125-point-endpoint-report). Its complete replay ran here on 29 September with the source’s runner unchanged, and its records match the source’s M1 run (E-n021-wand125-point-endpoint-source-replay, T-055), so the value has a second, point-only route; the verified field keeps Daniel’s, which came first. wand125’s README says parts of the work were produced with AI assistance under human direction, and its s(21) write-up says “Code developed with Codex requires human and independent review”.

Earlier lower bounds

The previous verified bound, from 27 September, was the same author’s 5000/1001=4.995004995: 4,604 rationally weighted points in [0,5000/1001]2, total weight 260057/12500=20.80456<21, decided over a rational angle net at N=6000 and replayed here (E-n021-evand-5000-1001-source-replay). It remains valid evidence. A net cannot reach side 5 itself: the per-bin shrink costs about 2/N, which must stay below the margin, and at margin zero there is none. The certificate entered the source on 2026-09-23.

Before it, the verified bound was this repository’s T-034 certificate at side 122/25=4.88, of 2026-09-23: 1228 rationally weighted atoms on a D4-symmetric site set, total mass 5036431/250000=20.145724<21, and least covered mass 250001/250000. An exact event-cell sweep and an interval branch and bound independently decide its conditions from the retained bytes and agree on that least mass, and a review re-decided the same bytes by three routes and accepted them. Only Condition 2 mentions n among the five certificate conditions, so that atom set certifies its side for every integer above its mass, which is 21 and upward. This repository’s generator fixes the shrunken side at B=9977/10000, so a certificate of its shape cannot exist above 4.9885 here; that ceiling belongs to the generator’s settings, not to the weighted-point method.

Before that, the verified bound was 97/20=4.85, from the T-021 certificate: 1680 atoms of total mass 19848723/1000000=19.848723, which certifies n=20 and n=21 alike and remains the verified n=20 bound. The earlier T-020 certificate at 24/5 remains valid and still supplies the verified n=19 bound.

wand125’s rectangle-density certificates reached 997/200=4.985 on 2026-09-26 and 399/80=4.9875 on 2026-09-28; both lie below Daniel’s 5000/1001, and they are recorded with that source’s other bounds. The DS7 survey’s Table 2 gives the decimal 4.7438 for this case, credited to Friedman, without an exact identity or a rounding guarantee; it is kept as opaque reported evidence. Corrected 2 October 2026: Nagamochi’s Lemma 1 is false (Karakuş 2026), so his closed form below is now a reported bound whose published proof is incomplete (review). This register had recorded that proof as verified, its own error, logged as defect D-516. Nagamochi’s general closed form, which applies to every N≥4, gives 1+14:

s(N)≥min{⌈N⌉,N−2⌊N⌋+1+1}

Verification Code

The programs behind this case’s verified bounds, by their evidence. The code column says how the code that ran stands to the code its producer used. VERIFIERS.md says what each program is and whose it is.

bound evidence run code programs
verified lower E-n021-evand-mixed-cover-zmx2-replay replayed here producer’s code V-evand-zmx2 (external); V-audit-evand-mixed-covers (first-party, premises)
verified upper E-basic-grid-upper replayed here independent V-check-basic-bounds (first-party)