s(11) ≥ 381/100

A New Lower Bound on the Square Packing Problem

Human oversight: Joshua Levy Agents: Opus 5, Fable 5.1, and Codex 5.6 github.com/jlevy/squares September 8, 2026 (DRAFT v0.3.0-38ca2892)

A New Bound for Packing 11 Squares

This work presents a new lower bound on a long-standing open geometry problem: eleven unit squares with disjoint interiors, free to rotate, cannot fit in a square of size 3.81×3.81.

This appears to be the first improvement in 23 years on the smallest open case of the square packing problem.1 Stromquist published the previous bound of 3.7888543… in 2003.23 The tightest known packing, due to Trump in 1979 (Figure 1), shows s(11)3.8770835.4

Figure 1. Eleven unit squares inside a square of side 3.8770835\ldots, a root of an eighth-degree polynomial.

The computer-assisted proof of the new lower bound was found via an automated research framework. The certificate used in the proof places 1,121 rationally weighted points in the container and selects a net of 181 rationally parameterized directions. Five exact conditions and a pigeonhole-style argument then imply the claim. Verification is exact rational arithmetic: the one-file checker, about 330 lines of standard-library Python and short enough to read in one sitting, decides the certificate file of 1,121 weighted points in about a minute.

The Agentic Research Framework

All of this project’s documents and code, including this paper, are written by agents. The repository uses a flexible but defined agentic research framework, which is fully documented in the repository.

This lower bound is one of 22 results the framework has registered so far, 15 of them apparently new. These include improved lower bounds for n=12, 17, and 19.5 The atlas of best known packings for every n from 1 to 100 in Figure 2 comes from the same research agenda and currently includes 7 new lower bounds.

The repository includes:

Work is planned on a regular cadence, typically in blocks of 8 to 12 hours, with strategic human input on priorities and insights. Agents then break the work into defined workflows, including research survey, correctness verification, research loop, and optimization loop.

The framework relies on several agent tools for better engineering and workflows, notably tbd for task tracking, Softschema for structuring results, and Practical Prose to improve writing quality.

Even with the best agents, research requires strategic human input. The framework lets that input focus on strategy, while agents build on accumulated results and tools in a research flywheel. This approach is likely to be useful for other creative mathematical or technical problems.

The Square Packing Problem

The square packing problem asks, for each n, for the side s(n) of the smallest square that holds n unit squares, which are free to rotate and must have disjoint interiors.6 The value of s(n) is known for n10. Stromquist proved s(10)=3+1/2.7 The case n=11 is the smallest still open.

For values of n where s(n) is still unknown, results generally take the form of upper or lower bounds. An upper bound is constructive: an arrangement of n unit squares in a square of side L shows that s(n)L. Trump’s packing for n=11 in Figure 1 is one example. Such constructions may be specified with approximate numerical coordinates or derived exactly by solving the geometric relationships between touching squares. Approximate coordinates alone do not constitute a formal proof of the upper bound.

A lower bound proves that s(n)L by ruling out every arrangement in a container of side less than L. This requires an argument covering all possible placements and rotations of the squares. Such arguments range from simple area comparisons to detailed geometric proofs and computer-assisted certificates. The proof presented here is of this kind.

The best known packings of one through one hundred unit squares, in a ten-by-ten grid, each labelled with its best known upper bound and, where the value is still open, the strongest lower bound independently verified here
Figure 2. The best known packings of 1 through 100 unit squares, with upper bounds and, for unsettled cases, lower bounds verified here. A crimson star marks a lower bound this project proved: 7 of the hundred. The repository records every witness and its provenance. PDFs are available for this figure and the full 324-case poster.

For eleven squares, we prove s(11)381/100=3.81.

(Some figures also show the simpler certificate for the weaker bound s(11)19/5, whose smaller numbers make the argument easier to illustrate. There is a small exact refinement in T-022.)

3.753.853.90 3.7888543… Stromquist 1984/2003 3.8770835… Trump 1979 packing 381/100 = 3.81, proved below 19/5 = 3.8
Figure 3. Bounds on s(11). The shaded band is the gap left by the certificates explained here. With their lower bound at 381/100 the gap is 0.0670835\ldots wide, down from 0.0882292\ldots at Stromquist’s bound.

