Two holes are two conditions
Assumes A cut is surgery and A contradiction is even.
A loop of paper with an odd number of creases round it has no flat folded state. The argument is a parity: crossing a crease exchanges which face of the paper is up, a path round the hole comes back to where it started, and an odd number of exchanges leaves it the wrong way up.
The obvious question is what a second hole does, and the obvious answer — that there is now more paper and more freedom — is the wrong way round.
The construction
A square sheet with two square holes side by side. Creases come in three families and each family can be set independently.
Some run from the left hole out to the rim. Some run from the right hole out to the rim. Some run between the two holes, from one hole’s edge to the other’s.
None of them meets any other. Every crease starts on a boundary and ends on a boundary, so the sheet has no interior vertex at all, at any setting — which means every vertex condition in the subject is satisfied vacuously, exactly as it is on a sheet with one hole.
The two loops
A path round the left hole crosses the creases that leave it: the ones going out to the rim, and the ones going across to the other hole. So it counts the first family plus the third.
A path round the right hole counts the second family plus the third.
Those are two different counts, and they are the two conditions the sheet carries.
What makes them independent
The three families can be set to any counts, so the two loop-counts can be given any pair of parities.
Two out to the left, one to the right and one between makes the left loop three and the right loop two — odd and even. The sheet refuses, and it refuses because of the left loop specifically; the right loop is perfectly happy.
Swap the counts and it refuses because of the right one.
That is what independence means here and it is worth being explicit, because two conditions that always agreed would be one condition with two names.
The third loop, which is not a third condition
A path can also be drawn round both holes, and it crosses the first family and the second — the creases going out to the rim — and not the third, since a crease between the holes is inside the region the path encloses.
So the third count is the first plus the second, and its parity is the sum of the other two parities. If both are even it is even; if exactly one is odd it is odd; if both are odd it is even again.
That last case is the interesting one. A sheet can have an even count round both holes together and still refuse, because each individual loop is odd. A checker that drew one big loop round everything would pass it.
So there are two conditions and three loops, and the third is implied by the other two. That is the general situation: a sheet with holes carries conditions, and every loop that can be drawn on it reads a sum of some subset of them.
With scissors
The two-hole sheet is easy to make and the independence is the thing to look for.
Cut a square of paper about twenty centimetres across. Punch or cut two square holes, a centimetre or so each, about seven centimetres apart on a horizontal line through the middle.
Now crease. Two lines from the left hole’s left edge out to the left rim, at different heights. One line from the right hole’s right edge out to the right rim. One line running between the two holes.
Press it flat. It will not go, and the place it fights is round the left hole.
Add one more crease from the left hole out to the rim, making three, and press again. Now it goes.
What is worth watching is that the second attempt changed nothing about the right hole. The right-hand side of the sheet was fine before and is fine after; the whole of the repair was on the left. That is the independence, in the hand: two regions of the sheet each carrying their own arithmetic, and neither able to fix the other.
The same experiment with a single hole has no such structure. There is one count and one thing to get right, and adding a crease anywhere changes it.
Why the outer loop is not enough
The case that catches people is the one where the outer loop is even and the sheet refuses, so it is worth a second look.
Two creases out to the left, two out to the right, one between. A path round both holes crosses the four outward creases and none of the inner one, so it counts four, which is even. Anybody checking with one big loop would pass the sheet.
A path round the left hole alone crosses its two outward creases and the one between, which is three. Odd. Likewise on the right.
The reason the outer loop misses it is that it is the sum of the two inner loops, and a sum of two odd numbers is even. Parity conditions do not compose the way one might hope: satisfying a sum is weaker than satisfying the summands, and the loops that carry independent information are the ones round the individual holes.
In general, for a sheet with holes there are loops one could draw and independent conditions among them. Checking the wrong of them — or checking one and calling it done — passes sheets that refuse.
Choosing which loops to check
For a sheet with several holes, the practical question is which loops to draw, and the answer is a small piece of bookkeeping.
Draw one loop round each hole, close in, enclosing that hole and nothing else. Those loops are independent, every other loop’s count is a sum of some subset of them, and checking all is necessary and sufficient for the colouring to exist.
The reason a tight loop round one hole is the right thing to draw is that it separates the sheet’s conditions from each other. A loop enclosing two holes mixes their counts, and mixing loses information.
There is a caution in the drawing itself. The loop has to stay on the paper, and a path drawn at a convenient radius round one hole can duck through a neighbouring hole on its way — at which point it has left the sheet and its count means nothing. That failure is checked for rather than assumed: every loop drawn here reports how many times it crossed a boundary, and a nonzero answer stops the figure being drawn.
Holes that are not holes
Two constructions look like extra holes and add no condition, and both turn up in practice.
A slit — a cut with two free ends, or one end on the rim — creates no new boundary circle. The new edge runs out along one side of the cut and back along the other, joining the existing boundary at both ends or doubling back on itself. So a sheet with any number of slits in it is still a disc and carries no condition at all.
A notch — a piece bitten out of the rim — likewise. The boundary is deformed and remains one circle. A notch is not a hole is a result the collection already has about design, and it is true here for the same reason and in a stronger form: a notch changes the sheet’s shape not at all.
That is why kirigami, which is made almost entirely of slits, is untouched by any of this. A field of a hundred slits is topologically a square of paper, and every one of its conditions is at a vertex.
The distinction is worth carrying because it is invisible on the paper. A slit and a very narrow hole look identical at arm’s length, and one of them adds a condition and the other does not.
The general form, and where it stops
For a sheet obtained from a disc by cutting closed holes and gluing pairs of edges, the number of independent parity conditions is , and Euler’s number is with the corner correction where two pairs of the same rectangle are glued.
Each condition is: a loop enclosing that one feature crosses an even number of creases.
Where it stops is at sheets with one side. On a Möbius band the corresponding condition reads the other way round, because the identification itself contributes a factor. So the general statement is not every loop crosses an even number but the signs multiply to one round every loop, with creases contributing minus one and an orientation-reversing identification contributing minus one as well.
For sheets with holes there are no orientation-reversing identifications available — cutting cannot produce one — so the even rule is exactly right for the whole of this essay and is a special case of something slightly larger.
The other thing two holes buy
It would be misleading to leave the impression that holes are purely a cost, since a hole is cheap paper is a standing result about design and it is not in tension with this one.
A hole removes material from the middle of a sheet, which is the part a design uses least efficiently. For a uniaxial base the corners of the square do most of the work and the centre does the least, so cutting the centre out costs very little in what the sheet can produce and saves paper.
That is an argument about how much flap a sheet can support. This one is about whether the pattern folds at all. The two are about different questions and both are true: cutting a hole is cheap in design terms and adds a condition in folding terms, and a designer doing it should check the count.
Euler’s number counts them
The number of conditions is a property of the sheet’s shape and can be computed before any crease is drawn.
A disc has Euler number one and no loops that cannot be shrunk. One hole takes it to nought and adds a loop. Two holes take it to minus one and add another.
That is the whole bookkeeping. Cut a hole: one more condition. Glue a pair of edges: one more condition, by the same arithmetic. And a cut running between two points of the existing boundary: none, because it changes nothing about the sheet.
Why more paper removed means less freedom
The result is worth stating in the form that sounds wrong.
Cutting holes in a sheet removes constraints in the ordinary sense — it removes adjacencies, so panels that were forced to agree no longer are. That is the collection’s standing account of cutting and it is correct.
And each closed cut adds a global condition that no vertex can see. So the local constraints go down and the global ones go up, and the two are not measured in the same units and do not cancel.
For a designer the practical version is short: a pattern that folds does not necessarily still fold once a hole is cut in it, and the check is a count round the hole rather than anything about the crease pattern’s vertices.
The counts, in full
The measurement is small and the whole of it fits in a paragraph.
One out, one out, one between. Left loop two, right loop two, both even. Two panels. Folds.
Two, two, one. Left loop three, right loop three, both odd. Four panels. Refuses, and the loop round both crosses four, which is even.
Two, one, one. Left three, right two. Three panels. Refuses on the left.
One, two, one. Left two, right three. Three panels. Refuses on the right.
Two, two, two. Left four, right four. Five panels. Folds.
Three, one, one. Left four, right two. Four panels. Folds.
Euler’s number is minus one on every one of them, since the sheet’s shape does not depend on how many creases are drawn on it. The interior vertex count is nought on every one of them, so the four vertex conditions of the subject hold throughout — including on the three that refuse.
The two computations agree on all six. Where the colouring says no, the composition of reflections misses the identity by two sheet-widths; where it says yes, the composition closes to rounding.
Where holes already appear here
The collection has several results about holed sheets and it is worth saying which of them this one extends.
A hole is an edge establishes that a hole’s boundary is boundary in exactly the sense the sheet’s outer edge is.
A contradiction is even is the one-hole parity, and it is the standing example of a global obstruction in this collection.
A hole is cheap paper is the design result, and it is about what a hole gives rather than what it costs.
This essay is the second of those extended from one loop to several, and it is the first place the independence has been checked.
The shape of the argument
Stated abstractly once, because it is the same argument the collection makes about several different sheets and it is easy to lose in the particulars.
A folded state assigns each panel one of two states — the face of the paper it shows the reader. Crossing a crease swaps the state. So the assignment is a function on the panel graph that must alternate across every edge, which is a two-colouring.
A two-colouring exists exactly when the graph has no odd cycle. On a disc the panel graph’s cycles all bound regions of the paper, and the vertices inside a region force its cycle’s length to be even, so the condition has no content. On a sheet with holes there are cycles that bound nothing, and those are the ones with content.
The number of independent such cycles is the number of holes. That is the whole result, and everything above is it made concrete.
The reason it is worth making concrete is that the abstract version is easy to state and hard to use. The independent cycles of the panel graph is not something a person looks at; a loop drawn tightly round each hole is, and it is the same thing.
What a checker would have to do
The practical consequence for anything that checks patterns is a short list, and it is worth writing down because the collection’s own checker did none of it until recently.
Find the sheet’s shape. Count boundary circles. A square has one, a square with two holes has three.
Draw one tight loop per hole and count creases crossed, sweeping the loop over a range of radii and requiring the parity to be constant — a single loop can slip past a crease-end and read a count that is not the sheet’s.
Check every one of them is even, rather than checking one or checking a loop round everything.
Then check the vertices, which is what a checker normally does first and which decides nothing about any of the above.
Doing the first three costs a face walk and some arithmetic, which is negligible beside the vertex checks. Not doing them means certifying sheets that cannot be folded, and the collection has an example of exactly that, standing since the first time a hole was cut.
What is not claimed
No interior vertices anywhere. Every construction above has creases running from boundary to boundary. A sheet with two holes and interior vertices carries both kinds of condition, and the interaction between them is not addressed here.
Two holes, not many. The general statement — holes, conditions — follows from the same argument and is measured here only at one and two. Nothing above depends on the general form.
Necessary, not sufficient. Both parities being even means the sheet has a two-colouring, which means it may fold. Whether it does is decided by the geometry and by the layer ordering, neither of which the parity sees. On these constructions the two happen to coincide, because the reflections round each loop compose to a rotation the identification can absorb — which is the same coincidence the annulus enjoys and a band does not.
The check that runs
Two computations settle every case above and they share no code.
One walks the panel graph flipping a bit and reports whether a consistent two-colouring exists. The other composes a reflection at every crease round each loop and reports how far the composition is from the identity, in widths of the sheet.
They agree at every setting tried, and the second returns a distance where the first returns a bit — so a sheet that refuses does so by a measurable amount rather than merely failing.
And the loops are drawn rather than assumed: the counts are read off the drawing by a routine that knows nothing about how the sheet was built, and it checks that each path stayed on the paper rather than ducking through a hole on the way round.
Named alongside this one
Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.
- The cut that changes nothing boundary · counting · kirigami · parity · patch · two-colouring
- A cut that removes no paper boundary · kirigami · parity · two-colouring
- A grid that will not close boundary · panel · parity · two-colouring
- Euler counts the gluing boundary · counting · panel · patch
- The rim adds up boundary · counting · panel · patch
- The seam carries a sign boundary · panel · parity · two-colouring
The objects this essay names
Each one links to every other essay that touches it.
BoundaryCountingFlat-foldabilityKirigamiPanelParityPatchTwo-colouring