The classification

Surrounded twice over, and covering nothing

A shape that tiles the plane can be surrounded by copies of itself for ever. A shape that tiles nothing cannot be surrounded for ever — but it can be surrounded once, and sometimes twice, and the number of times is a measurement of how much local success a global impossibility permits.

Assumes Nothing decides whether a set of tiles tiles the plane and A tiling of the whole plane, decided on one tile's edge.

A search for a tiling has an obvious shape. Put down a copy of the shape. Surround it with more copies so that nothing touching it is uncovered. Surround those. Keep going, and either the plane fills or the search gets stuck.

The trouble is what “gets stuck” means. A search that has not yet failed has not yet succeeded either, and nothing decides which of the two it is heading for. What can be measured is how far it gets before it stops — and the answer is a number, one per shape, called the shape’s Heesch number.

heesch-zero: surrounded 0 times. A shape that tiles nothing, with the rings of copies it does accept: the seed in the first colour and 0 coronas of  copies round it. The search that built this finished, so the shape's Heesch number inside this box is exactly 0, and it cost 156 placements. Every cell touching a tile of one ring, corners included, is covered by the next.
Fig. 1 A shape that tiles nothing, and cannot even be surrounded once. Every cell touching it, corners included, must be covered by copies that do not overlap it or each other, and no arrangement does. Its Heesch number is zero, and that is settled by a search that finished.

A corona is one ring: a set of non-overlapping copies covering every cell that touches what is already down, corner contacts included. The first corona surrounds the tile; the second surrounds the first; and a shape that tiles the plane has coronas of every depth, since the tiling supplies them. So a finite Heesch number is a certificate of not tiling — and how large it can be is the question.

The number is a measurement, not an estimate

The seven-cell shape above accepts no first corona. Others do better.

heesch-one: surrounded 1 time. A shape that tiles nothing, with the rings of copies it does accept: the seed in the first colour and 1 corona of 10 copies round it. The search that built this finished, so the shape's Heesch number inside this box is exactly 1, and it cost 360,407 placements. Every cell touching a tile of one ring, corners included, is covered by the next.
Fig. 2 Seven cells arranged differently. Ten copies surround it completely — every cell touching the seed is covered, nothing overlaps — and then the second ring cannot be built. The Heesch number is one, and the search that established it examined three hundred and sixty thousand placements before it ran out of possibilities.
heesch-two: surrounded 2 times. A shape that tiles nothing, with the rings of copies it does accept: the seed in the first colour and 2 coronas of 7 and 16 copies round it. The search that built this finished, so the shape's Heesch number inside this box is exactly 2, and it cost 3,097 placements. Every cell touching a tile of one ring, corners included, is covered by the next.
Fig. 3 Eight cells, and two complete rings: seven copies round the seed and sixteen round those. Nothing surrounds that. This is the only shape of eight cells or fewer with a Heesch number of two, and it is the deepest local success in the census.

Nothing about these shapes looks different from a shape that tiles. The second one is a plain hook; the third has two notches. The difference is not visible in the outline, which is exactly the situation the neighbouring rungs are about: a boundary condition settles some of these cases and declines the rest, and declining is not evidence.

The mistake that changes the answer

The obvious way to run the search is level by level: fill the first corona, then look for a second. That is what a person does with physical tiles on a table, and it is wrong.

Filling one corona and then asking about the next settles nothing when the answer is no. Some other completion of the first ring might have admitted a second. So a failure at depth two has to send the search back into the choices at depth one, and try them all, before it may report a no.

That is not a fine point. Run without it, the census reports no polyomino to eight cells with a Heesch number above one. Run with it, one shape reaches two — and the number of shapes settled outright falls, because the deeper search costs more and more of them exhaust their budget instead. Both numbers change, in opposite directions, and only one pair is right.

The failure is easy to miss because the wrong procedure is not obviously wrong: it produces a complete first corona, which is a real object, and then fails honestly at the second. What it has actually established is this particular ring admits no second ring, and the claim wanted is no ring admits a second. The first is a statement about one choice out of thousands. The distance between the two is the whole search, and a program that stops at the first is not doing a cheaper version of the right computation — it is doing a different one, whose answer happens to be a number in the same range. The only defence is to make the recursion own the choice: a placement that leads nowhere at depth two must be undone at depth one and the next one tried, so that a report of failure at any depth is a report about every arrangement below it.

