Model
This document defines what a Beloch program talks about: the set of states,
the values a program can name, and the operations on both. BELOCH.md
says how the language is written; this document says what it means. How the
kernel realizes it is the subject of KERNEL.md, which refers to the
statements here by their ids; this document does not refer back.
The document grows in steps. Each definition is stated with its intuition first, then its formal content. Statements are numbered within their section: a Definition introduces a term, a Lemma is a consequence with a proof or a pointer to one, a Corollary follows from a lemma without further argument, a Remark is unproven commentary, a Condition is a named requirement that a later definition collects, an Open point is a decision still to be made and is part of the contract until closed. Each statement carries the terms it defines, the statements it uses and the statements that use it. Every word used in a technical sense is listed under Terms with a link to where it is defined; the first use in the text links there too.
Before reading. The text uses set notation and plane geometry at first-course level, and folding words (crease, flap, layer, mountain, valley) the way folders use them. Everything it needs from flat-folding theory is restated where it is used; the full account is Hull 1.
Review status. Section 1 read and accepted. Section 2 rewritten on review (2026-09-17): the state is a triple, is a signed function on ordered pairs, refinement has its lemma. Section 3 read and accepted for now (2026-09-18); the primary source Justin 1997 is still missing. Section 4 rewritten on review (2026-09-18): every value is a set of paper points, the line sort is gone in favor of the material of a table line and the line of a straight bundle, and the former open point on a line value across states is closed by that. Section 5 is a draft; it still writes states as pairs and takes lines rather than bundles as arguments.
1. Paper
Section titled “1. Paper”Intuition: a sheet of paper is a flat shape whose points keep their identity no matter how the sheet is folded. Everything Beloch names is a point of the sheet, a line drawn on the sheet, or a set of such things.
Definition 1.1 sheet
A sheet is a simple polygon : a closed boundary without self-intersection and without holes. The plane of is the paper frame. A paper point is an element of .
Defines: paper frame · Realized by: Fold_state.flat
The sheet may be non-convex. Convexity belongs to the faces of a state (Definition 2.1): a non-convex sheet is decomposed into convex faces joined by flat hinges (angle ), and a convex sheet is a single face.
Holes are excluded because the tortilla conditions of Definition 3.6 are stated for regions without holes 2 and because the existence of a folding motion is proven for simple polygons only 3.
Sources: paper as an orientable 2-manifold with boundary 4; faces as strictly convex polygons because face division and overlap algorithms need it 5.
Open 1.2 sheet shapes beyond polygons
The language design for sheets as values names the circle as a shape. A disc is no polygon and has no decomposition into finitely many convex polygons, so Definition 1.1 and Definition 2.1 exclude it as written. The generalization is a sheet bounded by finitely many algebraic arcs and faces that are convex regions bounded by segments and arcs of the sheet boundary; convexity survives cuts by lines, so the rest of the model stands. Whether to widen the definitions now or when a circular sheet is built is open; the kernel's polygon geometry is the cost either way.
Definition 1.1Definition 2.12. Flat folded state
Section titled “2. Flat folded state”Intuition: a folded state records where every point of the sheet lies on the table and, wherever paper lies on paper, which layer is on top. In particular a state does not remember how it was reached.6
Definition 2.1 flat folded state
Let be a sheet and let be the table, a plane with a chosen side called up. A flat folded state of is a triple , read up to the refinement equivalence of Definition 2.5, where
- is a finite set of convex polygons, the faces, with pairwise disjoint interiors and : the faces cover the sheet and overlap at most along their boundaries;
- for every face there is a plane isometry , a map that preserves distances (every such map is a composition of translations, rotations and reflections), such that for all , and is the map with for . The agreement on shared boundaries makes well defined, and since the faces are finitely many closed sets, is continuous;
- with the set of ordered pairs of overlapping faces, is a function with , and reads as " lies above ": throughout their overlap, is on the up side of ;
and satisfies the non-crossing conditions of Definition 3.6.
Defines: table, face, layer, above, below · Realized by: Fold_state.t, Fold_state.violation.Bad_angle, Fold_state.make, Fold_state.rel
Reading the notation: is the union of all faces; is the interior of , the set without its boundary, and for convex polygons "the interiors meet" is the same as "the intersection has positive area"; names the function, its domain and its set of values, in that order.
One value per pair of faces is enough because the overlap of two convex faces is a single convex region that contains no crease of either face, and the order of two uncreased regions is constant on their overlap 7. The sign is Demaine's: means above 8; Akitaya et al. and Hull and Zakharevich use the opposite sign 9.
Figure 2.1 The preliminary base as a flat folded state, cut along --s across the diagonal, from .e to .f. Left, the folded state with the line, and arrows that show the side the section is seen from. Middle, the crease pattern with the paper the line crosses, each piece named by the face of the pattern it lies in and each folded hinge by the two pieces it joins, with .e, .m and .f where they are on the paper and a small circle wherever another layer lands on one of them. Right, the section with the stack pulled apart, the top layer first: each piece is a horizontal strip in its color, each folded hinge a turn from one strip into the next, each point a dashed line across the stack, and a dot on the layer it belongs to. The path is closed, since the line runs round the point of the base. Between .m and .f the layers are 1, 6, 5, 9, the quarters of .a, .b, .b and .c; between .e and .m they are 3, 8, 7, 10. The top and the bottom strip run flat across the diagonal at .m, from 3 into 1 and from 10 into 9, and the quarters of .b and .d are folded in half along it.
A segment of positive length shared by the boundaries of two faces and is a hinge. Its angle is when , so that on the table the two faces continue each other without a bend; it is when , where is the reflection of the paper across the line through the segment , so that on the table the two faces lie on top of each other, joined along the edge. A hinge of angle is a flat crease; a hinge of angle is a folded crease. That these are the only two cases is Lemma 2.2.
Lemma 2.2 a hinge is flat or folded
Let and be faces sharing a boundary segment of positive length. Then either , or with the reflection across the line through .
Proof. The isometry fixes every point of , since and agree there. An isometry that fixes two distinct points , fixes every point of the line through them, because a point of that line is determined by its distances to and . A point off the line is sent to a point with the same distances to and as , and there are exactly two such points, and its mirror image across the line. Hence is the identity or , which is the claim.
Defines: hinge
Definition 2.1Example 2.3Remark 2.4A state relates its faces in two ways, and each relation is a graph with the faces as nodes. In the first, two faces are joined when they share a hinge; it lives on the paper and says how the sheet hangs together. In the second, two faces are joined when they overlap on the table, which is a pair of Definition 2.1, and gives the edge its direction, from the face above to the face below. The first is fixed by where the creases run; the second is what the folding did with them.
Figure 2.2 The face graphs of the preliminary base folded by one collapse, the state of Figure 2.1 before the line --s is marked. Left, adjacency on the paper: each face is a node inside its own polygon, numbered from 1, and each hinge a path from one face through the middle of the hinge into the other, red where the hinge is a mountain, blue where it is a valley and dashed where it is flat. The two flat hinges lie on the diagonal through .a and .c, which stays flat. Right, superposition, the top layer first: a face stands one row below the lowest face above it, and a line joins two faces only when no third face lies between them, since every other pair follows from those. The base lies in two stacks that do not overlap, 1, 4, 3, 7 and 2, 6, 5, 8, so twelve of the 28 pairs of faces overlap, and holds each of them in both orders. A shaded node is a face that lies face down.
Example 2.3 a square folded in half
Let be the unit square with corners .a , .b ,
.c , .d ; let be its left half, its right
half, and the segment they share on the line . Unfolded,
and the hinge is flat. Fold the right half
onto the left, in Beloch fold (map .b onto .a): stays, so
, and is mirrored across the hinge, so
, which is ; the corner .b lands on
.a. Now turn the folded square on the table by a rotation :
and . The relation
says nothing about where lies. It says how lies relative to :
displaced by the flip across the hinge, wherever went. Read from
the right: mirror across in the paper, which puts it on 's paper
position, then move it the way is moved.
Program
paper square
fold (map .b onto .a) as --hFigure 2.3 The square of Example 2.3: on the paper .b is the right corner, on the table it lies on .a, and the crease --h is the hinge between the two faces.
Remark 2.4 folds and hinges are one reflection seen twice
The hinge relation composes the reflection on the paper side of . The fold operation of §5 composes on the table side: a fold along a table line replaces by on every moving face , so a state reached by folding has , the reflections that moved , in order. The two views agree because reflecting across the table image of is the paper reflection carried over by : , hence . A folded hinge between and is therefore the same as " is reflected across the table line ". A state still records no history: is the net motion, and the relation holds for every hinge whether or not the state was reached by folding.
Definition 2.1Lemma 2.2Definition 2.5 refinement equivalence
A split of a state replaces one face by two convex faces , with and disjoint interiors, sets , and sets for every face with ; is unchanged. A refinement of a state is the result of finitely many splits. Two states are the same state when they have a common refinement.
Defines: refinement
Definition 2.1Definition 2.1Lemma 2.6Definition 2.7Definition 5.2Definition 5.3Open 5.4Lemma 2.6 refinements have a common refinement
Two refinements of one state have a common refinement. Consequently "having a common refinement" is an equivalence relation on states, and "the same state" in Definition 2.5 is well defined.
Proof. Let and be the face sets of two refinements of . The overlay , with the pieces of empty interior dropped, consists of convex polygons with disjoint interiors covering , since the intersection of two convex polygons is a convex polygon. Each piece arises from by cutting along the lines through the edges of , one at a time, and each cut is a split. The overlay therefore refines , and by the same argument . The isometries and the values of on the overlay are inherited from through either side and agree, because both sides copied them from the same faces of . Reflexivity and symmetry of the relation are immediate; for transitivity, if , share a refinement and , share , then and are refinements of , their common refinement refines and , and splits compose.
Definition 2.5Definition 2.7 flap
A flap of a state is a maximal set of faces in which any two are joined by a chain of hinges of angle . Flaps partition the faces, and they are the pieces of paper that lie flat as one: neighboring faces of angle share their isometry, so on the union of a flap's faces is one isometry. A split of Definition 2.5 adds a hinge of angle inside a face, so flaps are invariant under refinement, which is why the language addresses flaps and never faces.
Defines: flap
Definition 2.1Definition 2.5Definition 4.2Definition 4.3Definition 4.4Definition 4.7Definition 4.9Definition 4.15Definition 4.17Definition 5.5Definition 5.10Definition 5.14Definition 5.18Definition 5.20Definition 5.22Figure 2.4 The fold leaves two flaps; the marked crease --s runs through the highlighted one and splits it into two faces, which stay one flap because the hinge between them has angle .
Three things follow from Definition 2.5. Which convex decomposition a
state carries does not matter: two decompositions of the same folding have a
common refinement, so they are the same state. A mark (§5) splits a face
along a flat hinge and nothing else, so it leaves the state unchanged. And
when two programs are said to reach the same folded state, this is the
equality meant: the two routes cut the sheet differently, and they agree up
to refinement.
Remark 2.8 linear extensions
The relation " above ", that is , is a partial order: it relates overlapping faces only. A total order of all faces that agrees with on every overlapping pair is a linear extension of , and two linear extensions with the same restriction to overlapping pairs describe the same state. A linear extension exists only when the above relation is acyclic across regions, and flat-foldable states violate this: in the square twist the four central faces lie over-under-over-under around the twist, so "no linear layer ordering will be able to avoid such obstructions", while the fold is flat-foldable 10. A representation that stores one linear extension therefore cannot hold every state of Definition 2.1.
Realized by: Fold_state.violation.Bad_rank, Fold_state.rank
3. Non-crossing conditions
Section titled “3. Non-crossing conditions”Intuition: says which of two overlapping faces is on top. Not every such assignment describes a sheet of paper. A face cannot pass through another face, it cannot pass through a fold, and two folds cannot thread through each other. This section states the conditions that rule those out, one at a time, and then defines a non-crossing layer ordering as one that satisfies them all. They are the non-crossing conditions of Akitaya et al. 11, as Hull and Zakharevich restate them 12, stated here for faces instead of points, plus two conditions that a decomposition into faces has to satisfy to be one sheet.
Three of the six properties in the literature need no condition here. Existence says that is defined exactly on overlapping pairs, and antisymmetry says that reversing a pair reverses the value; both are part of Definition 2.1. Tortilla-tortilla says that two uncreased regions which fully overlap are ordered as wholes; Definition 2.1 takes one value per pair of faces, and the paragraph after it says why that is legitimate.
Condition 3.1 order condition
For faces , , whose images share a region of positive area: if is above and is above , then is above .
Definition 2.1Condition 3.2Condition 3.3Definition 3.6The next two conditions speak about folded hinges. Let be a folded hinge between faces and . Since , the fold lays onto : near the images and cover the same region of the table, one on the other, joined along and separate everywhere else. The pair is a taco: closed along the fold, open away from it.
Condition 3.2 taco-tortilla condition
Let and be joined by a folded hinge , and let be a face whose image contains a neighborhood of an interior point of , so that overlaps both and there. Then lies on the same side of both: . A face cannot lie between the two sides of a fold.
Defines: taco, tortilla · Realized by: Fold_state.violation.Taco_tortilla
Condition 3.3 taco-taco condition
Let and be joined by a folded hinge , and and by a folded hinge , such that and overlap in a segment of positive length and all four faces overlap near it. Then the two pairs do not interleave: in the order of , , , at that place, and are either both above and , both below them, or both between them, and likewise with the pairs exchanged. Two folds along the same line are nested or separate.
Realized by: Fold_state.violation.Taco_taco
The last two conditions concern and the decomposition rather than . They are consequences of Definition 2.1 for a sheet that is one piece, and they are stated on their own because a representation has to check them.
Condition 3.4 hinge closure condition
For every hinge between faces and , the isometries and agree on the shared segment, and by Lemma 2.2 is then either unchanged or composed with the reflection across the segment's line. Equivalently every hinge has angle or , and is continuous.
Realized by: Fold_state.violation.Hinge_not_shared, Fold_state.violation.Hinge_not_closed
Condition 3.5 connectivity condition
The faces, joined along their hinges, form one connected piece: every face is reachable from every other through shared edges. This restates that the decomposition covers a single sheet.
Realized by: Fold_state.violation.Disconnected
These five conditions are what a layer ordering needs to describe paper. Each of the first three names one way in which paper would pass through itself; the last two say that folds one sheet. That they are also enough, so that every ordering which satisfies them describes a sheet that can be folded, is a theorem rather than a definition, stated as Lemma 3.7 after the definition that collects them.
Definition 3.6 non-crossing layer ordering
is a non-crossing layer ordering for when it satisfies
- the order condition,
- the taco-tortilla condition, and
- the taco-taco condition.
A pair with a non-crossing is a flat folded state when in addition
- the hinge closure condition and
- the connectivity condition
hold.
Defines: non-crossing · Realized by: Fold_state.make
Lemma 3.7 the conditions are necessary and sufficient
Let be an isometric folding map of a sheet into the plane, with faces as in Definition 2.1. A layer ordering on the faces describes a placement of in space that does not pass through itself if and only if is non-crossing in the sense of Definition 3.6.
Proof. Cited. Necessity: whenever two crease images coincide, the faces on either side are two tacos, a taco and a tortilla, or two tortillas, and any self-intersection caused by the ordering falls into one of these three cases 13. Sufficiency: lift each face along the third axis by its position in the ordering and join the faces along their hinges by half-cylinders; the conditions are exactly what makes this map one-to-one 14. That such a placement is reached by a continuous folding motion of unstretched paper is Demaine's theorem 15, which Hull's argument leaves open, since it deforms the paper elastically 16. The sheet without holes is what both results assume; with holes an additional condition on the boundary curves is needed 17.
Definition 3.6Definition 2.1Remark 5.12Sufficiency is what allows the model to define a flat folded state through and alone: nothing about a state's physical realizability is left outside the definition.
The last statement of this section connects the ordering on faces to the ordering on points that the literature defines. It stands here rather than in §2 because its proof needs the conditions above.
Lemma 3.8 face and point orderings agree
Let be a flat folded state in the sense of Definition 2.1, and let be the layer ordering on points that Demaine 18 and Akitaya et al. 19 define. Setting for points interior to faces with yields a global layer ordering in Demaine's sense, and one in Akitaya's, whose sign is opposite; every such ordering arises this way from exactly one up to refinement.
Proof. Pending. The forward direction needs the non-crossing conditions of Definition 3.6; the backward direction uses that the crease pattern of a flat folding is a straight-line graph, so its regions refine to convex faces, and that faces are uncreased regions, so is constant on pairs of faces by the consistency property.
Definition 2.1Definition 3.6Sources: the six properties on points and their names 20, with Figure 1 of Hull and Zakharevich showing the two crossing patterns 21; Justin's three conditions in Hull's statement 22.
4. Values and reads
Section titled “4. Values and reads”Intuition: a program names things on the paper, points, straight pieces of paper, and pieces that lie flat as one, and asks questions about them: where is this point now, which fold carries this onto that, which piece of paper holds this point. Values are the answers, and a read is the act of asking. A read looks at the current state and computes a value; it changes nothing. If the state has no answer, the read fails, and the program stops there.
Every value is a set of paper points, and a state says where those points lie on the table. A fold therefore moves every value with the paper, and no value has to be told about it. Values come in three sorts: point, bundle and flap.
Definition 4.1 point value
A value of sort point is a paper point . In a state its position on the table is . A point keeps its paper coordinate through every later state; only changes.
Defines: point
Definition 1.1Definition 2.1Definition 4.7Definition 4.8Definition 4.15Figure 4.1 .p keeps the paper coordinate it was named with, and the fold moves only where it sits on the table.
Definition 4.2 segment
A segment of a state is a closed straight piece of the sheet of positive length, for paper points , on which is an isometry, so that its table image is a straight segment of the same length. Equivalently the piece lies within one flap (Definition 2.7): faces are closed, so a piece along a hinge lies in the faces on both sides, and is an isometry on it either way. A straight piece that crosses a folded hinge is not a segment, since its image is bent. Segments are not values; they are what bundles are made of.
Defines: segment
Definition 1.1Definition 2.1Definition 2.7Definition 4.3Open 5.6Figure 4.2 --s meets each of the two flaps in a segment, and the crease --h is a segment along the hinge where the flaps join.
Definition 4.3 bundle
A value of sort bundle is a finite union of segments, a subset . Two bundles are equal when they are equal as sets: a bundle does not remember the segments it was assembled from, so a refinement, which splits segments along flat hinges, leaves every bundle as it is. The pieces of a bundle in a state are its maximal segments, the connected straight stretches within one flap each. Its table image is , one straight segment per piece. A fold across a bundle leaves the bundle as it is and splits a piece in two: the stretch across the new folded hinge is no longer a segment, so each side is a piece of its own. Pieces are read off the state; nothing subdivides a value.
Definition 2.1Definition 4.2Definition 2.7Definition 4.4Definition 4.5Definition 4.6Definition 4.7Definition 4.9Definition 4.15Definition 4.16Definition 4.17Definition 5.2Definition 5.5Open 5.6Definition 4.4 material of a table line
Let be a line in the table frame. The material of in a state is the union of all segments whose table image lies on : the paper that sends onto , isolated points aside. It is a bundle with one piece per flap that crosses, because is an isometry on each flap and the flaps are finitely many. A table line is what a construction computes; the value a program holds is its material.
Defines: material
Definition 2.1Definition 4.3Definition 2.7Definition 4.5Definition 4.6Definition 4.9Definition 4.10Figure 4.3 The material of the table line --l is one piece per flap it crosses: on the paper the two lie on either side of the crease, on the table they land on the same stretch of --l.
Definition 4.5 line of a bundle
A bundle is straight in a state when it is non-empty and its table image lies on one table line. The line of is that line, a read of the state defined exactly when is straight. Straightness belongs to the state, not to the bundle: a bundle straight in one state is bent by a fold across it and straight again when that fold is undone. The material of the line of a straight bundle contains and may be larger, where other flaps cross the same line.
A line is needed at two places only: as the axis of a write (§5), and as an
argument of an alignment (Definition 4.8). Both take a bundle and use its
line, so a line off the paper never arises, and a bundle that is not
straight cannot serve. Nothing in the language holds a table line across
states: --l = (map .a onto .b), then a fold, then mark (--l) scores the
pieces of --l where they lie after the fold, bent or not.
Definition 4.6 crease
A crease is a bundle that a write of §5 scored, under a name or not. Its hinges in a state are the hinges of the state that lie in it. A write scores the material of a line, so a crease is straight when scored; a later fold across it bends it, and it stays the same bundle.
Defines: crease
Definition 4.3Definition 4.5Definition 4.4Definition 4.9Figure 4.4 The crease --m is straight when marked; the fold that follows bends it: on the table its two pieces meet at a right angle, and --m is the same bundle of paper.
Definition 4.7 read
Write for the set of flat folded states of the sheet. A read of sort , with one of point, bundle and flap, is a partial function , where is a tuple of values of these sorts, the arguments. A read has no effect on the state. Where it is undefined the program fails with a reason.
Defines: read
Definition 2.1Definition 4.1Definition 4.3Definition 2.7Definition 4.9Definition 4.10Definition 4.15Definition 4.16Definition 4.17Definition 5.1The reads of the language fall into three families; the line of a bundle (Definition 4.5) is a fourth read that the others use.
Definition 4.8 alignment
An alignment is an incidence on the table between two objects, each the table position of a point, the line of a bundle, or the image of one of these under the reflection across the line sought: a point onto a point, a point onto a line, a line onto a line, the line through a point, the line perpendicular to a line.
Defines: alignment
Definition 2.1Definition 4.1Definition 4.5Definition 4.9Definition 4.10Lemma 4.12Open 4.14Definition 4.9 selection
Let be a table line, the reflection across it, and
, its two open half-planes. An alignment x onto y of
a construction is an incidence (Definition 4.8): lies on
, equivalently passes through , so x onto y and
y onto x are one alignment. Its objects are points, as their table
positions, and lines. A line is the bundle the program holds under its name
(Definition 4.3), and every read of its paper below takes that bundle, as a
finite set of table segments: a crease's scored segments
(Definition 4.6), a mark's extent in the flaps it was marked on
(Definition 5.5), and for a construction, a name bound to one and a paper
edge, all the paper on their line (Definition 4.4). The line of the bundle
(Definition 4.5) is the object of the incidence.
A point names the side of that holds it, and names none when . A set of segments names the side that holds , and names none when is empty or meets both sides. A line names the side its bundle names: none when crosses the bundle or contains it. A mark that ends short of names the side it lies on, though crosses its line on the paper.
A fold along with folding side , one of , carries
out an alignment x onto y when one of three holds: lies in and
lands on ; lies in and lands on ; or is a point on
and on the line . For a point that lands on a point this means lying
in ; for a point that lands on a line, lying in with
in the material of the line's table line (Definition 4.4),
which the line's bundle need not reach; for a line that lands on a line,
having part of its bundle in ; for a line that lands on a point ,
having its bundle at in . Whoever moves lands on the
paper of the other object, and a line that moves lands only with its
bundle: a mark carries out an alignment only where marked paper lands. The fold carries out a
construction when it carries out each of its onto alignments. The
landing of an object is the image under of its part in
, where adds to : a point in , and
the bundle of a line in . The part of a line on the other
side stays where it is.
A selection is the read that keeps one line of the candidates
of a construction (Definition 4.10), from the items a program
states: a line as heading, a point or a line as toward,
optionally with one object of the alignments as its subject, and a flap
as moving, which names the side of its first anchor point off ,
or of the bundle of a line. It runs four stages.
- Direction. With
heading, only the whose angle with is least remain; a tie leaves all of them to the later stages. - Folding side. With
toward, the folding side of is the side opposite the one names, undefined where names none; withmovingtoo, has to name that side, or the folding side is undefined. Withmovingalone, it is the side names. With neither, it is open. - Moved material. Only the remain whose folding side is defined and
whose fold with it carries out the construction, or whose folding side
is open and for which a fold with either side does. A remaining line with an open folding side
takes the side that alone carries the construction out, or, where both
do, the side of the first object of the first alignment as the program
writes it; that default belongs to the write (Definition 5.10). Where that
object names no side either, the write has no default and needs
towardormoving. - Landing. With a subject , only the remain whose fold gives
a landing, however many remain; the others would have nothing of
to measure. With
toward, among several remaining lines only those remain whose landing lies nearest , measured by the distance between sets, : the landing of with a subject, the union of the landings of all objects without.
is defined when exactly one line remains; its value is that line,
and its folding side is the side a fold along it moves. A construction that
determines one line by its alignments has and takes no heading;
toward and moving still pass it through stages 2 and 3.
Defines: selection, folding side
Definition 4.7Definition 4.8Definition 4.3Definition 4.4Definition 4.5Definition 4.6Definition 5.5Definition 2.7Definition 4.10Lemma 4.11Lemma 4.12Lemma 4.13Definition 5.20Open 5.21Definition 4.10 construction
A construction is a read of sort bundle, written as a finite set of alignments on one sought line: finitely many solutions, and no alignment redundant 23. A construction determines no line on its own. Its candidates in a state with arguments are the table lines satisfying every alignment, less those whose material in is empty, since a line off the paper is no fold; there are finitely many and there is usually more than one. A line is reached only through a selection, and the value of the construction is undefined otherwise, where is the selection (Definition 4.9) the program stated. The seven Huzita-Justin axioms are all the constructions on one sought line 24.
Defines: construction, candidate
Definition 4.7Definition 4.8Definition 4.9Definition 4.5Definition 4.4Lemma 4.11Open 4.14Figure 4.5 map .d onto --ef through .a has two candidates, the two tangents from .a to the parabola with focus .d and directrix --ef. Both cross the paper, so no line is reached until the program selects one; with toward .c the steep one remains, the start of the largest equilateral triangle in the square 25.
Figure 4.6 map .d onto --ef through .p, with .p a quarter of the way along --bd from .d: .d lands at the center under one candidate and on the top edge under the other. toward keeps the candidate whose landing lies nearer, so the points as near to both landings, dotted, cut the paper in two, and each panel shades the part where a toward point selects its candidate. .c lies above the line; a point on it selects nothing.
Figure 4.7 The program of Figure 4.6, one row per stage of Definition 4.9; the fold names no heading, so stage 1 is skipped. Both candidates cross the paper and both keep the side of .c, so the side that folds over carries .d, and each fold carries .d onto --ef. The landing stage decides: .d lands on the top edge under one candidate and at the center under the other, and the top edge lies nearer .c.
Lemma 4.11 a selection is a partial function
For every state, arguments and items, each stage of Definition 4.9 is determined, and is a partial function of the state, the arguments and the items. The line it keeps does not depend on the order in which the construction lists its alignments; the default folding side of stage 3, and with it whether a write without side items can take a side, does.
Proof. The candidates are finitely many (Definition 4.10), so every
stage filters a finite set. Stage 1 compares angles between lines, a
function of the lines alone. In stage 2, a point either lies on or
in exactly one of , since the open half-planes and
partition the plane, so the side a point names is determined or undefined.
The bundle of a line is a finite union of segments (Definition 4.3);
is empty, or lies in one half-plane, or meets both, and
these three cases are exclusive, so the side a line names is determined or
undefined, never two. The side moving names is that of one point, its
first anchor point off , or of a line. Stage 3 tests, for finitely
many points and segments, membership in a half-plane and incidence of a
reflected point with a segment. In stage 4, whether the landing of is
empty is again a test of half-planes, and a landing is a finite union of
points and segments, each compact, and so is ; the distance between
two non-empty compact sets is attained, so the minimum over the finitely
many remaining lines exists. A line with an empty landing is not compared.
Stages 1 to 4 read the alignments as a set of incidences and the landings
as a union, and none reads their order; only the default folding side
reads the first object. keeps one line or none, so it is a
partial function.
In the kernel the comparisons are exact: squared distances between points and segments, and squared cosines between lines, are rational functions of the coordinates, so they stay in the field the coordinates lie in.
Lemma 4.12 a remaining line carries out its alignments
Let remain after stage 3 of Definition 4.9 with folding side .
Reflecting the paper in across and leaving the rest in place
makes every onto alignment of the construction hold as an incidence of
the table positions. Conversely, an alignment whose two objects both lie
outside holds after the fold exactly when it held before.
Proof. is a candidate, so it satisfies each alignment
x onto y (Definition 4.8): lies on , and since
is an involution, passes through . Stage 3
gives one of three cases for each alignment. If lies in , what
lands of it lies on : a point lands at on , on the
paper of its table line where is a line, and the
bundle of a line in lands on the image of the line of
, which is the line of . If lies in , the same holds with the
roles exchanged; where is a line and a point, stage 3 asks for
the bundle of at in , and that point lands on . If
is a point on and on the line , it stays and lies on . A
point outside is not reflected, so an alignment between two
such objects holds after the fold exactly when it did before.
The lemma speaks about the half-plane on the table. Which layers on
a fold moves is its scope (Definition 5.10): every layer on , or
where the write names a depth, the flap it names, what lies outward of it
and what is hinged to those off the axis. An object that lies in under a layer the scope
leaves behind stays behind with that layer.
Lemma 4.13 where a crossing line lands
Let a construction fold a line onto a line , crossing at , and
let the bundle of be one segment whose interior contains , with
the parts and on either side of . The candidates are the two
bisectors through , where both cross the paper, as they
do on the flat sheet when lies inside it, and (m toward τ) measures the
landing of : under each bisector, the part that folds over lands on one
of the two rays of from , as a segment from of the length of
that part. Let be the unit direction of such that the landing under
lies on , let be a point on neither
bisector, the coordinate along of its foot on , counted from
, and its distance from .
- If the landing under lies on the opposite ray, is as near to one landing as to the other exactly when : lies on the perpendicular to through .
- If it lies on the same ray, with lengths of the two landings, is as near to one as to the other exactly when or .
Proof. Every point of apart from lies on one side of each bisector, so each bisector has paper of on both sides; stage 3 keeps both with any folding side, and has a landing under both. For perpendicular lines through , , the half-turn about , so . If sends the ray of to the ray of in direction , it sends the ray of to , and sends to and to . Each part is a segment from , and a reflection keeps its length.
The squared distance from to is for and for , and to it is for and for . In case 1, with the landing along is at squared distance , the distance to the one along , and is the mirror case; the two agree at . In case 2, for both squared distances are , equal; for the longer landing is strictly nearer unless .
Definition 4.9For --v folded onto --h in the square, the figures of issue #58, both
parts of --v have length : with (--v toward τ) case 2 is a
tie at every point, and case 1 ties on --v itself. A bare toward
measures the landing of --h as well, which lands on the rays of --v by
the same argument with the roles of the two lines exchanged, and adds ties
of its own.
Open 4.14 constructions that seek more than one line
Definition 4.10 puts its alignments on one sought line, which is where
the seven Huzita-Justin axioms live. The same alignments distributed over two
lines sought at once give the 489 two-fold axioms 26,
which packages/multifold (ADR 0020) enumerates. A candidate is then a pair
of lines, a selection keeps one pair, and a write takes two axes and moves
them together, so the definitions of candidate, selection and write all widen
by the same step. Which of them the language will carry, and whether a
two-fold write is one write or a pair, is not decided.
Definition 4.15 selector
A selector is a read of sort flap or point that resolves a description by incidence in paper coordinates: the flap whose faces contain every listed point; the point where bundles meet (Definition 4.16); the point on a bundle of a single piece at a given fraction of that piece's length from a named endpoint. Each is defined exactly when the description picks out one thing.
Definition 4.7Definition 2.7Definition 4.1Definition 4.3Definition 4.16Definition 4.16 meet
Let be bundles, , where a side of the sheet between two corners counts as the bundle of its points. Their meet is the read of sort point undefined otherwise. The intersection is taken in the paper frame, so the value does not depend on the state : a fold changes where lies on the table and never whether the bundles meet. A point of lies on both bundles in the same paper, so a layer that carries it carries both. A bundle may lie on any number of paper lines, as a crease scored through several layers does; only the number of common points counts. The meet is undefined in three cases: the intersection is empty, it holds two or more points, or it contains a segment, where the bundles share a stretch of paper.
Defines: meet
Definition 4.7Definition 1.1Definition 4.3Definition 4.15Figure 4.8 --h and --v each lie on two paper lines after the reverse folds, a scar and its mirror image, and have one point in common, the center .o.
Definition 4.17 filter
The filters are the reads of sort bundle that form the Boolean algebra of subsets of the pieces of a bundle generated by incidence predicates: for a point , a straight bundle or a flap , the predicate "the piece contains ", "the piece's table image meets the line of ", "the piece lies in ". A filter keeps the pieces satisfying a predicate, its complement drops them, and the union joins two bundles. Chaining filters is intersection.
Definition 4.7Definition 4.3Definition 4.5Definition 2.75. Operations
Section titled “5. Operations”Intuition: a write takes the current state and a few values and yields the
next state, or fails. Every write of the language is built from one
construction: some faces are reflected across a table line, and the layer
ordering is rebuilt around them. Which faces move, the moving set, is what
separates folding one flap from folding through the stack; where the moved
faces come to lie, the placement, is what separates a valley fold from a
mountain fold from a tuck. mark reflects nothing, flip reflects
everything, fold reflects one block, reverse reflects two blocks in one
move, and flatten moves the sectors of a fan by different motions. This
section defines the construction once and then each write as an instance of
it, with its parameters and its domain.
Definition 5.1 write
A write with parameter sorts is a partial function from states and values to states. Where it is undefined the program fails with a reason. Every value of a write is a flat folded state with a non-crossing ordering (Definition 3.6); a write has no other effect. The domain of a write has two parts: conditions on its arguments, stated with each write below, and the condition that the pair it constructs satisfies Definition 3.6. The second part is the same for every write and is not repeated.
Defines: write
Definition 2.1Definition 3.6Definition 4.7Definition 5.3Open 5.4Definition 5.5Definition 5.10Definition 5.14Definition 5.16Definition 5.18Definition 5.20Definition 5.22Definition 5.2 scoring
For a state and a bundle , scoring in is the refinement (Definition 2.5) that splits every face along each segment of it contains, joining the parts by hinges of angle . By Definition 2.5 the result is ; the hinges it introduces are the crease of (Definition 4.3). Scoring a line means scoring its material (Definition 4.5).
Defines: score
Definition 2.1Definition 2.5Definition 4.3Definition 5.3Definition 5.5Definition 5.8Definition 5.10Definition 5.20Definition 5.3 effective write
A write is effective in a state when its value is a different state in the sense of Definition 2.5. A score is exactly a write that is not effective: by Definition 5.2 its value is the state it was given. A read is effective nowhere, since it yields no state at all.
Defines: effective
Definition 5.1Definition 5.2Definition 2.5Open 5.4Open 5.4 whether a write acts on the states read up to refinement
A write is stated here on a state, so effective is a property of a write at a state. The stronger reading is that every write descends to the states read up to refinement (Definition 2.5): applied to two refinements of one state, a write yields two states with a common refinement, so it induces a map there, and a score induces the identity while an effective write does not. The text argues the intuition for scoring below, that a write may score every face its axis crosses because scoring changes nothing, and The OCaml kernel records that the representation does not quotient. The statement is not proved here, and nothing in the model rests on it.
Definition 5.3Definition 2.5Definition 5.1Every write below scores its axis first, so that each face lies on one side of the axis before any face moves. Because scoring changes nothing, a write may score every face the axis crosses, moving or not; the hinges that end up between two stationary faces stay flat and vanish again under refinement.
Definition 5.5 mark
The write mark takes a line , a flap or none, and an extent:
the whole of , a segment of between two points, or a point of
. Its value is the state itself, up to refinement. Its effect is a
crease value. With it is the bundle of the material of in the
faces of , clipped to the extent, and it is defined when that bundle
is non-empty and the extent lies in the image of ; an extent that
crosses a folded hinge of leaves the flap and is outside the domain.
Without it scores every layer under the extent: one piece per flap
whose image the extent meets, the material of in the faces of that
flap where its image lies under the extent. It is defined when there is at
least one piece.
mark is the identity on states. The read/write law of the language
sequences it as a write because it introduces a piece of material that
later reads select and later folds fold along; the model records that
material as a value in paper coordinates, and the state itself has no
memory of it. The mountain or valley intent a program may write beside a
mark is an annotation for the crease pattern output and no part of the
state or the value.
Open 5.6 a mark at a point
A mark whose extent is a single point yields a segment of length zero, which Definition 4.2 excludes from bundles. The language admits such a mark as a crease whose material is one point on and whose line is , and a meet against it uses the line. Whether a bundle may hold a point together with the line it was marked on, or a point mark is a value of its own sort, is not decided.
Definition 5.5Definition 4.2Definition 4.3Definition 5.7 letter of a folded hinge
Let be a folded hinge between faces and . Exactly one of the two isometries and preserves orientation, because they differ by a reflection; the face whose isometry preserves orientation is face up, the other face down. The letter of is valley when the face-up face is below the other, mountain when it is above 27.
Defines: letter, mountain, valley, face up, face down
Definition 2.1Corollary 5.11Lemma 5.17Definition 5.18Corollary 5.19Definition 5.20Definition 5.22The letter is the folder's mountain and valley seen from the front of the paper, and it is a property of the state: no write takes a letter as an instruction, and every letter in an output is read off the state.
Definition 5.8 reflection of blocks
Let be a state, a table line, one of the two closed half-planes bounded by , and the reflection of the table across . Score , so that every face lies in or in the other half-plane. A block is a pair of a set of faces lying in and a placement , which is one of top, bottom, over and under for a set of faces belonging to no block. The reflection of a family of blocks with pairwise disjoint face sets is the pair given as follows, where , the moving set, is the union of the blocks' face sets and every other face is stationary:
- for , and for stationary ;
- two faces of one block that overlap under overlapped under and reverse their relation: . A rigid half turn reverses a stack;
- two stationary faces keep their relation;
- a face of a block and a stationary face that overlap under are ordered by : is above for top and below for bottom. For over , is above unless lies above every face of it overlaps, in which case is below ; for under , is below unless lies below every face of it overlaps. Both placements require to cover the landing footprint: every point of lies in the image of some face of ;
- faces of two different blocks are ordered as their placements are ordered in the stack: a block placed bottom below every other block, a block placed top above every other, a block placed at below a block placed at when every face of lies below every face of it overlaps, and a block placed under below a block placed over . Two blocks whose placements are not so ordered are outside the domain.
The reflection is the candidate a write returns: it is the next state when it satisfies Definition 3.6 and undefined otherwise.
Defines: block, placement, moving set, stationary
Definition 2.1Definition 5.2Definition 4.5Condition 3.4Definition 3.6Lemma 5.9Definition 5.10Corollary 5.11Lemma 5.13Definition 5.14Definition 5.18Corollary 5.19Definition 5.20Hinge closure (Condition 3.4) is where the reflection fails when the paper would tear: a hinge that joins a moving face to a stationary face off the axis leaves discontinuous there. On the axis the picture is exact:
Lemma 5.9 hinges toggle on the axis
Let be the reflection of blocks across , and let be a hinge between faces and . If both faces move or both are stationary, the angle of is unchanged. If moves, is stationary and lies on , the angle of changes from to or from to .
Proof. Write for the reflection of the paper across the line of . If both move, and , so exactly when ; likewise when both are stationary. If moves and , then carries the line of onto , so . For a flat hinge, and : angle . For a folded hinge, and : angle .
Definition 5.8Condition 3.4Definition 5.14Corollary 5.15The lemma is why an unfold needs no construction of its own: reflecting a
block back across a folded hinge returns that hinge to angle , and the
crease is then a flat hinge that refinement forgets. What survives is the
crease value, which a later write can fold along again. The language offers
the write as unfold (Definition 5.14).
Definition 5.10 fold
The write fold takes a table line , a side of it, a depth
flap with material in or none, and a placement . Score
and call the faces lying in the candidates. The moving set
is the least set of candidates that contains the faces of in ,
or every candidate where there is no depth, and is closed under
- hinges off the axis: a candidate joined to a face of by a hinge, folded or flat, whose image does not lie on is in , since the paper cannot tear there; with the flat hinges a flap moves as a whole (Definition 2.7); and,
- outward closure: a candidate that lies above a face of is in for top, and one that lies below a face of is in for bottom. For under a candidate outside that lies above a face of and below every face of it overlaps is in , and for over one that lies below a face of and above every face of it overlaps. The faces of and the layers beyond them stay.
The value of the write is the reflection of the single block . It is defined when for over and under the set is the faces of a stationary flap, and when the reflection is a state. The crease the write scores is the bundle of the hinges of the result that lie on between a face of and a stationary face.
Definition 5.1Definition 5.8Definition 2.7Definition 5.2Definition 4.5Corollary 5.11Remark 5.12Lemma 5.13Definition 5.14Definition 5.18The language derives from the anchor: the point of a moving item, or
the object a construction moves, and the side its image lies on. A point on
the axis names no side, and a flap that straddles the axis without a point
names none either; both are outside the domain. mountain is the placement
bottom and the default is top; up to names ; over and
under name . Without the moving set is every layer on , as
a finger pressing a crease through the stack takes it. With it is
the flap , the layers outward of it, and every layer joined to
those by a hinge off the axis, folded or flat: leaving such a layer behind
would tear the paper, so the closure takes it along. For a fold placed
over or under a flap, the layers outward of end at that flap:
the fold takes every layer between and the target, hinged to
or not, as a folder lifts the flap with what lies on it and slides
it in beside the target. The target and the layers beyond it stay. A line
with all of the paper on one side of it is outside the domain the language
gives fold: without every layer would move and no hinge would
change. unfold (Definition 5.14) turns some of the layers over such a line.
Figure 5.1 --f folds the corner through both layers: without up to the moving set is every layer on the side of .b. The crease reads valley on the face-up layer and mountain on the face-down one.
Figure 5.2 The same fold given the top layer as its depth: the moving set grows outward from the flap carrying .b, and the layer beneath it stays. The crease reads mountain because that layer lies face down.
Figure 5.3 The terms of --f in Figure 5.2 on the state it reads: the axis dashed and the moving set filled, the corner of the top layer alone. The layer beneath it is a candidate and stays, since the moving set grows outward from the depth. On the right the state after the fold.
Corollary 5.11 letters of an outside fold
For a fold placed top, every hinge it scores reads valley where the face was face up before the fold and mountain where it was face down; for a fold placed bottom the other way round.
Proof. Let and let be the stationary face across the new hinge; before the fold both had the same isometry. After it, is reflected and is not, so exactly one is face up. For top, lies above . If is face up, the face-up face is below: valley. If is face down, is face up and above: mountain. For bottom, exchange above and below.
Definition 5.10Definition 5.7Definition 5.8Corollary 5.19A placed fold has no such rule. Its letter is read off the finished state and depends on the layer the block is inserted against: tucking a corner under a face-down layer reads valley, under a face-up layer mountain.
Figure 5.4 A pocket tuck: after the sheet is folded in half, the corner .b of the top layer is placed beneath .p, into the gap between the two layers. The crease --t reads valley because the layer it goes beneath lies face down.
Remark 5.12 simple folds
A fold placed top or bottom is a some-layers simple fold in Demaine's sense: a rigid rotation of some layers under the crease segment through , avoiding self-intersection throughout 28. Outward closure is the condition that rotation imposes at the crease: a stationary layer outside a moving one would be swept through. The model checks the end state and never the motion; that a non-crossing end state of an outward-closed block is reached by a rigid rotation is not claimed here. A fold placed over or under is no simple fold, since the block passes between layers that open for it. The model accepts it whenever the end state is a state, which by Lemma 3.7 means whenever the end state can be reached by some folding motion.
Definition 5.10Lemma 3.7Lemma 5.13 an outward-closed fold crosses nothing
Let be the moving set of a fold placed top or bottom. If the reflection of satisfies the hinge closure condition, it satisfies the order, taco-tortilla and taco-taco conditions as well.
Proof. Pending. The order condition holds because the relation on stationary pairs is unchanged, the relation on moving pairs is reversed, and every moving face lies outside every stationary face it overlaps. The two taco conditions need the case analysis at a crease image: a new taco on has its moving side outside its stationary side, and an old taco or tortilla lies wholly in or wholly outside it by outward closure and the closure under hinges off the axis.
Definition 5.10Definition 5.8Definition 3.6Condition 3.4Definition 5.14 unfold
The write unfold takes a table line , a side of it, a placement
that is top or bottom, a depth flap or none, and a
staying flap or none, at least one of the two given, each with
material in . Score and call the faces lying in the
candidates. With , the moving set is the moving set
Definition 5.10 gives for , , and . With alone,
let be the least set of candidates that contains the faces of
in and is closed under the hinges off the axis and under inward closure:
a candidate that lies below a face of is in for top, one that lies
above a face of for bottom. Then is every candidate outside .
The value of the write is the reflection of the single block . It is defined when contains no face of , when every hinge on between a face of and a stationary face is folded and at least one exists, and when the reflection is a state.
Definition 5.1Definition 5.10Definition 5.8Definition 2.7Lemma 5.9Corollary 5.15Corollary 5.15 an unfold opens and folds nothing
In the value of an unfold, every hinge on between a face of and a stationary face has angle , and every other hinge keeps its angle.
Proof. By Lemma 5.9 a hinge on between a moving and a stationary face changes between and , and the domain asks each of them to be folded, so each becomes flat. A hinge between two moving or two stationary faces keeps its angle by the same lemma. A hinge off between a moving and a stationary face fails hinge closure (Condition 3.4), so the reflection is no state there.
Definition 5.14Lemma 5.9Condition 3.4The language takes the side from the point of the moving item, else
from the flap up to names, else from the point of the toward item; up
to names , else moving does, and toward names .
(moving … down) gives the placement bottom, and (moving … up), the
default, top: the direction of the moving set and the side of the stack it
lands on are one choice. The axis is a
crease the program has scored, since the hinges an unfold opens lie on the
paper already. A hinge on that is flat, or a face of the axis
cuts, which scoring joins to a stationary face by a flat hinge on ,
puts the write outside its domain: turning that layer over folds the hinge,
and fold writes that.
Figure 5.5 After two folds in the same direction every layer lies beside --q. unfold turns the layer of .b back over it, with the two layers above, which would be swept through otherwise: the hinge on --q between those layers and the bottom layer opens, and the hinge on --q among the moving layers stays folded.
Definition 5.16 flip
The write flip takes no argument. For a state and a fixed
reflection of the table its value is ,
where exchanges above and below on every overlapping pair. It
is defined on every state.
Lemma 5.17 flip preserves everything but the side
The value of flip is a state. Every hinge keeps its angle and every folded
hinge keeps its letter; every face changes between face up and face down.
Proof. The order, taco-tortilla and taco-taco conditions are stated symmetrically in above and below, so satisfies them when does. For a hinge between and with , also , so hinge closure and the angles are unchanged; connectivity does not involve . Composing with reverses the orientation of every face, so the face-up face of a folded hinge becomes the face-down one, and puts it on the other side: the letter is unchanged.
Definition 5.16Definition 5.7Definition 3.6Which reflection is used is immaterial for the state up to a motion of the table, and it is visible to line values, which are table lines ([#open-line-after-fold]).
Figure 5.6 With the sheet turned face down, the crease --g scored by a fold placed on top reads mountain: the folder turned the paper over and made a valley on its back.
Definition 5.18 reverse fold
The write reverse takes a table line , a side , an anchor flap
with material in , a kind, inside or outside, and a finite
set of letters, each a letter on hinges of the state. Score and call
the faces in the candidates. The tip is the least set of
candidates that contains the faces of in and is closed under
hinges of any angle between candidates. An opening is a place between two
faces of that are consecutive in restricted to , such that
every hinge between a face below it and a face above it is folded and lies
on one table line that meets . The opening cuts into the blocks
below it and above it. The body of a block is the set of
stationary faces joined to a face of by a hinge on . An opening
is admissible when both bodies are non-empty and separated: every face of
lies below every face of it overlaps. Its state is the
reflection of the two blocks and
for inside, and and
for outside; it meets a letter when every hinge of
the letter names has that letter in it. The value of the write is the one
state the admissible openings that meet every letter give, two states that
order every overlapping pair alike counting as one (Definition 2.1). It
is undefined when there is none or more than one.
Defines: tip, opening, block, spine, body
Definition 5.1Definition 5.8Definition 5.10Definition 2.7Definition 5.7Definition 2.1Corollary 5.19The two blocks move in one reflection and never one after the other: once one block has moved, a hinge across the opening joins a reflected face to an unreflected one along no common segment, and hinge closure fails. Inside, each block lands next to its own body in the gap between the two bodies; outside, the lower block goes under everything and the upper block on top.
A tip of one flap folded once has one opening, between its two layers. A tip of several layers can have several: the square of Figure 5.9 opens between its two inner layers or below its outermost one, and the write is undefined until a letter keeps one of them. A letter names a hinge of the spine by its crease and a point on it, as a letter of a flatten names a ray.
A reverse fold is the fan (Definition 5.20) at the point where meets , a point of the projective table that lies off the paper or at infinity where does not cross on the paper. Its rays are on the side of the body, whose hinges stay; on the side of the tip, whose hinges across the opening turn and whose other hinges stay; and on either side of , which adds a crease through every layer of the tip. Inside and outside are the placements the write hands to the fan.
Figure 5.7 The preliminary base by two inside reverse folds 29: the diagonal fold makes a triangle whose spine is --bd, and each acute corner is reversed to the right-angle corner in turn.
Figure 5.8 The terms of --h in Figure 5.7 on the triangle it reads: the axis dashed, the spine on --bd, the two blocks of the tip hatched in two directions below the axis, where they lie on one another, and their bodies above it, each block and its body in one color. On the right the state after the reverse fold.
Figure 5.9 A square folded in half twice in the same direction, its lower half inside-reversed along the middle, cut along the top edge. The tip opens between its two inner layers, and the letter on the inner hinge of --e through .q keeps that opening: both hinges on the spine turn, 5|8 and 6|7, nested inside 2|3 and 1|4, and the lower half's layers read 8, 7, 6, 5 between 3 and 2. On the other edge the hinge 7|8 keeps its letter.
Figure 5.10 The same square with a mountain on the inner hinge: the tip opens below its outermost layer. Only the outer hinge 5|6 turns, the inner one, 7|8, keeps its letter, and the three inner layers of the lower half go in as one block, 8, 7, 6 between 2 and 5.
Corollary 5.19 letters of a reverse fold
Every hinge across the opening reverses its letter, and every other hinge of the tip keeps its letter. Where a hinge across the opening crosses , the hinges the write scores there read the letter it had before for an inside reverse and the opposite letter for an outside reverse.
Proof. Both blocks are reflected, so in each the face-up faces become face down and the face-down ones face up. Inside a block the reflection also reverses the order of the layers, so a hinge with both faces in one block keeps its letter by Corollary 5.11. A hinge across the opening joins a face of to a face of ; the blocks keep their relative order, since lies below and each block is placed at its own body, so stays below while both change side: the letter reverses. Where the hinge crosses , and are hinged on to faces of and of , flat before the fold, so and are joined by the part of the hinge on the body's side, with its letter. Let be face up; that hinge is then a valley. Inside, lands above and below the face-down : by Corollary 5.11 both new hinges are valleys. Outside, lands below everything and above: both mountains. For a face-down exchange the letters.
Definition 5.18Definition 5.7Corollary 5.11Definition 5.8Definition 5.20 flatten
The write flatten takes a point of the projective table: a table
point, or a point at infinity, one for each direction (ADR 0041). It takes
an anchor: a flap whose image meets the rays, a finite set of
rays: segments of creases on lines through , from where lies on
the image of and from the edge of that image where it does not, to
the other edge, no two of one crease in one direction, a set of
constraints, and a selection . Rays of different creases in one
direction lie in different layers and count as one direction below. At a
point at infinity the lines of the rays are parallel and the wedges
between them are strips. Let be the reflections of
the table across the lines of the rays' directions, in counter-clockwise
order around , or in order across the strips at a point at infinity.
The closure condition below applies only where surrounds on the
paper: the paper point of under lies inside the sheet and on no
folded hinge. A fan whose vertex lies on the edge, on a folded edge, off
the paper or at infinity has no condition at its vertex and no emergent
ray; only the closure of its paper paths below applies (ADR 0044).
- If is even, the composition must be the identity; this is Kawasaki's condition that the alternating sum of the angles between consecutive rays vanishes 30.
- If is odd, the composition is a reflection across a line through , since an odd number of reflections through a point reverses orientation and fixes the point. Each of the two rays of that line that lies strictly inside a gap between consecutive given rays is an emergent ray; adding it makes the composition close. Each choice is a candidate fan.
Call the directions of a candidate fan and the regions of the table between consecutive ones the wedges , with between and . The stayer is one wedge , named by the program or by its convention. The program names it by points of : is the wedge whose closure holds , and the candidate fan has candidate states only when exactly one wedge does and it holds a piece of . The layers of the points play no further part; the tip decides which layers move. Let be the image of and let be the faces whose image meets in positive area, the layers under the fan. Score every face of along the rays' half-lines from , so that each piece lies in one wedge, and call the pieces outside the candidates. The tip is the least set of candidates that contains the candidates of and is closed under hinges of any angle between candidates. The value keeps the scoring on the faces with a piece in and leaves the other faces whole.
A hinge on a ray with a piece of on one side changes when it goes from flat to folded or from folded to flat, and keeps otherwise. A flat hinge of a ray's crease on that ray changes. A folded hinge of a ray's crease, and a hinge of another crease on a ray, changes or keeps; each choice is a candidate fan. The motion of a piece is the composition of the reflections across the changing hinges that a path on the paper crosses from a piece outside to , in order 31, and the identity outside . A choice is a candidate only when every such path gives the same motion, which is Kawasaki's condition at every paper point the paths enclose 32, and when some piece of moves. The map is on every piece . A candidate state is a pair with such that it satisfies Definition 3.6 and the constraints:
- a letter for a ray: of the hinges of the ray's crease on that ray that do not open, the one whose face on the clockwise side lies lowest has that letter;
- one sector over another: the two pieces are so ordered;
- the stayer, which only fixes where the result lies on the table.
A ray may run along hinges of that are already folded, as the spine of a reverse fold does (Definition 5.18). Such a hinge stays when it keeps its angle and its letter, turns when it keeps its angle and takes the other letter, and opens when it changes, as the spine of a squash does.
The value of the write is the one candidate state selects from the set of all candidate states of all candidate fans; it is undefined when that set is empty, when its states differ in their stayer, or when leaves more than one. The crease the write scores is the bundle of the hinges on the given rays when is even and the bundle of the hinges on the emergent ray when is odd.
Defines: fan, ray, sector, stayer, emergent ray
Definition 5.1Definition 2.7Definition 5.2Definition 5.8Definition 5.7Definition 3.6Definition 4.9Open 5.21Definition 5.22The construction is the folding map of flat-folding theory, restricted to the hinges the fan changes 33. On a single sheet a path from the stayer to a piece crosses the rays between the stayer's wedge and the piece's wedge, so every piece of a wedge moves by the composition of the reflections across those rays, the single-vertex fan of 34. On folded paper two pieces of one wedge can move differently: the squash of one flap of the preliminary base turns a piece of the top layer about the vertex and reflects the piece of the second layer beside it across the axis. Kawasaki's theorem says that the closure condition is exactly flat-foldability of a vertex the paper surrounds, and Maekawa's theorem, that the letters around it differ in number by two, holds in every candidate state because a candidate state is a flat folded state 35. A layer under the fan moves with its sector when it hangs on through the candidates, a flap of several layers hinged together beyond the fan included, and a separate flap stays where it lies: on a book fold, a fan near the corner whose rays end on the raw edges folds the corner of alone, and a fan whose ray reaches the spine moves both layers. On a single sheet every piece is joined to , so the tip is every piece outside the stayer's wedge. Where a face of is hinged to a face in the stayer's wedge off the rays, the paths disagree and the write is undefined, as for every reflection.
Figure 5.11 The preliminary base by one collapse at the center: six rays fold, the diagonal through .a and .c stays flat, and the ordering constraint puts the a-quarter in front of the b-taco.
Figure 5.12 The terms of the collapse in Figure 5.11: the vertex at the center, the six rays, and the stayer, the quarter between the rays on --h and --v that holds the diagonal to .c. Every other sector moves by the reflections across the rays between it and the stayer; on the right the state after the collapse.
Figure 5.13 The candidate states of a four-ray vertex, the midline on both sides and the half-diagonals to .c and .b, each as its crease pattern, mountains red and valleys blue. The sectors are 45°, 135°, 135° and 45°, so opposite sectors sum to 180° and the vertex folds flat. Every state has three rays of one letter and one of the other. The three with three mountains are removed; the three with one mountain each remain, and without toward the program fails as ambiguous (Open 5.21).
Figure 5.14 The same vertex with toward .c: of the three states with one mountain, two put less of the material toward .c on top than the third, which remains.
Open 5.21 what selects among the candidates of a flatten
Definition 5.20 leaves to the program, as Definition 4.10 does
for the candidates of a construction. The language's toward is three rules in
sequence: the candidate whose moved material lies toward the named point,
among those the ones with the fewest mountains on the given rays, among
those the one whose material toward the point lies on top. The first is a
selection in the sense of Definition 4.9; the other two are conventions that
pick a folder's habit out of several states that are all flat folded. Whether
they belong in the model as named selections, or the language should ask for
a constraint instead when several states remain, is not decided.
Definition 5.22 squash
The write squash takes a spine : a folded hinge of the state with
one end inside the sheet and on no raw edge, the vertex , and a
target: a line through on the table, or a table point. Let
be the flap of the upper face at and the side of the table line
of on which lies. The target has to lie in : a point as it
stands, a line by its ray from into . The axis is the line
through that reflects the far end of onto the target's ray, one
of the two bisectors of the lines of and of the target. The value of
the write is the value of flatten (Definition 5.20) at with anchor
, the rays on the lines of , of the axis and of the target, the
stayer the wedge of beyond the target's line away from , and no
letter: opens, each layer of the tip folds along its piece of the
axis, and the hinge of on the target's line folds. It is undefined
when has no hinge on the target's line, and when both ends of
lie inside the sheet (ADR 0038).
Defines: vertex
Definition 5.1Definition 5.20Definition 2.7Definition 5.7A squash is the step a diagram gives with one word and an arrow: the flap stands up, opens, and comes down flat with its spine on the target. On the preliminary base the flap's two layers lie on each other mirrored at the spine, so the axis is one line on the table and two creases on the paper, one per layer, and the half of the front face beyond the center line keeps its place.
Figure 5.15 The squash of the front flap of the preliminary base on the side of --da: its spine on --h opens and lands on --ac; the axis --s through the closed corner folds each layer of the flap, and the other half of the front face stays.
6. Programs
Section titled “6. Programs”To be written: a program as a finite sequence of states.
Open 6.1 several sheets and bodies
The language design for sheets as values lets a program hold several sheets and assemble them into a body. In the model a multi-sheet program state is a family of flat folded states, one per sheet, and an assembled body is a flat folded state of the disjoint union of its sheets: one into one table, one over the faces of all members, the non-crossing conditions unchanged, and Condition 3.5 required per member instead of overall. A tab inside a pocket is then placing the tab's faces between the pocket's, with the taco-tortilla condition keeping it out of the pocket's fold. This covers flat assembly; a body that is not flat waits for the non-flat state. Taking a body apart again is trivial in the model and absent from the language, which should be stated as a choice.
Definition 1.1Definition 2.1Definition 3.6Condition 3.5Each entry gives the meaning in one line and points to the definition that fixes it.
alignment
An incidence on the table that the line sought has to satisfy, with one side of it reflected across that line.
Defined in Definition 4.8
anchor
The point or flap a fold names its side by: the side of the axis its image lies on folds over. It names that side and nothing else.
Defined in Definition 5.10
block
The layers of the tip on one side of the opening, reflected as a whole.
Defined in Definition 5.18
body
The stationary faces a block of the tip is hinged to along the axis.
Defined in Definition 5.18
bundle
A finite union of segments, a set of paper points; the material of a line, or a crease.
Defined in Definition 4.3
candidate
A table line that satisfies every alignment of a construction in a state and crosses paper; a line off the paper is none.
Defined in Definition 4.10
construction
A read of sort bundle: a finite set of alignments on one sought line, whose candidates a selection narrows to the one whose material is the value.
Defined in Definition 4.10
crease
A bundle that a write scored; its hinges in a state are those of the state that lie in it.
Defined in Definition 4.6
depth
The deepest flap a fold reaches where the program names one; the moving set grows outward from it, up to the target of a placed fold. Without one, every layer on the moving side moves.
Defined in Definition 5.10
effective
A write whose value is a different state; a score is not one, and a read is no write.
Defined in Definition 5.3
emergent ray
The ray a flatten with an odd number of given rays has to add for the vertex to fold flat.
Defined in Definition 5.20
face
A convex polygon of the decomposition , on which is the single isometry .
Defined in Definition 2.1
face up, face down
A face is face up in a state when its isometry preserves orientation; the front of the paper shows.
Defined in Definition 5.7
fan, ray
The segments from one vertex along which a flatten folds at once.
Defined in Definition 5.20
flap
A maximal set of faces joined by hinges of angle ; a piece of paper that lies flat as one, and the unit a program addresses.
Defined in Definition 2.7
folding side
The side of a candidate line that a fold along it moves: the one opposite
toward, the one moving names, or with neither the side that carries
the construction out.
Defined in Definition 4.9
hinge
A boundary segment of positive length shared by two faces, with an angle of (flat crease) or (folded crease).
Defined in Lemma 2.2
layer, above, below
In a region of the table where several faces overlap, the faces are the layers, and says for each pair which is above: puts above .
Defined in Definition 2.1
letter, mountain, valley
Mountain or valley, derived for every folded hinge from which of its two faces is face up and which is above.
Defined in Definition 5.7
line
The table line a straight bundle lies on; a read defined exactly when the bundle is straight.
Defined in Definition 4.5
material
The paper a table line crosses in a state: a bundle with one piece per flap.
Defined in Definition 4.4
meet
The one paper point that two or more bundles have in common; a read defined exactly when their intersection is a single point.
Defined in Definition 4.16
moving set, stationary
The faces a write reflects; every other face is stationary.
Defined in Definition 5.8
non-crossing
The conditions on a layer ordering that keep the paper from passing through itself.
Defined in Definition 3.6
opening
The place between two layers of the tip where a reverse fold opens it: every hinge that crosses it is folded and lies on the spine.
Defined in Definition 5.18
paper frame
The plane the sheet lives in before any folding; coordinates in it never change.
Defined in Definition 1.1
piece
A maximal segment of a bundle in a state; one straight stretch within one flap.
Defined in Definition 4.3
placement
Where a reflected block comes to lie among the stationary faces: outside above, outside below, or immediately above or below a set of stationary faces.
Defined in Definition 5.8
point
A paper point, named once and carried in paper coordinates; its table position depends on the state.
Defined in Definition 4.1
read
A partial function from the current state and some values to a value; it never changes the state.
Defined in Definition 4.7
refinement
Splitting faces along flat hinges, finitely often; states with a common refinement are the same state.
Defined in Definition 2.5
score
Split faces along a bundle without moving anything; the state is unchanged up to refinement.
Defined in Definition 5.2
sector
A piece of the tip between the hinges on the rays of a fan. It moves by the creases on its paper path from the stayer (ADR 0044).
Defined in Definition 5.20
segment
A straight piece of the sheet on which is an isometry, so within one flap; carried in paper coordinates.
Defined in Definition 4.2
selection
The read that keeps one line out of the candidates of a construction: by
direction with heading, by the side that folds over with toward or
moving, by whether that fold carries out every alignment, and by where it
lands the objects of the alignments.
Defined in Definition 4.9
spine
The table line the hinges across the opening lie on. The reverse fold turns those hinges the other way.
Defined in Definition 5.18
stayer
The wedge of a flatten whose pieces keep their place; it fixes where the result lies on the table.
Defined in Definition 5.20
straight
A bundle whose table image lies on one table line in the current state.
Defined in Definition 4.5
table
The plane a state is folded onto, the image of , with a chosen side called up. "Table frame" names its coordinate system; a point of the sheet has one paper coordinate and, per state, one table coordinate.
Defined in Definition 2.1
taco
Two faces joined by a folded hinge, seen near the hinge: closed along the hinge, open away from it.
Defined in Condition 3.2
tip
The material a reverse fold or a flatten moves: beyond the axis or outside the stayer's wedge, and joined to the anchor.
Defined in Definition 5.18
tortilla
A face whose image covers a neighborhood of a point of a folded hinge's image without that hinge being its own edge.
Defined in Condition 3.2
vertex
The end of a squash's spine inside the paper, where the other folded hinges of its flap meet; the point of the squash's fan.
Defined in Definition 5.22
write
A partial function from the current state and some values to the next state; where it is undefined the program fails.
Defined in Definition 5.1
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), chap. 6, https://doi.org/10.1017/9781108778633.↩
Thomas C. Hull and Inna Zakharevich, “Flat Origami Is Turing Complete,” arXiv Preprint, 2023, sec. 2.1.↩
Erik D. Demaine and Joseph O’Rourke, Geometric Folding Algorithms: Linkages, Origami, Polyhedra (Cambridge University Press, 2007), sec. 11.6, Theorem 11.6.2.↩
Erik D. Demaine and Joseph O’Rourke, Geometric Folding Algorithms: Linkages, Origami, Polyhedra (Cambridge University Press, 2007), sec. 11.4.1.↩
Tetsuo Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation (Springer, 2020), 176, https://doi.org/10.1007/978-3-319-59189-6.↩
-
An implementation may record the history for its own purposes. Nothing in this document depends on such a record, and no operation may read it. ↩
Erik D. Demaine and Joseph O’Rourke, Geometric Folding Algorithms: Linkages, Origami, Polyhedra (Cambridge University Press, 2007), sec. 11.4.4.3; Hugo A. Akitaya et al., “Box Pleating Is Hard,” in Discrete and Computational Geometry and Graphs (JCDCGG 2015), vol. 9943, ed. Jin Akiyama et al., Lecture Notes in Computer Science (Springer, 2016), sec. 2, https://doi.org/10.1007/978-3-319-48532-4_15, consistency.↩
Erik D. Demaine and Joseph O’Rourke, Geometric Folding Algorithms: Linkages, Origami, Polyhedra (Cambridge University Press, 2007), sec. 11.4.4.↩
Hugo A. Akitaya et al., “Box Pleating Is Hard,” in Discrete and Computational Geometry and Graphs (JCDCGG 2015), vol. 9943, ed. Jin Akiyama et al., Lecture Notes in Computer Science (Springer, 2016), sec. 2, https://doi.org/10.1007/978-3-319-48532-4_15; Thomas C. Hull and Inna Zakharevich, “Flat Origami Is Turing Complete,” arXiv Preprint, 2023, sec. 2.1.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), sec. 6, https://doi.org/10.1017/9781108778633.5, p. 119.↩
Hugo A. Akitaya et al., “Box Pleating Is Hard,” in Discrete and Computational Geometry and Graphs (JCDCGG 2015), vol. 9943, ed. Jin Akiyama et al., Lecture Notes in Computer Science (Springer, 2016), sec. 2, https://doi.org/10.1007/978-3-319-48532-4_15.↩
Thomas C. Hull and Inna Zakharevich, “Flat Origami Is Turing Complete,” arXiv Preprint, 2023, sec. 2.1.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), sec. 6, https://doi.org/10.1017/9781108778633.5, p. 123.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), sec. 6, https://doi.org/10.1017/9781108778633.5, Proposition 6.13, p. 124.↩
Erik D. Demaine and Joseph O’Rourke, Geometric Folding Algorithms: Linkages, Origami, Polyhedra (Cambridge University Press, 2007), sec. 11.6, Theorem 11.6.2.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), 125, https://doi.org/10.1017/9781108778633.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), https://doi.org/10.1017/9781108778633.↩
Erik D. Demaine and Joseph O’Rourke, Geometric Folding Algorithms: Linkages, Origami, Polyhedra (Cambridge University Press, 2007), sec. 11.4.↩
Hugo A. Akitaya et al., “Box Pleating Is Hard,” in Discrete and Computational Geometry and Graphs (JCDCGG 2015), vol. 9943, ed. Jin Akiyama et al., Lecture Notes in Computer Science (Springer, 2016), sec. 2, https://doi.org/10.1007/978-3-319-48532-4_15.↩
Hugo A. Akitaya et al., “Box Pleating Is Hard,” in Discrete and Computational Geometry and Graphs (JCDCGG 2015), vol. 9943, ed. Jin Akiyama et al., Lecture Notes in Computer Science (Springer, 2016), sec. 2, https://doi.org/10.1007/978-3-319-48532-4_15.↩
Thomas C. Hull and Inna Zakharevich, “Flat Origami Is Turing Complete,” arXiv Preprint, 2023, sec. 2.1.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), sec. 6, https://doi.org/10.1017/9781108778633.5, p. 123.↩
Roger C. Alperin and Robert J. Lang, “One-, Two-, and Multi-Fold Origami Axioms,” in Origami4: Fourth International Meeting of Origami Science, Mathematics, and Education, ed. Robert J. Lang (A K Peters, 2009), sec. 2, Definition 8.↩
Roger C. Alperin and Robert J. Lang, “One-, Two-, and Multi-Fold Origami Axioms,” in Origami4: Fourth International Meeting of Origami Science, Mathematics, and Education, ed. Robert J. Lang (A K Peters, 2009), sec. 2.↩
Tetsuo Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation (Springer, 2020), sec. 2, https://doi.org/10.1007/978-3-319-59189-6.2.3, Fig. 2.17.↩
Roger C. Alperin and Robert J. Lang, “One-, Two-, and Multi-Fold Origami Axioms,” in Origami4: Fourth International Meeting of Origami Science, Mathematics, and Education, ed. Robert J. Lang (A K Peters, 2009), sec. 3, §4.↩
Thomas C. Hull and Inna Zakharevich, “Flat Origami Is Turing Complete,” arXiv Preprint, 2023, sec. 2.1.↩
Erik D. Demaine and Joseph O’Rourke, Geometric Folding Algorithms: Linkages, Origami, Polyhedra (Cambridge University Press, 2007), sec. 14.1.↩
Tetsuo Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation (Springer, 2020), sec. 7, https://doi.org/10.1007/978-3-319-59189-6.4.3.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), sec. 5, https://doi.org/10.1017/9781108778633.3.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), D, https://doi.org/10.1017/9781108778633 ef. 6.5.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), https://doi.org/10.1017/9781108778633.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), D, https://doi.org/10.1017/9781108778633 ef. 6.5.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), chap. 5, https://doi.org/10.1017/9781108778633.↩
Thomas C. Hull, Origametry: Mathematical Methods in Paper Folding (Cambridge University Press, 2020), sec. 5, https://doi.org/10.1017/9781108778633.2, §5.3.↩