Flat-folding

Two conditions at a point

Whether a single vertex folds flat is decided completely by two tests — one on the angles, one on the assignment. They are independent, they are easy to check, and together they settle the case entirely.

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.

A vertex that folds flatFour creases at one point, with the sectors between them measured and both flat-folding conditions evaluated. Kawasaki constrains the angles and Maekawa constrains the assignment; a vertex needs both, and they are independent of one another.VMMM60°90°120°90°Kawasaki60° + 120° = 180°90° + 90° = 180°both 180° — satisfiedMaekawa3 mountains, 1 valleysdifference 2exactly 2 — satisfiedangles sum to 360°which is what a flat sheet requiresmountainvalley
Fig. 1 Four creases at one point, with the sectors measured and both conditions evaluated. Kawasaki constrains the angles; Maekawa constrains the mountains and valleys. They are independent of one another, and a vertex needs both.

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.

iαi=2π.\sum_i \alpha_i = 2\pi.

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.

α1+α3+α5+=α2+α4+α6+=π.\alpha_1 + \alpha_3 + \alpha_5 + \cdots = \alpha_2 + \alpha_4 + \alpha_6 + \cdots = \pi.

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 α1+α3=α2+α4=π\alpha_1 + \alpha_3 = \alpha_2 + \alpha_4 = \pi, 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,

MV=2,|M - V| = 2,

where MM is the number of mountain creases and VV the number of valleys.

Why the difference is twoThe cross-section of a flat-folded vertex is a closed path that turns through exactly one full circle. Every mountain turns it one way by half a turn and every valley the other, so the counts must differ by exactly two — which is Maekawa's theorem, and it is a statement about winding rather than about paper.MVMwalk the folded edge and count the turns:each mountain turns +180°, each valley −180°the walk closes, so the total is ±360° — which forces |M − V| = 2the sheet must come back to where it started
Fig. 2 Why it is two rather than some other number. The cross-section of a flat-folded vertex is a closed path that turns through exactly one full circle. Each mountain turns it one way by half a turn and each valley the other, so the counts must differ by exactly two.

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 preliminary baseBoth diagonals and both midlines of a square, with the assignment that folds flat. Eight creases meet at the centre in equal sectors, so Kawasaki is satisfied by any assignment and Maekawa is the binding condition — five of one and three of the other, never four and four.at the centre8 creases, all sectors 45°3 mountain, 5 valleydifference 2 — Maekawa holdsfour and four would fail,which is what most people drawfold every line, then collapse — the four corners meetmountainvalleyraw edge
Preliminary base — sheet 150×150 mm — 3 mountain, 5 valley, 724.26 mm of crease
Fig. 3 The preliminary base with an assignment that works. Eight creases meet at the centre in equal sectors, so Kawasaki holds automatically and Maekawa is the binding condition — five of one and three of the other.

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?

How many assignments actually foldFor a fixed set of crease lines, the number of mountain-and-valley assignments that satisfy the local conditions, against the number of assignments there are. The valid ones are a small and shrinking fraction, which is the quantitative form of the claim that flat-foldability is rare.one degree-4 vertex4 of 164 creases · 25.0% surviveone degree-6 vertex8 of 646 creases · 12.5% survivethe preliminary base112 of 2568 creases · 43.8% surviveand these are only the local tests — a pattern can pass every vertexand still collide once the layers stack, which is the hard part
Fig. 4 For a fixed set of crease lines, the assignments satisfying the local conditions against the number of assignments there are. The valid ones are a small and shrinking fraction, which is the quantitative form of the claim that flat-foldability is rare.

For the preliminary base the answer is 112 of 256. That number is exactly (83)+(85)\binom{8}{3} + \binom{8}{5}, 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.

Together they are enough — at one vertex

The strong statement is that Kawasaki and Maekawa, plus big-little-big, settle the single-vertex case completely. A vertex satisfying all three folds flat; one failing any of them does not.

That is a genuinely satisfying result. It means the local question has a complete answer obtainable by arithmetic, with no search and no attempt to fold.

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 2π2\pi. 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.

The smallest sector decidesTwo assignments of the same four creases. Both satisfy Kawasaki and Maekawa. The left one folds; the right one does not, because the strictly smallest sector has the same assignment on both sides and the paper either side of it has nowhere to go.MVMM40°foldsopposite across the small sectorMMVM40°does not foldthe same on both sidesboth satisfy Kawasaki and Maekawa — the angles and the counts are identical
Fig. 5 One step of that recursion. The smallest sector is the one about to be cancelled, and whether it can be is exactly whether its two creases differ.

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 2n2^n, 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.

Every vertex passes, which is not enoughThe local conditions are checked at each vertex independently, and a pattern can satisfy all of them and still fail to fold, because the layers have to stack without passing through one another. Deciding that for a general pattern is NP-hard, so no figure can settle it.6 interior vertices, every one satisfying both theoremswhat the local tests seeangles at each vertexassignment at each vertexwhat they cannot seewhether layer 3 passes through layer 7whether a flap has room to existwhether the order is consistent everywhereBern and Hayes, 1996: NP-hardso this pattern is checked, not proved
Fig. 6 A pattern where every interior vertex satisfies every local condition. That is a necessary condition for the sheet to fold and not a sufficient one, and the gap between the two is the subject’s central difficulty.

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.