30 non-tilers, 26 settled. The 30 polyominoes of up to 8 cells that tile no torus, sorted by how many rings of copies each accepts. A shape that tiles the plane accepts rings of every depth and is not in this table. Of these, 7 accept no first ring at all, 22 accept exactly one and 1 accept two. The second column is the number for which the search finished rather than running out of its budget of 1,500,000 placements: 4 did not finish, and for those the number in the first column is a lower bound and is reported as one.
Fig. 4 The census, with backtracking. Of the thirty polyominoes to eight cells that tile no torus, seven accept no ring at all, twenty-two accept exactly one and one accepts two. The second column is the number for which the search finished; the rest hit their budget and are reported as lower bounds.

What a search that ran out is allowed to say

This is the anchor’s own question, and it is the reason the anchor exists.

A search that finds a corona has proved something: the patch is the proof, and it can be checked by anybody. A search that finds none has proved nothing until it has finished, and finishing is not guaranteed — the space of placements grows quickly with the depth and with the size of the shape.

So every answer here carries two things it would be easy to leave out: the number of placements the search cost, and whether the search exhausted its space or ran out of budget. The two are never merged into one word. A shape whose search was truncated is reported as surrounded at least k times, not as has Heesch number k, and the census counts the truncated ones separately.

Four of the thirty are truncated at a budget of a million and a half placements. Their Heesch numbers are unknown here. That is a smaller and duller claim than a table of thirty numbers, and it is the true one.

503 tile, 502 with one orbit, 1 with two. Every polyomino of up to 8 cells — 533 of them — sorted by how many orbits of tiles its best tiling needs. 503 tile the plane; 502 of those have a tiling whose symmetry group carries any tile to any other, and the difference is 1. Every column is a search rather than a lookup: the orbit count comes from generating the tiling's own symmetry group on a torus and following the orbits, and the "one orbit" column is exhaustive — a shape absent from it has no isohedral tiling rather than none found. The empty cell the figure asserts is a different one: no shape Conway's criterion certifies is missing from the fourth column, because the criterion hands over a group that acts transitively and could not certify anything else.
Fig. 5 Where these thirty come from: the five hundred and thirty-three polyominoes of up to eight cells, of which five hundred and three tile the plane. The thirty in the corona census are the remainder — every shape for which no tiling of any torus was found, at a bound that was itself checked by raising it and seeing the answer not move. The two right-hand columns are a different question about the same shapes, and the corona search never meets them: they sort the tilers by how many orbits of tiles their best tiling needs.

Why it is a bounded search at all

The corona search is finite for a reason that is easy to miss: it is bounded by the box it is run in, not by anything about the shape.

Placements are enumerated inside a square whose half-width grows with the depth asked for. A corona needing a copy outside that box cannot be built there, and the search says so — reporting a truncation rather than a failure. That is a second way the honest answer differs from the convenient one, and it is checked the same way: the box is a stated parameter, and a shape whose answer moves when the box grows is a shape whose answer was about the box.

The wider point is the one the previous rung made about tilings and the one this rung makes about coronas. Every finite procedure here has a parameter in it — a bound on the block, a bound on the box, a budget in nodes — and the whole discipline consists of reporting which parameter each answer depended on. It is the same habit as naming the tolerance on a measurement that has one, in a setting where the parameter is a count rather than a length. A number without its bound attached is a number pretending to be a theorem.

A 3 × 3 block, repeated. A block whose right edge matches its own left and whose top matches its own bottom — a tiling of a torus, found by search. Repeating it fills the plane, and every edge of the 9 × 9 patch was checked again after the repetition rather than argued for. This is the certificate that decides one half of the question: a set with such a block tiles the plane, and no further search is needed.
Fig. 6 The same discipline on the neighbouring problem. A block that tiles a torus, repeated out: a certificate that a set of Wang tiles covers the plane. Finding one settles the question; failing to find one within a stated block size settles nothing, and the search is reported with the bound it ran to.
Fails at 2 × 2. One tile whose east colour is not its west colour, and nothing else in the set. It cannot stand beside itself, so the search for a square fails at the second one and the plane is out of reach. This is the other half of the question and the other kind of certificate: a finite region that cannot be filled proves the infinite one cannot be either, because a tiling of the plane contains squares of every size.
Fig. 7 And the other half-search: a square that cannot be filled, which settles the question the other way. Between the two lies a residue that nothing decides — the sets that cover the plane and admit no periodic covering. A Heesch number is the single-tile version of the same gap, and it is measurable where the Wang residue is not.

