Two conditions at a point
Take a point in the middle of a sheet with several creases radiating from it. Whether the paper can be pressed flat around that point turns out to be decidable by inspection — two tests, both arithmetic, neither of them requiring the fold to be attempted.
That is a stronger result than it sounds. Most questions of the form “can this be done” in geometry are not settled by counting, and this one is.
Before either condition: the sheet must be flat
There is a prerequisite so basic it is easy to skip, and skipping it causes confusion later.
The angles around an interior vertex must sum to exactly 360°. That is not a folding condition — it is the condition for the unfolded sheet to be flat. A vertex whose angles sum to less than a full turn describes a cone; more than a full turn describes a saddle; and neither is a sheet of paper that was ever flat.
This is called developability, and every pattern on this site is checked for it before anything else. A crease pattern that fails it is not a hard folding problem; it is a drawing of paper that was cut or stretched.
Kawasaki’s condition, on the angles
Number the sectors around the vertex in order and add up alternate ones. A flat-foldable vertex has both alternating sums equal, and since together they make a full turn, each must be half of it.
The reason is a walk. Imagine an ant crawling around the vertex on the folded paper, staying at a fixed distance from it. On the flat-folded sheet the ant travels back and forth along a line segment: forward across one sector, backward across the next, forward across the third. To return to where it started, the forward distances must equal the backward ones — and those are the alternating sums.
Two immediate consequences fall out, both useful:
The number of creases must be even. An odd number cannot alternate consistently around a closed cycle. A three-crease vertex cannot fold flat, ever, whatever the angles.
Opposite sectors in a degree-four vertex are supplementary. With four creases the condition reduces to , which is why every flat-foldable four-crease vertex has the same two-parameter form.
Maekawa’s condition, on the assignment
The second test counts folds rather than measuring angles. At every flat-foldable interior vertex,
where is the number of mountain creases and the number of valleys.
The argument is about winding rather than about paper, which is why the constant is so specific. It also means the two conditions are testing genuinely different things: Kawasaki sees only the angles and Maekawa sees only the assignment, and a vertex can satisfy either while failing the other.
The assignment everybody draws, which does not fold
The cleanest demonstration that Maekawa has teeth is the preliminary base, and it catches almost everyone.
Take a square. Fold both diagonals one way and both midlines the other. That is how the preliminary base is described in every book, it is what a folder does, and at the centre it produces four mountains and four valleys.
Four and four differ by zero. Maekawa says the difference must be two. So that assignment cannot fold flat.
The resolution is that the description is wrong rather than the theorem. When the base is actually collapsed, the four “midline” creases at the centre do not all end up the same way: one of them reverses. Nobody notices, because the collapse does it without being asked, and the instruction “mountain-fold both midlines” describes the preparation rather than the result.
The pattern on this site has its assignment found by enumeration rather than stated, for exactly this reason. The generator lays down the geometry, tries all 256 assignments of the eight half-creases, and keeps one that passes. Writing down what everybody says the base is would have produced a figure that cannot be folded.
How many survive
Enumerating raises an obvious question: how many assignments of a given set of creases actually pass?
For the preliminary base the answer is 112 of 256. That number is exactly , which is worth checking: with all sectors equal at 45°, Kawasaki is satisfied by every assignment and the big-little-big condition has nothing to bite on, so the local tests reduce to Maekawa alone — and Maekawa allows exactly the three-and-five splits.
The enumeration and the combinatorics agree, which is a good check on both.
For a four-crease vertex with unequal sectors the answer is 4 of 16, because big-little-big does bite. The fraction falls as the pattern grows, and it falls fast.
Both conditions forbid an odd vertex, by different routes
Before the sufficiency question there is a corollary the two share, and the sharing is worth noticing because it is the cheapest check either theorem offers.
Kawasaki needs the sectors to alternate consistently round a closed cycle, which an odd number of them cannot do. Maekawa needs while , so and must be even.
Two theorems about different quantities — one reading angles, one counting letters — arrive at the same prohibition. A vertex of three creases, or five, or seven, is refused twice over, and refused before any angle is measured or any assignment written down. That is the check a reader can run on a drawing with no arithmetic at all, and it is the one that catches a misread junction.
Together they are enough at a degree-four vertex, and not above it
The strong statement is that Kawasaki and Maekawa, plus big-little-big, settle the single-vertex case — and it holds at degree four with distinct sectors, where it has been checked against an independent stacking search on 373 vertices and 1,492 passing assignments with no disagreement anywhere.
Above degree four it fails, and the shortfall is not small. Of 3,208 assignments at degree six that satisfy all three conditions, 576 have no flat folded state — eighteen per cent — and at degree eight it is 512 of 1,440, better than a third. The three conditions certify a great deal more than they decide.
The reason is that all three read the drawing: the sum of the angles, their alternating sums, the letters beside the smallest sector. What decides the case is what happens after the smallest sector has been folded away between its neighbours, which produces a vertex of two fewer creases that is nowhere on the sheet — and that vertex can fail the same conditions its parent passed. What replaces the three tests above degree four is therefore a procedure rather than a fourth condition, and it is not evaluated so much as run.
It is also the last time anything in this subject is that easy. Whether a whole sheet folds flat is a different question, it is not the conjunction of the vertex conditions, and it is NP-hard.
What the conditions do not see
Being precise about the boundary is more useful than admiring the theorems.
They are local. Each is evaluated at one vertex using only the creases meeting there. Two vertices can each be fine and interact badly.
They ignore layers. Neither condition says anything about the order in which the flaps stack, and a self-intersection — paper passing through paper — is invisible to both.
They ignore the boundary. A crease running to the edge of the sheet has a free end, and the conditions are stated for interior vertices. Boundary vertices are unconstrained, which is why a crease pattern’s edge is where a lot of the freedom lives.
They assume the creases are straight and meet at a point. A curved crease has neither property, and none of this applies to it at all.
Checking, in practice
Everything above is implemented in lib/fold.js, and the implementation details matter because they are what makes the figures trustworthy.
Sectors are computed by sorting the creases at a vertex by the angle at which they leave it and taking successive differences. Developability is that sum against . Kawasaki is the alternating sum. Maekawa is a count. Big-little-big scans for a sector strictly smaller than both neighbours and checks the two creases bounding it.
assertFlatFoldable runs all four over every interior vertex and throws rather than returning false. That choice is deliberate: a generator that would emit an unfoldable pattern fails the build rather than shipping a figure that a reader will try to fold and cannot.
It has caught real errors. The first Miura fold written for this site had every vertex at four mountains and no valleys, which is developable, satisfies Kawasaki, and cannot fold. The picture looked entirely convincing.
Sufficiency, and what it costs to claim
Necessity is easy: each condition is derived from a property the folded state must have. Sufficiency — that satisfying all three guarantees the vertex folds — is a stronger claim and needs an argument of a different kind.
The proof is constructive. Given a vertex satisfying the conditions, repeatedly find a sector that is a strict local minimum, check that its bounding creases differ, and cancel it: fold the two neighbouring sectors together, removing the small one and merging its neighbours into a single larger sector. The result is a vertex of two fewer creases which still satisfies the conditions.
Recurse. The degree falls by two each time, and since it started even it reaches two — a single crease through the point, which folds trivially.
Unwinding the recursion gives an explicit folded state, so the vertex folds. The algorithm runs in time linear in the number of creases, and it is the reason the single-vertex problem is considered completely solved.
Who found them, and when
Both theorems are recent, and their attribution is tangled in a way that is characteristic of this field.
Maekawa’s theorem is named for Jun Maekawa, who stated it in the 1980s. It was independently found by Jacques Justin, and it is sometimes called the Maekawa–Justin theorem for that reason.
Kawasaki’s theorem is named for Toshikazu Kawasaki, who proved it in 1989. Justin had it earlier, and so, apparently, had Robert Lang. It is occasionally the Kawasaki–Justin theorem.
Justin’s name attaches to both and to neither, which happens when results circulate in a community that publishes in newsletters and conference proceedings rather than in journals. The mathematics of origami spent its first decades in a literature that was not indexed.
The conditions are independent
It is worth demonstrating rather than asserting that both tests are needed, because a reader could reasonably suspect one implies the other.
Kawasaki without Maekawa. Take the preliminary base’s geometry — eight creases at 45° — and assign four mountains and four valleys. Every alternating sum is 180°, so Kawasaki is perfectly satisfied. The counts differ by zero, so Maekawa fails. The vertex cannot fold.
Maekawa without Kawasaki. Take four creases at 90°, 60°, 90° and 120°, and assign three mountains and one valley. Maekawa is satisfied. The alternating sums are 180° and 180°… which happens to work, so pick different angles: 100°, 60°, 90°, 110°. Still three-and-one, still Maekawa; the alternating sums are 190° and 170°, and Kawasaki fails. The vertex cannot fold.
Neither test implies the other, and a pattern needs both plus the third condition. That is three independent filters on a space that started at , which is why so little survives.
What a checker is for
There is a reason this site implements the conditions rather than trusting itself to draw correct patterns, and it is not caution about the mathematics.
The theorems are easy. Applying them to a pattern of forty vertices while also arranging the geometry, choosing the assignment and making the figure legible is not, and the failure is silent: a wrong pattern draws exactly as well as a right one. Nothing about the picture indicates which it is.
So the check runs on every pattern, at build time, and throws. The cost is a few milliseconds and the benefit is that a reader who prints a printable pattern and spends an evening on it will not find that the site was guessing.
Where the model stops
Zero thickness. The conditions describe a sheet with no thickness folding into a plane. Real paper folded flat has a stack whose height grows with the layer count, and for a complex model that is millimetres at the core.
Perfectly sharp creases. A crease is treated as a line about which the paper turns instantaneously. A real one has a radius, and the radius consumes angle.
Fully flat. The theorems concern the completely flat state. A model folded to 95% is not covered by any of this, and neither is the motion of getting there.
Straight creases at a point. As above — curved creases and creases that do not meet at a vertex are outside the theory entirely.
The figures show one vertex. Every picture here is a single point with a handful of creases. That is where the theorems are exact and where the subject is least interesting.
From one vertex to a pattern
The conditions are complete for a single vertex, and a crease pattern is many vertices. Seeing how the difficulty enters is the natural next step.
Two vertices joined by a shared crease are already interesting. Each imposes conditions on that crease’s assignment, and the two sets of conditions have to be compatible — which they usually are, because each vertex constrains counts rather than specific creases. So far, so easy.
What goes wrong is layers. Each vertex determines a local stacking order for the paper around it, and where two vertices share a region those orders must agree. With three vertices the agreement conditions start interacting; with many, they form a constraint system that can be unsatisfiable without any individual vertex being at fault.
That is the whole shape of the field: a local theory that is complete and elementary, a global problem that is NP-hard, and no useful bridge between them.
What the conditions are worth
Given that they do not settle the real question, it is fair to ask what the local conditions buy.
They are a filter, and a cheap one. Checking a pattern of forty vertices takes microseconds and rejects the overwhelming majority of assignments. Anything that survives might fold; anything that fails certainly does not.
They are also a design tool. A designer laying out a pattern uses them constantly and mostly without naming them — the reflex that says a vertex needs an odd crease out, or that the sectors have to come in supplementary pairs, is Maekawa and Kawasaki internalised.
And they are the only part of the theory that gives a reason. The global algorithms, when they work, produce an answer without an explanation. The vertex conditions say why: this angle, this count, this collision.
Why these two and not others
A question worth asking of any pair of necessary conditions: why should these particular ones be the ones that matter?
Both come from a closure requirement, and that is the common structure. The paper is continuous around the vertex, so anything computed by walking all the way round must come back to where it started.
Walk round measuring how far the folded cross-section has travelled, and the forward and backward distances must cancel — which is Kawasaki. Walk round counting turns, and the total must be a whole circle — which is Maekawa. Two different quantities, the same closure argument, two independent conditions.
That also explains why there are exactly two of this kind. A closed walk gives one condition per conserved quantity, and around a vertex there are two things worth conserving: position along the folded line, and direction. The third condition is of a different kind entirely — it is about collision rather than closure — which is why it was found later and why it does not look like the others.
The ladder from here
Later rungs: Kawasaki’s theorem proved by the ant argument in full. Maekawa’s theorem as a winding number. Big-little-big and its generalisations. Layer ordering, which the conditions do not reach. Counting flat-foldable assignments. One-dimensional flat-foldability, where the whole problem is tractable. The NP-hardness result. The fold-and-cut theorem. Boundary vertices and the freedom they carry. And curved creases, where none of these theorems has an analogue.
Kawasaki’s theorem is a statement about alternating sums that a schoolchild can verify with a protractor, and it was first written down in 1989. The result is elementary, the subject is ancient, and the two did not meet until the decade the fax machine peaked.
What this makes readable
Essays that name this one as a prerequisite.
- A square that turns
- How many assignments fold
- Local is not global
- One straight cut
- One vertex, repeated
- Panels instead of paper
- The smallest sector decides
- What the vertex does on the way
- Which layer goes on top
- Why the difference is two
- The name is not the date
- Found before it was designed
- A crease carries no curvature
- A leaf packs by corrugating
- The paper is all still there
- Almost every pattern fails
- Where the paper stops
- The lengths are free
- Crimp it away and ask again
- The order decides the count
- The vertex the list does not have
- What a checker cannot check
- Walking between two foldings
- An alternating sum of angles
- A theorem with an unstated hypothesis
Named alongside this one
Essays reaching for the same objects. Nobody chose these; they are what the concept index makes visible.
- How little the conditions decide assignment · kawasaki's theorem · maekawa's theorem
- The first thing about layers assignment · kawasaki's theorem · maekawa's theorem
- The loop a vertex cannot close assignment · kawasaki's theorem · maekawa's theorem
- The order that is its own mirror assignment · kawasaki's theorem · maekawa's theorem
- Which condition does the refusing assignment · kawasaki's theorem · maekawa's theorem
- A contradiction is even assignment · maekawa's theorem
What links here
The 8 essays that link to this one and share the most of its objects, of 81 that link here.
The objects this essay names
Each one links to every other essay that touches it.
AssignmentDevelopabilityKawasaki's theoremMaekawa's theoremVertex