The Five Conditions

We prove s(11)381/100=3.81 with a new weighted-point certificate found by our automated search. The five conditions below follow the finite certificate method used by Burns and Massaccesi.8910

The proof uses a finite certificate: for n unit squares in a container of side L, a finite set of points in the container, each with a nonnegative rational weight (the atoms; every weight in this certificate is positive), a net of directions θk=2arctantk with rational half-tangents 0=t0<t1<<tK, and a shrink B, such that:

Condition 1. The atom positions and weights are invariant under the container’s symmetry group 𝐃4, its four rotations and four reflections.

Condition 2. The total mass of the atoms, the sum of all their weights, is strictly below n.

Condition 3. The net reaches π/4: its last half-tangent is at least tan(π/8).

Condition 4. B(1+D)<1, where D is the largest of the net’s half-gap tangents, each the tangent of half the angle between two consecutive net directions.

Condition 5. At every net direction, every placement of a closed square of side B inside the container covers mass at least 1.

Conditions 1 to 4 are exact rational comparisons. Condition 5 is one exact sweep per direction. Together the five prove s(n)L. The certificate is C-n011-fractional-381-100 (a weaker but simpler one is at C-n011-fractional-19-5). Every figure below is computed from the certificate it shows.

Atoms, Mass, and the Budget

An atom is a point in the container with a nonnegative rational weight, and here every weight is positive. The mass μ(R) of a region is the sum of the weights of the atoms in it, a finite exact sum.

Suppose eleven unit squares fit in the side-3.81 container, and suppose the atoms have been chosen so that both of these hold:

The second is a single sum:

awa=43454740000=10.863675<11

Two packed squares may share an edge, and an atom on it lies in both. Their interiors are disjoint, so no atom lies in two of them, and together the eleven interiors hold mass at least 11. The container holds only 10.863675. So eleven unit squares do not fit.

Both conditions are properties of the atoms, not of any packing. The rest of the proof makes the first one finite to check.

The Atom Set

There are 1,121 atoms in 149 orbits of 𝐃4, the eight rotations and reflections of the container, with 100 distinct weights between 0.000075 and 0.14672. An orbit is an atom with its images under all eight, so the set is invariant under the group: Condition 1. That invariance is what lets the proof check angles only up to π/4, since a square at any other angle reflects onto that arc and covers the same mass.

Every Placement Covers Mass at Least One

The covering requirement on the atoms, that every placement of a unit square holds mass at least 1 in its interior, has three continuous parameters, two of position and one of angle.

The proof makes it finite twice over. The angle is snapped to a net of 181 rational directions, and the square checked at each is a slightly smaller one, of side B. The next section shows why it stands in for a unit square at any angle. Within a direction, the set of atoms under the square changes only when an atom crosses an edge, so the positions collapse to finitely many event cells, on each of which the covered mass is constant. Condition 5 says every event cell the square’s center can reach without leaving the container, at every net direction, carries mass at least 1.

Figure 5 evaluates it. Every weight is a whole multiple of 1/200000, so the readout counts units and rounds nothing. The least covered mass over every placement and all 181 directions is attained at direction 0, by the square Q centered at (27/50,27/50):

μ(Q)=40014000=1.00025,

a margin of 50 of those units above the threshold.

From a Continuum of Angles to 181

Take a unit square at any angle. A quarter turn leaves a square unchanged, so its angle may be taken below π/2, and the net covers only the arc [0,π/4]. A square whose angle lies past π/4 is therefore first reflected across the container’s diagonal: the image is a unit square in the container whose angle φ is on the arc, and by Condition 1 it covers the same mass. Let θ be the net angle nearest φ. A smaller square of side B at angle θ, with the same center, covers no more mass than the unit square if it fits inside it, because the weights are nonnegative. So if every placement of the smaller square at a net angle covers mass at least 1, every unit square at any angle does too.

It fits exactly when

B(cosd+sind)1,

where d is the angle between the two, at most half the gap between two consecutive net angles. Since cosd+sind1+tand on [0,π/4), it is enough that

B(1+D)<1,D=maxktk+1tk1+tktk+1=maxktanθk+1θk2.

That is Condition 4, and it couples the two parameters: a coarser net widens the gaps, forces B smaller, and makes Condition 5 harder to meet.

