Two refusals that refuse differently
Assumes A collision is an order and A proof in one pass.
A collision is an order established something uncomfortable about the meshes this collection solves for rigid folding. Six developable quadrilateral meshes, each with no two vertices alike, each satisfying every condition at every interior vertex — and four of them have no ordering of their nine panels at all. Every arrangement of the pile breaks one of the non-crossing rules, so every one of those four must pass through itself, and it was proved by searching every ordering rather than by driving the mesh and watching for a collision.
Since then a second test has arrived that also proves a pattern cannot be folded flat, and proves it in one pass over the crease list. The obvious question is what it makes of the same six.
Nothing
The cheap test is silent on all six. Not nearly firing, not firing on the easy ones — silent, including on the four that are provably unfoldable.
That is worth sitting with, because it is not the relationship one expects between a cheap sound test and a complete one. The usual picture is a sieve: the cheap test catches the obvious cases and the expensive one is reserved for what falls through. Here the cheap test catches nothing the expensive one catches, on this population.
What each one is reading
It is worth first ruling out the boring explanations, since a test that fires on nothing invites them.
It is not that the test is broken. It fires on other patterns, and it fires on relettered versions of these: the fourteenth mesh, relettered sixty times, produces eleven letterings whose letters contradict themselves. So the machinery works and it works on these very meshes; it is the letterings they arrive with that it has nothing to say about.
It is not that the meshes are too small. Nine panels is enough for a contradiction — the square twist manages one with nine — and the meshes have six independent chains of panels, which is more than the twist’s four.
The two tests are given different parts of the same object, and that is the whole explanation.
The layer refusal reads the letters. Each crease says which of the two panels it joins lies above the other — a valley brings the far panel over, a mountain takes it under, and turning the near panel over swaps which — and a chain of panels each of which must lie below the next is a proof that no order satisfies all of them. Nothing in that consults where the paper landed.
The ordering search reads the folded state. It needs every panel placed, then every pair of panels tested for shared ground, and then it explores arrangements against three kinds of constraint: the one the letters encode, plus two more that only exist once the geometry is known. A panel may not lie between the two panels a crease joins where that crease’s image crosses it. Two creases whose images lie along one line and overlap may nest or stand clear but may not interleave.
So the four meshes fail for reasons in the second and third columns. Their letters are fine. Their panels simply cannot be got past one another in the plane they land in, and no amount of reading the crease list discovers that.
A cheap test that fires on these would have to see the overlaps
It is worth being concrete about what a cheap test would need in order to catch the four meshes, because the answer explains why there is not one.
The rule that refuses them says: this panel may not lie between those two, because a crease’s folded image runs across it. Finding that out means knowing where the crease’s image is, which means having placed every panel, which means composing reflections along a spanning tree of the panel graph — cheap, as it happens, and linear. Then it means testing which panels the image crosses, which is every crease against every panel.
That much is polynomial and this collection computes it. What is not polynomial is what comes next. The rules generate a set of statements of the form not between, and deciding whether some total order satisfies all of them at once is not a matter of looking for a contradiction among pairs — three statements can be individually satisfiable and jointly not, in a way no pairwise reading detects.
The layer refusal escapes that because its statements are all of one shape: this below that, which is a relation, and a relation is unsatisfiable exactly when it has a circle. The betweenness statements are not a relation and have no such characterisation.
The gap between them is a known boundary
The section above says the betweenness statements are not a relation and have no cheap characterisation, and leaves that as an observation about what nobody has found. It is stronger than that: constraints of exactly this shape define a problem that is known to be intractable, and the boundary between the two tests is that boundary rather than a gap in anybody’s ingenuity.
Sort the constraints by how many panels each mentions. The crease rule mentions two: this one below that one. A collection of such demands is a relation on the panels, and a relation admits a total order exactly when it has no cycle — which is a walk over a graph, linear in the number of demands, and is precisely the cheap test.
The other two rules mention three or four. This panel may not lie between the two that crease joins is a statement about which of three elements sits in the middle, and a set of such statements is a betweenness system. Deciding whether a betweenness system admits a total order at all is NP-complete, and has been known to be since the late nineteen-seventies — it is one of the standard hard ordering problems, and it is hard for the reason the essay identifies by hand: three demands can be individually satisfiable and jointly not, in a way no reading of pairs detects.
Which says the cheap test cannot be widened
That converts the closing paragraph’s honest summary into a statement with a reason under it.
The layer refusal is cheap because it reads the only constraints in the problem that are binary, and binary constraints have a cycle characterisation. Widening it to catch the four meshes means reading the ternary ones, and reading the ternary ones is the hard problem — not a harder version of the cheap one, but a different complexity class of question that happens to be phrased in the same vocabulary.
So there is no prospect of a cleverer pass over the crease list that catches what the search catches. Any test that refuses the four meshes has either solved a betweenness system, which is intractable in general, or has found a special structure in these particular meshes that does not generalise.
That also explains why the split is so clean rather than being a matter of degree. The two tests are not two points on a scale of thoroughness; they are on opposite sides of the line where a problem stops having a local certificate. The cheap test is complete for the binary part and blind to the rest, and the rest is where the difficulty of the whole subject lives — which is the same statement the hardness construction makes about flat-foldability, arriving here as a fact about which of three columns of constraints a test is allowed to read.
The two failures are not two grades of one failure
It would be tidy if the letters caught the severe cases and the search the marginal ones, and it is worth checking whether that is what is happening. It is not.
The meshes the search refuses fail comprehensively: there is no ordering, not a fragile one. And the patterns the letters refuse — a tessellation patch with a contradictory lettering — fail comprehensively too, with the contradiction spread over half the panels.
They are two disjoint kinds of impossibility. One is combinatorial: the letters make demands that cannot all hold. The other is geometric: the demands are consistent and the paper is in the way.
Which is which, on the shelf
Across the patterns this collection prints, the same division holds and the numbers say how lopsided it is.
On the square twist, of the two hundred and fifty-six labellings that pass every vertex condition, four are refused by their letters and two hundred and forty-four more by the non-crossing rules. On the fold-and-cut triangle, twelve labellings are refused and the letters catch none of them. On the preliminary base nothing is refused at all.
So on every pattern where both can be run, the geometric refusal is the larger by a wide margin, and the combinatorial one is between nought and two per cent of the total. Consistent is not foldable is that measurement in full.
What the meshes are, and why they are the sharp case
The quadrilateral meshes are the right population for this comparison and it is worth saying why.
They are built to be developable and flat-foldable at every vertex — the family the Miura belongs to, with the vertices perturbed so that no two are alike. So they pass the local conditions by construction, which removes the first refusal from consideration entirely.
They are small: nine panels, so the search finishes and gives a definite answer rather than a refusal. That is rare — a Miura of twenty-four panels defeats it, and so does every printed pattern past twelve.
And their letters are derived rather than chosen. The solver computes fold angles and reads the letters off their signs, so the labelling each mesh carries is the one a physical folding produces. A labelling obtained that way cannot contradict itself, because a folding is an ordering and an ordering is what a contradiction proves does not exist.
That last point is the one that makes the silence unsurprising in retrospect. The cheap test could never have fired on these, because the construction that produced them supplies exactly the kind of labelling the test looks for a fault in.
What the four meshes are actually doing
The proof that a mesh cannot be ordered is a proof that it must pass through itself, and it is worth saying what that means for something that is meant to be a rigid folding.
Paper through paper is the standing complaint about every rigid-folding test here: the tests are statements about a neighbourhood, a neighbourhood cannot see the far side of the sheet, and a mesh can satisfy all of them while driving one panel straight through another. Closing is not building turned that into a measurement by following the motion and watching for the crossing.
The ordering search is the same complaint answered at the flat state, where there is nothing to watch. The fold is over, the panels are where they are going, and the question is a property of the arrangement rather than an event. So the four refusals are proofs that these meshes pass through themselves somewhere, obtained without following any motion at all — and the letters, which are what a rigid solve produces, have nothing to say about it.
That division is not incidental to rigid folding; it is the shape of the subject. A rigid motion is decided by angles and a layer order is decided by which panel is on top, and the two are different objects with different tests.
Which test to run
The practical answer is both, and always in the same order, and the reason is not that one is a filter for the other.
Run the layer refusal first because it is free — one pass over a crease list, no folded state required, no overlap scan. Where it fires it is done, with a reason attached that names panels. Where it does not fire it has cost nothing and nothing has been learned, which is a perfectly good outcome for a test that costs nothing.
Run the search where the pattern is small enough. On anything past about twenty panels it is not a slower answer but no answer: it visits two million nodes and reports that it does not know.
So on a small pattern both run and the search decides. On a large one only the cheap test runs, and its silence is the only thing available — which means that for a tessellation patch, nothing this collection owns can distinguish between a pattern that folds and one whose panels cannot be got past one another. A reader who folds one has better evidence than any of it.
Where the letters do fire, and what those patterns look like
For contrast it is worth naming the patterns the cheap test does refuse, since a test that is silent on six meshes is easy to write off.
It refuses tessellation patches, and it refuses them at a rate that makes them unusable without a redraw: twenty-six letterings of two hundred agree with themselves on a square patch of forty-nine panels, none of two hundred on a rhombille of a hundred and fifty-seven. Those are patterns with thirty-six to a hundred and twenty-six independent chains of panels, and a chain is what a contradiction needs.
The meshes have nine panels and six chains. So the population that makes the cheap test look useless is the population where a contradiction has almost nowhere to sit, and the population where it earns its place is the one no search can touch.
That is the reconciliation, and it is worth stating in one line. The two tests are strong in opposite regimes: the search decides small patterns completely, and the letters are the only thing that speaks at all on large ones — and there is no pattern anywhere on which both are informative.
A third refusal, for completeness
There is a test between the two that this collection owns and that has not been mentioned, and leaving it out would make the pair look starker than it is.
The placement check asks whether the panels close: compose the reflections round every loop of panels and require the composition to be the identity. It is a walk over the panels, so it is cheap, and it reads the drawing and the letters together while consulting no overlap.
It refuses none of the six meshes and none of the printed patterns — they all close to about a quadrillionth — and it refuses tessellation patches assembled the wrong way outright. So it is a third disjoint refusal: geometric like the search, cheap like the letters, and catching a class neither of them touches.
Three cheap tests reading three different parts of the input, one expensive test reading all of it, and no overlap between what the cheap ones catch. That is the actual shape, and it is a good deal less tidy than a sieve.
What is missing between them
The gap is not a matter of effort and it has a name.
Everything the layer refusal reads is a fixed list of statements about pairs of panels — one per crease, known before anything is placed. Everything the search reads is a set of constraints generated by overlaps, which are quadratic in the panels and cannot be known until the folded state has been computed. There is no polynomial test in this collection that reads the second kind of constraint and returns a proof.
Whether one can exist is the hardness of the problem restated: a short certificate for no folded state exists is roughly what a fast complete test would need, and nobody has one. The layer refusal is a short certificate for a special case, and its special case is exactly the one the geometry never enters.
The honest summary is that this collection now owns one proof of failure that is cheap and narrow, one that is complete and unavailable at scale, and nothing in between. The four meshes are the demonstration that the first cannot be widened by trying harder — they are the simplest patterns available on which it must be silent, and it is.
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.
- A population that cannot fail decision procedure · enumeration · layer ordering · necessary condition
- The ring is the loop enumeration · layer ordering · necessary condition · search cost
- The lettering that folds nowhere layer ordering · necessary condition · non-crossing condition
- The patterns a checker is tested on decision procedure · layer ordering · necessary condition
- The rule that breaks the count enumeration · layer ordering · necessary condition
- The test that never fires on a map enumeration · necessary condition · non-crossing condition
What links here
The 8 essays that link to this one and share the most of its objects, of 11 that link here.
The objects this essay names
Each one links to every other essay that touches it.
Decision procedureEnumerationLayer orderingNecessary conditionNon-crossing conditionQuadrilateral meshSearch costSelf-intersection