What counts as surrounded

The definition has to be exact or the numbers mean nothing, and there are two places it could slip.

Corner contacts count. A cell diagonally adjacent to the seed touches it at a point, and a corona that leaves such a cell uncovered has left the seed with a hole beside it that no tiling could have. So the region a corona must cover is the seed dilated by a king’s move rather than by a rook’s, and the difference is real: several of the shapes here accept a rook-move ring and not a king-move one.

The copies may be turned and reflected. A polyomino has up to eight distinct orientations, and all of them are available, since nothing about a tiling forbids a mirrored tile. Restricting to translations would be a different question with different answers — the Wang tiles next door are exactly the case where turning is forbidden, and forbidding it is what makes them a computational object rather than a jigsaw.

And a corona is required to cover, not to close. The copies of a ring have to cover every cell touching what is already down, and they have to avoid overlapping anything; they are not required to leave the outside of the ring tidy, or to touch one another, or to form a connected band. Requiring any of that would be a stronger condition and would produce smaller numbers, and it would be the wrong condition — the reason a corona is interesting is that it is exactly what a tiling would have to supply at that distance, and a tiling makes no promises about the outside of a ring either. The definition is chosen to be the weakest one under which “coronas of every depth” implies “tiles the plane”, because the whole value of a finite Heesch number is as the contrapositive of that implication.

heesch-one: surrounded 1 time. A shape that tiles nothing, with the rings of copies it does accept: the seed in the first colour and 1 corona of 10 copies round it. The search that built this finished, so the shape's Heesch number inside this box is exactly 1, and it cost 15 placements. Every cell touching a tile of one ring, corners included, is covered by the next.
Fig. 8 The first corona of the seven-cell hook, on its own. Ten copies, in several orientations, covering every cell that touches the seed. What defeats the second ring is not the shape of this ring but the shape of every ring: each of the completions the search tried failed at the next level.

The cost, and where it goes

The search is a backtracking cover: take the first uncovered cell of the target region, try every placement covering it that clashes with nothing already down, and recurse. Its cost is not evenly spread.

Reaching depth zero is cheap — the seven-cell shape above was settled in a hundred and fifty-six placements, because there are few ways to start and all of them fail early. Reaching depth one is expensive: three hundred and sixty thousand placements for the hook, because every completion of the first ring has to be tried against the second. Reaching depth two costs less than depth one for the eight-cell shape, at two hundred and eighty thousand, which is a reminder that these costs are about how constrained a shape is rather than about how far it gets.

The shape of that cost is worth naming, because it explains why the census stops where it does. Each ring has to cover a region whose perimeter grows with the depth, so the number of cells to be covered grows roughly linearly and the number of ways to cover them grows roughly exponentially in that. A shape with eight cells and eight orientations offers a few dozen placements against any given uncovered cell, and the search multiplies those choices along the whole boundary before it can report anything about the ring outside. So the interesting quantity is not how long one ring takes but how much the next ring multiplies it by, and that factor is itself a property of the shape rather than a constant: a shape whose ring closes in only one or two ways is cheap at every depth, and one whose ring closes in a hundred is not.

The budget is the honest part of the procedure. It is a stated number of placements; a search that exceeds it stops and says so. Four shapes do. Raising the budget from three hundred thousand to a million and a half moved four of them from unsettled to settled and left four where they were, which is the ordinary behaviour of a bound that is doing its job: it buys some cases and never buys all of them.

Two directions, and only one of them has a certificate

The asymmetry the anchor keeps returning to is sharpest here, because both halves of a Heesch number are produced by the same search and only one of them can be handed to somebody else.

“This shape can be surrounded twice” is witnessed by a patch. The witness is a finite list of placements — a copy, a position, an orientation for each — and checking it is mechanical: confirm that no two copies overlap, and that every cell of the seed and of the first ring has a copy on every side and corner. The check reads the list once. It does not repeat the search, it does not need the search’s budget, and it does not need to trust the program that produced it.