The contradiction needs a little more than a fit. Two packed squares may share an edge, so the smaller square has to lie in its unit square’s interior, where no other square reaches. It does: its width across the unit square, B(cosd+sind), is B when d=0, and B<1 because B(1+D)1 with D>0; when d>0 it is Bcosd(1+tand)<B(1+D)1, since then cosd<1. So the interior of every unit square at any angle holds mass at least 1, as the budget assumed. Nothing there needed the inequality in Condition 4 to be strict, so the strict form the verifier tests is a sufficient condition rather than a necessary one, and both certificates meet it.

Each angle is carried as a rational half-tangent, θk=2arctantk, so that

cosθ=1t21+t2,sinθ=2t1+t2

are exact rationals and no angle is a floating-point number. The net must reach π/4, the end of the arc that Condition 1 reflects every angle onto. That is Condition 3, and since tan(π/8)=21 is irrational it too is tested in rational form:

tK2+2tK10tKtanπ8.

What a Coarser Net Costs

We use the net from Massaccesi’s certificate: 181 equally spaced half-tangents, from 0 to 207107/500000.9 To price a coarser net, hold a certificate’s atoms fixed, coarsen the net, set B to a seven-place value one step below the largest Condition 4 admits, and decide Condition 5 again. Figure 7 does this for each certificate, and its caption says what halving the net costs.

The Contradiction Argument

Take any packing of eleven unit squares in the side-3.81 container. Reflect across the container’s diagonal each square whose angle lies past π/4, so that every angle is on the arc from 0 to π/4 the net covers (Condition 3).

Each square then contains a side-B square Qi, centered at the same point and oriented at the nearest net angle, inside the unit square’s interior: the mismatch d of the two angles has tandD, and Condition 4 makes B(cosd+sind)<1 for every such d. Each Qi covers mass at least 1, which is Condition 5.

Now reflect back each square that was reflected, and Qi with it. Qi still lies in its own unit square’s interior, and by Condition 1 it still covers mass at least 1.

The unit squares have disjoint interiors, so the eleven Qi are disjoint. Because the weights are nonnegative and no atom is counted twice, the eleven together cover at most the container’s total mass. Then

11i=111μ(Qi)μ([0,L]2)=43454740000=10.863675<11,

where the last step is Condition 2. The two ends contradict each other, so no such packing exists, and s(11)381/100.

The argument shows that a container of side exactly 381/100 is too small. By compactness a packing exists at the infimum, so in fact s(11)>381/100; the claim is stated as because that is what the theorem behind the verifier proves, with no appeal to compactness.

Generator and Verifier

The generator solves for the weights on a chosen set of sites A, arranged in orbits of 𝐃4. The weights, one per orbit, come from the covering linear program

τ*(A,Θ;L,B)=minw0aAwasubject toaQwa1 for every placement Q,

with one constraint per placement of a side-B square at a direction of the net Θ. Placements form a continuum, so constraints are generated as needed: the event-cell sweep that decides Condition 5 finds a placement whose mass falls short, and it becomes a new constraint. The sweep is the separation oracle.

Condition 1 holds by construction, Condition 5 is feasibility in this program, and Condition 2 is a bound on its objective, so on a net and shrink that satisfy Conditions 3 and 4, a certificate on these sites exists when τ*<n. The target n never enters the program; it is compared with the optimum afterwards. What the certificate carries is not that optimum but a rational point beside it: the solver’s weights, inflated slightly and rounded up to multiples of 1/200000 so that every constraint holds in exact arithmetic. The verifier proves that point feasible, not minimal.

The search runs in floating point. None of it is part of the proof: the generator writes the certificate to a file, and the verifier decides Conditions 1 through 5 on it in exact rational arithmetic. The verifier rejects a certificate that fails the conditions, regardless of how it was generated. The gate that admits a certificate to the record asks for two verdicts: it accepts one only when the exact event-cell sweep and an interval branch-and-bound, which decide Condition 5 by distinct methods, both accept it and report the same least covered mass.

Geometric constraints can strengthen the final count. Stromquist’s six-square proof rules out a container of side less than 3 by forcing four of eight marked points into one square; each other square must contain at least one, so at most five fit. The repaired eleven-square argument similarly forces three of twelve points into one square.73 These examples suggest extending the weighted method by using constraints between squares to force additional mass consumption.