“This shape cannot be surrounded three times” is witnessed by nothing. The only support for it is that a search finished without finding one, and reproducing that support means running the search again. There is no short object to hand over, and none is known to exist: the statement is about the absence of an arrangement, and the space it is absent from is the thing that took the time.

So the two numbers reported for each shape in the census are not two measurements of the same kind. The lower bound is a fact with a certificate attached. The upper bound is a fact about a completed computation, and it is only as good as the claim that the enumeration was exhaustive — which is why the budget is printed beside it, and why the four truncated entries are reported as truncated rather than rounded off.

What the search does not have to look at twice

The cost of an exhaustive corona search is dominated by placements that differ from one another by nothing that matters, and the standard economies are all of one kind: quotient before searching.

The shape’s own symmetry is the first. A polyomino with a mirror has each of its patches produced twice by the enumeration — once from each of the two orientations that give the same set of cells — and a square-symmetric shape has each patch produced eight times. Fixing a canonical orientation for the seed removes that factor exactly, and the factor is the order of the shape’s stabiliser rather than a heuristic estimate.

The patch’s own symmetry is the second and it is subtler, because it is a property of the partial arrangement rather than of the shape. Two partial coronas related by a symmetry of the seed lead to the same completions, so only one of them needs continuing — but recognising that means canonicalising a set of placed copies rather than a single tile, and the bookkeeping costs more than it saves on small shapes.

What neither economy touches is the exponent. Pruning by a constant factor moves the budget along and does not change what the budget is for: the number of arrangements grows with the depth asked for, and a shape that survives two rings has a third-ring search several orders of magnitude larger than the second. That is the reason the record numbers in the literature were reached one at a time over ninety years rather than by a sweep.

The same distinction decides what a census like the one above is allowed to publish. Thirty shapes, each with a Heesch number and a budget: the number is a pair of claims of different logical strength stapled together, and a table that printed one column would be inviting the stronger reading of both. Printing the budget is what keeps the weaker half honest, and it is the reason four rows here say at least rather than a number.

How large can it be

Nothing here bounds the Heesch number. If some shape had an infinite one it would tile the plane, since the coronas would supply a covering — the same compactness argument that makes a square that cannot be filled a proof that the plane cannot be either — but there is no theorem saying the finite values stop anywhere.

The known record has crept upwards for ninety years. Heesch’s own example reached one. Shapes reaching two, three and four were found by hand and by computer over the following decades; Casey Mann’s tile of 2001 reached five; Bojan Bašić published a shape reaching six in 2020. Every one of those is a construction, not a search of all shapes, and every one is a lower bound on what is possible. Whether Heesch numbers are bounded at all is open, and it matters: an upper bound would make the single-tile tiling question decidable, because a shape could be tested by surrounding it that many times and stopping.

Why nobody expects a bound is worth stating, because the expectation runs the other way from the evidence. Every shape found so far has a small Heesch number, and the record has moved by one every couple of decades — which looks like a sequence approaching a ceiling. But each of those records is a construction, built by somebody who wanted that number, and the constructions have grown more elaborate rather than running into an obstruction. Nothing in the geometry says a ring of copies can only be built so many times, and the analogy that does exist points the wrong way: the tiling question for sets of tiles is undecidable, and the standard mechanism for that is exactly a family of finite patches whose sizes grow without bound. A bound on Heesch numbers would make the single-tile question decidable, and a decidable single-tile question sitting next to an undecidable set-of-tiles question would need explaining.

Those numbers are quoted from the literature. Nothing in this essay computes them, and the tiles that achieve them are not polyominoes. What is computed here is a complete census of a small family, which is the trade this collection makes everywhere: a complete answer to a restricted question rather than a partial one to a wide one.

L-tromino: 1 orbit of congruent tiles. A tiling of the plane by 1 copies of one shape per cell of a lattice of index 3, drawn 2 cells across and 5 up, and coloured by which orbit of the tiling's own symmetry group each tile belongs to. The group has 12 operations per cell and 1 orbit: every tile is congruent to every other, and one motion of the whole pattern carries any of them to any other. Congruence is a fact about the shapes; an orbit is a fact about the pattern, and they are different facts.
Fig. 9 The other end of the scale: a shape whose coronas never run out, drawn as the tiling that supplies them. There is no interesting number here — every ring exists because the tiling exists — and that is what a Heesch number of infinity looks like.

The shape of the whole argument

Three questions have been asked of the same object in three essays, and they line up.

Does it tile? Undecidable for sets of tiles, unknown for single ones, and answered here by exhibiting a tiling of a torus — a certificate, one-way. The same shape of answer as a periodic block for a Wang set.

Does it tile isohedrally? Decidable, by a search over a finite list of candidate groups, because the grid’s symmetry group is ℤ² ⋊ D₄ and the translation lattice of an isohedral tiling has bounded index.

How far does it get? Measurable to a stated depth and budget, and reported with both.

The three answers are of three different logical kinds and it would be easy to print them in one table as though they were the same kind of fact. The census here prints them in three columns for exactly that reason.

And there is a fourth kind, which the neighbouring rung is about: a sufficient condition that always terminates and sometimes declines to answer. Conway’s criterion reads a tile’s boundary word, cuts it into six arcs if it can, and says tiles — or says nothing at all, which is not the same as saying does not tile. It settles four hundred and seventy of the five hundred and thirty-three shapes here and declines on the other sixty-three — of which thirty-three tile the plane perfectly well and thirty are in the corona census above.

That fourth kind is worth separating from the other three, because it is the only member of the family whose positive answer arrives with the object it is an answer about. Conway’s criterion does not report that a tiling exists; it hands over the group that makes one, and the tiling can then be generated and its covering counted cell by cell. A reader who distrusts the criterion can check the tiling instead, which is a different and much smaller thing to check. The corona search’s positive answers have the same character — a patch is a certificate — and its negative answers do not, and neither do the negative answers of any of the four. That asymmetry is not an accident of how these particular searches were written. It is what it means for a question to be about the absence of an arrangement rather than the presence of one.

heesch-two: surrounded 1 time. A shape that tiles nothing, with the rings of copies it does accept: the seed in the first colour and 1 corona of 7 copies round it. The search that built this finished, so the shape's Heesch number inside this box is exactly 1, and it cost 130 placements. Every cell touching a tile of one ring, corners included, is covered by the next.
Fig. 10 The eight-cell shape’s first ring alone: seven copies rather than ten, because the shape is more compact and fewer neighbours are needed to close it. Which completion of this ring the search happens to find first has no bearing on the answer, since all of them are tried before any negative is reported.

What the number is good for

A Heesch number is a curiosity until it is put beside the thing it bounds, and then it is the only quantity available.

It bounds a search. A procedure asked whether a shape tiles will, in practice, try to build a patch. If the shape’s Heesch number is two, that procedure will get two rings out and then fail — and it will have spent everything it spent on those two rings for nothing. Knowing that non-tilers reach two and no further, in a family, is knowing how deep a search has to go before its failure means something.

It is the one number that separates nearly tiles from tiles. Every other measurement of a non-tiling shape is a measurement of a failure: an area that cannot be covered, a square that cannot be filled. The Heesch number measures the success instead, and it is the only quantity in the subject that does.

And it is the quantity a bound on the question would have to bound. If Heesch numbers were known to be at most some H, then a shape could be tested by surrounding it H + 1 times: success means it tiles, failure means it does not, and the single-tile tiling question would be decidable. That nobody can bound them is the whole of why nobody can decide it, and it is why a record of six is a fact about the state of the subject rather than a curiosity about one tile.

Where the ladder goes next

The natural direction is towards the results that are clean. Which convex polygons tile has a complete answer, and the reason is that convexity plus a small number of sides is a strong enough restriction to make the question finite. Every clean tiling result in this collection has a restriction of that kind hiding in it, and finding the restriction is usually the whole work.

The other direction is the one these three essays share. A corona is a local success; a tiling is a global one; and the gap between them is not a matter of trying harder. It is measurable, it has been measured here to eight cells, and the measurement’s own bounds are printed beside it. A tile that covers the plane and needs two orbits to do it is the same lesson from the other side: the local object is one thing everywhere and the global object is not.

What this makes readable

Essays that name this one as a prerequisite.

Named alongside this one

Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.

What links here

Every essay whose body links to this one.

The objects this essay names

Each one links to every other essay that touches it.

Case analysisCertificateDecidabilityEnumerationForcingHeesch numberLocal rulesTiling by a group