A first-party package for third-party checking gathers what an outside check needs: the theorem written out, the 19/5 certificate as plain data, and a one-file verifier on Python’s standard library that decides it without importing anything else from the repository.

(It decides the looser of the two bounds, not the headline one.)

This project wrote every file in the package, so it is not itself a third-party check.

Verifiable Claim

Each bound has one self-contained file: the claim, the theorem with its proof, a verifier in Python’s standard library, and the certificate it decides, to paste into any coding agent or check by hand.

For s(11)381/100: t-018-verifiable-claim-381-100.md, 1,121 atoms. (For the weaker bound s(11)19/5: t-018-verifiable-claim-19-5.md, 425 atoms.)

The one-file checker minimal_verify.py verifies the 381/100 certificate in about a minute.11

Acknowledgments

We thank Walter Stromquist for drawing attention to his twenty-six-square construction in Memo III (private communication, September 2026). His suggestion prompted a source review and independent exact verification.

Further Reading

  1. Our search through September 4, 2026 found no earlier improvement on Stromquist’s bound, stated in 1984 and published in 2003. We checked the project’s sources, scholarly indexes, author pages, and public packing catalogues, but may have missed work in subscription-only indexes, theses, proceedings, or unindexed sources.  ↑ 

  2. Walter Stromquist states this bound in Memo III (1984), p. 10, as an adaptation of his preceding proof for 0 and 45 orientations. This suggests he already had the general argument, whose details he omits. The journal proof appeared in Packing 10 or 11 unit squares in a square, Electronic Journal of Combinatorics 10 (2003), R8.  ↑   ↑ 

  3. The bound is correct, but the project found that Stromquist’s printed argument does not close at his Figure 14 and repaired it with a source-distinct point set, certified exactly (T-010 in the project’s result register). The proof here does not depend on it.  ↑   ↑ 

  4. Walter Trump’s packing of 1979, as recorded in Kingbird’s register of squares in squares, which also lists the degree-eight polynomial defining its side length. The rendering is the project’s own. Stromquist’s Memo III, pp. 2–4, credits Mats Gustafsson and Magnus Thulin with the same construction, reported by Gardner in November 1980; the research archive records their independent rediscovery.  ↑ 

  5. The result register records s(12)3.96 (T-017), s(17)4.59 (T-019), and s(19)4.80 (T-020), each supported by a retained weighted-point certificate and classified as apparently novel.  ↑ 

  6. Erich Friedman, Packing unit squares in squares: a survey and new results, Electronic Journal of Combinatorics, Dynamic Survey DS7.  ↑   ↑ 

  7. Walter Stromquist, Packing Unit Squares Inside Squares, Memo I, September 11, 1984, pp. 13–19, gives the six-square helper argument. Memo II, October 15, 1984, proves the ten-square result, later published in his 2003 paper.  ↑   ↑   ↑ 

  8. Sam Burns, Proposing a Better Lower Bound for n=17 Square Packing, August 2026, presents a weighted-point certificate for seventeen squares with a rational direction net and exact coverage checks. Burns credits ChatGPT with developing the certificate.  ↑   ↑ 

  9. Gustavo Massaccesi, Another Better Lower Bound for n=17 Square Packing, August 2026, improves Burns’s certificate. His Linear Programing for Square Packing describes the linear program and search used to find its weights.  ↑   ↑   ↑ 

  10. Earlier counting methods include Göbel’s unavoidable points and Nagamochi’s weighted resources: F. Göbel, Geometrical packing and covering problems, in Packing and Covering in Combinatorics, Mathematical Centre Tracts 106 (1979), 179–199; Hiroshi Nagamochi, Packing unit squares in a rectangle, Electronic Journal of Combinatorics 12 (2005), R37.  ↑   ↑ 

  11. The one-minute timing is for minimal_verify.py; recorded runs took 47.5–67.0 seconds under CPython 3.14 on September 5, 2026. The claim document embeds a separate verifier, verify_claim.py, which checks the same certificate in about 3 minutes on an Apple Silicon laptop.  ↑ 

Formatted and typeset with Flowmark and KPress