Flat origami is Turing complete

Thomas C. Hull Western New England University thull@wne.edu  and  Inna Zakharevich Cornell University zakh@math.cornell.edu
Abstract.

Flat origami refers to the folding of flat, zero-curvature paper such that the finished object lies in a plane. Mathematically, flat origami consists of a continuous, piecewise isometric map f:PโІโ„2โ†’โ„2:๐‘“๐‘ƒsuperscriptโ„2โ†’superscriptโ„2f:P\subseteq\mathbb{R}^{2}\to\mathbb{R}^{2} along with a layer ordering ฮปf:Pร—Pโ†’{โˆ’1,1}:subscript๐œ†๐‘“โ†’๐‘ƒ๐‘ƒ11\lambda_{f}:P\times P\to\{-1,1\} that tracks which points of P๐‘ƒP are above/below others when folded. The set of crease lines that a flat origami makes (i.e., the set on which the mapping f๐‘“f is non-differentiable) is called its crease pattern. Flat origami mappings and their layer orderings can possess surprisingly intricate structure. For instance, determining whether or not a given straight-line planar graph drawn on P๐‘ƒP is the crease pattern for some flat origami has been shown to be an NP-complete problem, and this result from 1996 led to numerous explorations in computational aspects of flat origami. In this paper we prove that flat origami, when viewed as a computational device, is Turing complete. We do this by showing that flat origami crease patterns with optional creases (creases that might be folded or remain unfolded depending on constraints imposed by other creases or inputs) can be constructed to simulate Rule 110, a one-dimensional cellular automaton that was proven to be Turing complete by Matthew Cook in 2004.

1. Introduction

Origami, the art of paper folding, has lately been a source of inspiration for applications in mechanical engineering [FS21, MHM+17], materials science [SEM+14, LSE+18], and architecture [MSP+18]. Helping this interest has been the rise of computational origami, which studies computational questions that arise in the folding of paper, as a field in computational and combinatorial geometry [DO07]. Of particular interest has been flat origami, where a two-dimensional sheet of paper, or all of โ„2superscriptโ„2\mathbb{R}^{2}, is folded into a flat object, back into the plane without stretching, tearing, or self-intersecting the paper. For example, in 1996 Bern and Hayes proved that the decidability question of whether a given crease pattern can fold flat is NP-hard [BH96]. However, because of the difficulty in rigorously modeling flat origami, a hole in their proof remained undetected for 20 years until Akitaya et al. repaired and strengthened their proof in 2016 [ACD+16].

In this paper we prove that flat origami is also Turing complete. That is, it is theoretically possible to design origami crease patterns that encode logical inputs and then, in the process of folding flat, preform computations equivalent to a Turing machine. We do this by proving that flat origami can simulate the Rule 110 cellular automaton, which has been proven to be Turing complete [Coo04]. Our approach is to make use of optional creases in our crease patterns to help encode Boolean variables and design logic gates, an approach that has been used in prior work to explore the complexity of origami [ACD+20]. In Section 2 we will formally define our model of flat-foldable origami, define Rule 110, and establish conventions in our approach. In Section 3 we will define and prove the correctness of the origami gadgets we will use to transmit Boolean signals and simulate logic gates. In Section 4 we will put our gadgets together to simulate cellular automata, in particular Rule 110.

Acknowledgements

The second author is supported in part by NSF DMS-1846767.

2. Conventions and preliminaries

2.1. Background

We follow a model and terminology for planar, two-dimensional flat origami as presented in [ACD+16] and [DO07].111The flat-folding of manifolds in general dimension is also possible and follows many of the properties of the flat, 2D case presented here. See [Rob78] and [Hul20, Chapter 10] for more details. A flat-folded piece of paper may be modeled using two structures: an isometric folding map and a layer ordering. An isometric folding map is a continuous, piecewise isometry f:PโІโ„2โ†’โ„2:๐‘“๐‘ƒsuperscriptโ„2โ†’superscriptโ„2f:P\subseteq\mathbb{R}^{2}\to\mathbb{R}^{2} where P๐‘ƒP is closed. The crease pattern of f๐‘“f, denoted Xfsubscript๐‘‹๐‘“X_{f}, is the set of points on P๐‘ƒP on which f๐‘“f is non-differentiable, union with the boundary of P๐‘ƒP. One can prove [Hul20, Rob78] that

  • โ€ข

    Xfsubscript๐‘‹๐‘“X_{f} is a plane graph on P๐‘ƒP whose interior edges, which we call creases, are straight line segments,

  • โ€ข

    every interior vertex of Xfsubscript๐‘‹๐‘“X_{f} has even degree,

  • โ€ข

    the faces defined by the embedding of Xfsubscript๐‘‹๐‘“X_{f} on P๐‘ƒP are 2-colorable, where one color class is made of regions of P๐‘ƒP whose orientation are preserved under f๐‘“f and the other color class faces are orientation-reversed under f๐‘“f, and

  • โ€ข

    around each interior vertex v๐‘ฃv of Xfsubscript๐‘‹๐‘“X_{f} the alternating sum of the sector angles between the creases at v๐‘ฃv, say going in order counterclockwise, equals zero (this is called Kawasakiโ€™s Theorem).

We will use Kawasakiโ€™s Theorem throughout our proofs, and so we formalize what it states for a single vertex in a crease pattern:

Theorem 1 (Kawasakiโ€™s Theorem [Hul20, Theorem 5.37]).

A collection of line segments or rays that share a common endpoint vโˆˆโ„2๐‘ฃsuperscriptโ„2v\in\mathbb{R}^{2} and whose consecutive sector angles are ฮฑ1,โ€ฆ,ฮฑ2โ€‹nsubscript๐›ผ1โ€ฆsubscript๐›ผ2๐‘›\alpha_{1},\ldots,\alpha_{2n} will be flat-foldable (meaning they are part of a crease pattern Xfsubscript๐‘‹๐‘“X_{f} for some isometric folding map f๐‘“f) if and only if โˆ‘(โˆ’1)kโ€‹ฮฑk=0superscript1๐‘˜subscript๐›ผ๐‘˜0\sum(-1)^{k}\alpha_{k}=0. Since our crease patterns exist in a flat plane, this is equivalent to

ฮฑ1+ฮฑ3+โ‹ฏ+ฮฑ2โ€‹nโˆ’1=ฮฑ2+ฮฑ4+โ‹ฏ+ฮฑ2โ€‹n=ฯ€.subscript๐›ผ1subscript๐›ผ3โ‹ฏsubscript๐›ผ2๐‘›1subscript๐›ผ2subscript๐›ผ4โ‹ฏsubscript๐›ผ2๐‘›๐œ‹\alpha_{1}+\alpha_{3}+\cdots+\alpha_{2n-1}=\alpha_{2}+\alpha_{4}+\cdots+\alpha_{2n}=\pi.
fโ€‹(U1)๐‘“subscript๐‘ˆ1f(U_{1})fโ€‹(U2)๐‘“subscript๐‘ˆ2f(U_{2})fโ€‹(U2)๐‘“subscript๐‘ˆ2f(U_{2})fโ€‹(U1)๐‘“subscript๐‘ˆ1f(U_{1})fโ€‹(U3)๐‘“subscript๐‘ˆ3f(U_{3})e๐‘’efโ€‹(U1)๐‘“subscript๐‘ˆ1f(U_{1})fโ€‹(U2)๐‘“subscript๐‘ˆ2f(U_{2})fโ€‹(V1)๐‘“subscript๐‘‰1f(V_{1})fโ€‹(V2)๐‘“subscript๐‘‰2f(V_{2})e1subscript๐‘’1e_{1}e2subscript๐‘’2e_{2}(a)(b)(c)
Figure 1. (a) The tortilla-tortilla condition being satisfied. (b) The taco-tortilla condition not being satisfied. (c) The taco-taco condition not being satisfied.

Modeling flat-folded origami also requires the concepts of layer ordering and mountain-valley creases, which require additional structure be added to an isometric folding map. First, we introduce some terminology. A simply connected subset of UโŠ‚P๐‘ˆ๐‘ƒU\subset P is called uncreased under f๐‘“f if f๐‘“f restricted to U๐‘ˆU is injective. Two simply connected subsets U1,U2โŠ‚Psubscript๐‘ˆ1subscript๐‘ˆ2๐‘ƒU_{1},U_{2}\subset P overlap under f๐‘“f if fโ€‹(U1)โˆฉfโ€‹(U2)โ‰ โˆ…๐‘“subscript๐‘ˆ1๐‘“subscript๐‘ˆ2f(U_{1})\cap f(U_{2})\not=\emptyset, and we say that U1subscript๐‘ˆ1U_{1} and U2subscript๐‘ˆ2U_{2} strictly overlap under f๐‘“f if fโ€‹(U1)=fโ€‹(U2)๐‘“subscript๐‘ˆ1๐‘“subscript๐‘ˆ2f(U_{1})=f(U_{2}).

A global layer ordering for an isometric folding map f๐‘“f is a function ฮปf:AโŠ‚Pร—Pโ†’{โˆ’1,1}:subscript๐œ†๐‘“๐ด๐‘ƒ๐‘ƒโ†’11\lambda_{f}:A\subset P\times P\to\{-1,1\} that records which points of P๐‘ƒP are above/below which others when folded under f๐‘“f, with ฮปfโ€‹(p,q)=1subscript๐œ†๐‘“๐‘๐‘ž1\lambda_{f}(p,q)=1 meaning that p๐‘p is below q๐‘žq and ฮปfโ€‹(p,q)=โˆ’1subscript๐œ†๐‘“๐‘๐‘ž1\lambda_{f}(p,q)=-1 meaning p๐‘p is above q๐‘žq. Specifically, ฮปfsubscript๐œ†๐‘“\lambda_{f} is a global layer ordering if the following six properties are satisfied (adopted from [ACD+16]):

  • โ€ข

    Existence: The domain A๐ดA is defined as all (p,q)โˆˆPร—P๐‘๐‘ž๐‘ƒ๐‘ƒ(p,q)\in P\times P such that fโ€‹(p)=fโ€‹(q)๐‘“๐‘๐‘“๐‘žf(p)=f(q). That is, the layer ordering ฮปfsubscript๐œ†๐‘“\lambda_{f} only exists between points that overlap in the folding.

  • โ€ข

    Antisymmetry: ฮปfโ€‹(p,q)=โˆ’ฮปfโ€‹(q,p)subscript๐œ†๐‘“๐‘๐‘žsubscript๐œ†๐‘“๐‘ž๐‘\lambda_{f}(p,q)=-\lambda_{f}(q,p) for all (p,q)โˆˆA๐‘๐‘ž๐ด(p,q)\in A. That is, if p๐‘p is above q๐‘žq then q๐‘žq is below p๐‘p.

  • โ€ข

    Transitivity: If ฮปfโ€‹(p,q)=ฮปfโ€‹(q,r)subscript๐œ†๐‘“๐‘๐‘žsubscript๐œ†๐‘“๐‘ž๐‘Ÿ\lambda_{f}(p,q)=\lambda_{f}(q,r) then ฮปfโ€‹(p,r)=ฮปfโ€‹(p,q)subscript๐œ†๐‘“๐‘๐‘Ÿsubscript๐œ†๐‘“๐‘๐‘ž\lambda_{f}(p,r)=\lambda_{f}(p,q). That is, if q๐‘žq is above p๐‘p and r๐‘Ÿr is above q๐‘žq, then r๐‘Ÿr is above p๐‘p.

  • โ€ข

    Tortilla-Tortilla Property (Consistency): For any two uncreased, simply connected subsets U1,U2โŠ‚Psubscript๐‘ˆ1subscript๐‘ˆ2๐‘ƒU_{1},U_{2}\subset P that strictly overlap under f๐‘“f, ฮปfsubscript๐œ†๐‘“\lambda_{f} has the same value for all (p,q)โˆˆ(U1ร—U2)โˆฉA๐‘๐‘žsubscript๐‘ˆ1subscript๐‘ˆ2๐ด(p,q)\in(U_{1}\times U_{2})\cap A. I.e., if two regions in P๐‘ƒP completely overlap under f๐‘“f, then one must be entirely above the other. This is illustrated in Figure 1(a).

  • โ€ข

    Taco-Tortilla Property (Face-Crease Non-crossing): For any three uncreased, simply connected subsets U1,U2,U3โŠ‚Psubscript๐‘ˆ1subscript๐‘ˆ2subscript๐‘ˆ3๐‘ƒU_{1},U_{2},U_{3}\subset P such that (a) U1subscript๐‘ˆ1U_{1} and U3subscript๐‘ˆ3U_{3} are separated by an edge e๐‘’e in Xfsubscript๐‘‹๐‘“X_{f} (i.e., adjacent regions in Xfsubscript๐‘‹๐‘“X_{f}) and strictly overlap under f๐‘“f and (b) U2subscript๐‘ˆ2U_{2} overlaps the edge e๐‘’e under f๐‘“f, then ฮปfโ€‹(p,q)=โˆ’ฮปโ€‹(q,r)subscript๐œ†๐‘“๐‘๐‘ž๐œ†๐‘ž๐‘Ÿ\lambda_{f}(p,q)=-\lambda(q,r) for any points (p,q,r)โˆˆ(U1ร—U2ร—U3)โˆฉA๐‘๐‘ž๐‘Ÿsubscript๐‘ˆ1subscript๐‘ˆ2subscript๐‘ˆ3๐ด(p,q,r)\in(U_{1}\times U_{2}\times U_{3})\cap A. I.e., if a region overlaps a nonadjacent internal crease, the region cannot lie between the regions adjacent to the crease in the folding. This is illustrated in Figure 1(b).

  • โ€ข

    Taco-Taco Property (Crease-Crease Non-crossing): If we have uncreased, simply connected adjacent subsets U1subscript๐‘ˆ1U_{1} and V1subscript๐‘‰1V_{1} of P๐‘ƒP separated by a crease e1subscript๐‘’1e_{1} in Xfsubscript๐‘‹๐‘“X_{f} and U2subscript๐‘ˆ2U_{2} and V2subscript๐‘‰2V_{2} separated by a crease e2subscript๐‘’2e_{2} such that the subsets all strictly overlap under f๐‘“f and the creases e1subscript๐‘’1e_{1} and e2subscript๐‘’2e_{2} strictly overlap under f๐‘“f, then for any point (p,q,r,s)โˆˆ(U1ร—V1ร—U2ร—V2)โˆฉA๐‘๐‘ž๐‘Ÿ๐‘ subscript๐‘ˆ1subscript๐‘‰1subscript๐‘ˆ2subscript๐‘‰2๐ด(p,q,r,s)\in(U_{1}\times V_{1}\times U_{2}\times V_{2})\cap A either {ฮปfโ€‹(p,r),ฮปfโ€‹(p,s),ฮปfโ€‹(q,r),ฮปfโ€‹(q,s)}subscript๐œ†๐‘“๐‘๐‘Ÿsubscript๐œ†๐‘“๐‘๐‘ subscript๐œ†๐‘“๐‘ž๐‘Ÿsubscript๐œ†๐‘“๐‘ž๐‘ \{\lambda_{f}(p,r),\lambda_{f}(p,s),\lambda_{f}(q,r),\lambda_{f}(q,s)\} are all the same or half are +11+1 and half are โˆ’11-1. I.e., if two creases overlap in the folding, either the regions of paper adjacent to one crease lie entirely above the regions of paper adjacent to the other crease, or the regions of one nest inside the regions of the other. This is illustrated in Figure 1(c).

A global layer ordering ensures that if an actual piece of paper P๐‘ƒP is to be folded according to an isometric folding map f๐‘“f as determined by its crease pattern Xfsubscript๐‘‹๐‘“X_{f}, then this can be done without P๐‘ƒP intersecting itself. This is the generally-accepted definition of what it means for a crease pattern to be globally flat-foldable [ACD+16, DO07, Hul20, Jus97].

An isometric folding map f๐‘“f and global layer ordering ฮปfsubscript๐œ†๐‘“\lambda_{f} determine a dichotomy for the creases of Xfsubscript๐‘‹๐‘“X_{f}, called the mountain-valley (MV) assignment for (f,ฮปf)๐‘“subscript๐œ†๐‘“(f,\lambda_{f}). Specifically, if a crease e๐‘’e of Xfsubscript๐‘‹๐‘“X_{f} is bordered by faces U1subscript๐‘ˆ1U_{1} and U2subscript๐‘ˆ2U_{2} and pโˆˆU1๐‘subscript๐‘ˆ1p\in U_{1}, qโˆˆU2๐‘žsubscript๐‘ˆ2q\in U_{2} are close to e๐‘’e with fโ€‹(p)=fโ€‹(q)๐‘“๐‘๐‘“๐‘žf(p)=f(q), then

  • โ€ข

    if the orientation of U1subscript๐‘ˆ1U_{1} is preserved under f๐‘“f and ฮปfโ€‹(p,q)=1subscript๐œ†๐‘“๐‘๐‘ž1\lambda_{f}(p,q)=1, then e๐‘’e is a valley crease, and

  • โ€ข

    if the orientation of U1subscript๐‘ˆ1U_{1} is preserved under f๐‘“f and ฮปfโ€‹(p,q)=โˆ’1subscript๐œ†๐‘“๐‘๐‘ž1\lambda_{f}(p,q)=-1, then e๐‘’e is a mountain crease.

Mountain and valley creases correspond to what we see in physically folded paper, where paper bends in either the โˆจ\vee (mountain) or โˆง\wedge (valley) direction. A fundamental result about the mountains and valleys that meet at a flat-folded vertex, which we will often use in our proofs, is Maekawaโ€™s Theorem:

Theorem 2 (Maekawaโ€™s Theorem [Hul20, p. 81]).

If a crease pattern flat-folds around a vertex, the difference between the number of mountain folds and the number of valley folds meeting at that vertex must be 222.

A generalization of Maekawa and Kawasakiโ€™s Theorems that we will need in the proof of Proposition 6 below is the following:

Theorem 3 (Justinโ€™s Theorem [Jus97, Hul20, p. 116]).

Let ฮณ๐›พ\gamma be a simple, closed, vertex-avoiding curve on a flat-foldable crease pattern. Let ฮฑisubscript๐›ผ๐‘–\alpha_{i} be the signed angles, in order, between the consecutive creases that ฮณ๐›พ\gamma crosses, for 1โ‰คiโ‰ค2โ€‹n1๐‘–2๐‘›1\leq i\leq 2n. Also let M๐‘€M and V๐‘‰V be the number of mountain and valley creases, respectively, that ฮณ๐›พ\gamma crosses. Then,

(2.1)ฮฑ1+ฮฑ3+โ‹ฏ+ฮฑ2โ€‹nโˆ’1โ‰กฮฑ2+ฮฑ4+โ‹ฏ+ฮฑ2โ€‹nโ‰กMโˆ’V2โ€‹ฯ€mod2โ€‹ฯ€.subscript๐›ผ1subscript๐›ผ3โ‹ฏsubscript๐›ผ2๐‘›1subscript๐›ผ2subscript๐›ผ4โ‹ฏsubscript๐›ผ2๐‘›modulo๐‘€๐‘‰2๐œ‹2๐œ‹\alpha_{1}+\alpha_{3}+\cdots+\alpha_{2n-1}\equiv\alpha_{2}+\alpha_{4}+\cdots+\alpha_{2n}\equiv\frac{M-V}{2}\pi\mod 2\pi.

Computing a global layer ordering, or determining than none exist, for a given isometric folding map is computationally intensive and the main reason why the global flat-foldability problem is NP-hard [BH96]. A useful tool that we will employ in the proof of Lemma 15 is the superposition net (or s-net for short) that Justin introduced in [Jus97]. The s-net is a superset of the crease pattern Xfsubscript๐‘‹๐‘“X_{f} of an isometric folding map given by Sf=fโˆ’1โ€‹(fโ€‹(Xf))subscript๐‘†๐‘“superscript๐‘“1๐‘“subscript๐‘‹๐‘“S_{f}=f^{-1}(f(X_{f})). That is, Sfsubscript๐‘†๐‘“S_{f} is the pre-image of the folded image of the crease pattern. This is helpful because the points of Sfsubscript๐‘†๐‘“S_{f} are places where the tortilla-tortilla, taco-tortilla, or taco-taco properties might fail.

2.2. Rule 110 and our conventions

Rule 110 is an elementary (1-dimensional) cellular automaton using the rule table shown in Figure 2. We model a 111 as TRUE and a 00 as FALSE, or black and white pixels, as in Figure 2 where each 1-dimensional state of the cellular automaton is stacked vertically to show the step-by-step evolution of the system. Note that if all inputs are set to 00 the automaton stays constant at 00.

(a)
Current pattern111110101100011010001000
New state01101110
(b)
Figure 2. The table for Rule 110 and ten rows of its evolution from a single TRUE pixel.

We will simulate Rule 110 in an origami crease pattern by establishing conventions by which the creases can be interpreted as storing and manipulating Boolean variables. In a similar strategy to prior work on origami complexity [ACD+16, ACD+20, BH96], we use directed pleats (sequences of parallel mountain/valley crease lines) to send TRUE/FALSE signals across the folded paper; we call such directed pleats wires. Our wires are triplets of parallel creases, with a mandatory mountain in the middle and optional valleys to the left and right. We will orient our crease patterns so that the direction of all wires is in the โ€œdownward,โ€ decreasing y๐‘ฆy direction in โ„2superscriptโ„2\mathbb{R}^{2}. The value of a wire is decided as follows: If the pleat is folded to the right relative to its direction then it is FALSE; if it is folded to the left then it is TRUE. The information in a wire consists of the choice of which valley fold is used.

mountainvalleyoptional mountainoptional valleya wire
Figure 3. A guide to the mountain/valley labeling conventions uses in our figures and an example of a wire.

The labeling conventions we will use in the crease pattern figures in this paper are shown in Figure 3, with solid lines depicting mountain creases and dashed lines being valleys, which is standard in much origami literature. Also, black creases will be mandatory and blue will be optional. An illustration of a wire and its direction is also shown in Figure 3.

In this paper we do not prove that the given crease patterns will fold flat in accordance to the stated operation; that can be verified directly via folding. In our proofs we will simply verify that the given crease patterns will not fold in other ways.

2.3. Fundamental results

Definition 4.

In a crease pattern with optional creases, a crease is active in a flat-folding if it is used.

Definition 5.

In this paper we will be working on an infinite triangular grid of triangles with side-length 111. For any line on the grid, the next line in some direction is the closest line in that direction which is parallel to it; if โ„“,โ„“โ€ฒโ„“superscriptโ„“โ€ฒ\ell,\ell^{\prime} are two lines and โ„“โ€ฒsuperscriptโ„“โ€ฒ\ell^{\prime} is the next line then โ„“โ„“\ell and โ„“โ€ฒsuperscriptโ„“โ€ฒ\ell^{\prime} are consecutive.

A wire is three consecutive creases, where the middle crease is a mountain crease, and the two outer creases are optional valley creases.

A gadget is a subset of a crease pattern in a region of the plane bounded by a simple closed curve such that the only creases that intersect the boundary are wires.

Note that in order for a wire to have a well-defined Boolean value, we need exactly one of its optional valley creases to be active. However, by themselves any wire could have all three of its creases folded, and thus we want the gadgets that wires enter and exit to force the wires to have one, and only one active crease. The below Proposition will help ensure this.

Proposition 6.

Let G๐บG be a gadget with angles ฮธ1,โ€ฆ,ฮธksubscript๐œƒ1โ€ฆsubscript๐œƒ๐‘˜\theta_{1},\ldots,\theta_{k} between consecutive boundary wires (calculated as one transverses the boundary counter-clockwise). Suppose that for all nonempty proper subsets JโŠŠ{1,โ€ฆ,k}๐ฝ1โ€ฆ๐‘˜J\subsetneq\{1,\ldots,k\} we have

โˆ‘jโˆˆJฮธjโ‰ ฬธ0(modฯ€).not-not-equalssubscript๐‘—๐ฝsubscript๐œƒ๐‘—annotated0pmod๐œ‹\sum_{j\in J}\theta_{j}\not\neq 0\pmod{\pi}.

If we pick optional creases to make a sub-crease pattern Gโ€ฒโŠ‚Gsuperscript๐บโ€ฒ๐บG^{\prime}\subset G be flat-foldable then each wire in Gโ€ฒsuperscript๐บโ€ฒG^{\prime} contains exactly one active valley fold.

Proof.

The angle between consecutive creases in a wire is 00. In addition, each wire contains at least one active crease (the mountain crease). Applying Justinโ€™s Theorem to our sub-crease pattern Gโ€ฒsuperscript๐บโ€ฒG^{\prime} with ฮณ๐›พ\gamma the gadgetโ€™s boundary and ฮฑ1,โ€ฆ,ฮฑnsubscript๐›ผ1โ€ฆsubscript๐›ผ๐‘›\alpha_{1},\ldots,\alpha_{n} the angles in counterclockwise order between the creases in Gโ€ฒsuperscript๐บโ€ฒG^{\prime} that ฮณ๐›พ\gamma crosses,we have ฮฑ1+ฮฑ3+โ‹ฏ+ฮฑnโˆ’1โ‰กฮฑ2+ฮฑ4+โ‹ฏ+ฮฑnโ‰กmโ€‹ฯ€(mod2โ€‹ฯ€)subscript๐›ผ1subscript๐›ผ3โ‹ฏsubscript๐›ผ๐‘›1subscript๐›ผ2subscript๐›ผ4โ‹ฏsubscript๐›ผ๐‘›annotated๐‘š๐œ‹pmod2๐œ‹\alpha_{1}+\alpha_{3}+\cdots+\alpha_{n-1}\equiv\alpha_{2}+\alpha_{4}+\cdots+\alpha_{n}\equiv m\pi\pmod{2\pi} for some constant m๐‘šm. Now, each ฮฑisubscript๐›ผ๐‘–\alpha_{i} equals some ฮธjsubscript๐œƒ๐‘—\theta_{j} or is zero, so our assumption that no proper subset of the ฮธjsubscript๐œƒ๐‘—\theta_{j}โ€™s adds up to a multiple of ฯ€๐œ‹\pi must also be true for the non-zero ฮฑisubscript๐›ผ๐‘–\alpha_{i}โ€™s. Therefore, the non-zero ฮฑisubscript๐›ผ๐‘–\alpha_{i}โ€™s all have either i๐‘–i being odd or all have i๐‘–i being even. But if both (or neither) of the valley folds in a wire of G๐บG were active in Gโ€ฒsuperscript๐บโ€ฒG^{\prime}, then the angles ฮธjsubscript๐œƒ๐‘—\theta_{j} and ฮธj+1subscript๐œƒ๐‘—1\theta_{j+1} surrounding the wire would appear among the ฮฑisubscript๐›ผ๐‘–\alpha_{i} angles with one having an odd i๐‘–i and one an even i๐‘–i, which is a contradiction. Thus every wire in Gโ€ฒsuperscript๐บโ€ฒG^{\prime} contains exactly one active valley fold. โˆŽ

As a corollary we get:

Corollary 7.

Let G๐บG be a gadget with two input wires and two output wires, with consecutive angles between wires adding up to ฯ€๐œ‹\pi. If we know that the input wires each contain exactly one active valley fold, the output wires must each contain exactly one active valley fold.

3. Logic gates and other gadgets

In this section we show how to construct logical gates (AND, OR, NAND, NOR, NOT) as well as intersector, twist, and eater gadgets via origami with optional creases. These will form the building blocks of our Rule 110 flat origami simulation. Our over-all scheme is to build our crease pattern on a triangle lattice, and so most of our gadgets will possess triangle or hexagonal symmetry. We also include gadgets for some logic gates (AND and NOT) merely for completeness, as they are not used in the final construction.

For the two-input logic gates we assume that we are given two wires at an angle of 2โ€‹ฯ€/32๐œ‹32\pi/3 with information coming โ€œinโ€ to the gate from the positive y๐‘ฆy-direction. The output is a crease at an angle of 2โ€‹ฯ€/32๐œ‹32\pi/3 with each of the inputs. The NOT gate (Section 3.3) is somewhat strange, as it requires an โ€œauxilliaryโ€ pleat which is not affected by the gate. In addition, in Section 3.4, we show that it is possible to โ€œintersectโ€ two wires which meet at an angle of ฯ€/3๐œ‹3\pi/3 without affecting their values. Sections 3.5 and 3.6 contain the twist and eater gadgets.

In the below Propositions, we say that a logic gadget works if the values of the input wires force the correct output wire value in accordance to the desired logic gate.

3.1. NOR and NAND

FALSETRUEFALSETRUEFALSETRUEX๐‘‹\scriptscriptstyle XO๐‘‚\scriptscriptstyle OY๐‘Œ\scriptscriptstyle YZ๐‘\scriptscriptstyle ZYโ€ฒsuperscript๐‘Œโ€ฒ\scriptscriptstyle Y^{\prime}Xโ€ฒsuperscript๐‘‹โ€ฒ\scriptscriptstyle X^{\prime}
Figure 4. NOR gate
FALSETRUEFALSETRUEFALSETRUE
Figure 5. NAND gate
Proposition 8.

The NOR gate (Figure 4) works.

Proof.

First, suppose that the upper-right input is TRUE. Thus the crease at ฯ€/6๐œ‹6\pi/6 from X๐‘‹X is active, and therefore so is the crease at โˆ’5โ€‹ฯ€/65๐œ‹6-5\pi/6 from X๐‘‹X, since only one of the optional valley creases through X๐‘‹X may be used by Kawasakiโ€™s Theorem. That is, the crease at โˆ’ฯ€/2๐œ‹2-\pi/2 cannot be active, and thus the output is FALSE.

Before considering the other two cases, a basic observation. Consider the following crease pattern around a point:

(3.1)ฯ€3๐œ‹3\frac{\pi}{3}ฯ€6๐œ‹6\frac{\pi}{6}2โ€‹ฯ€32๐œ‹3\frac{2\pi}{3}5โ€‹ฯ€65๐œ‹6\frac{5\pi}{6}

This will not fold flat, since the wedge which is ฯ€/6๐œ‹6\pi/6 wide is too narrow: the wedges on either side of it will collide if we try to flat-fold it. Thus such a configuration is impossible.

Now suppose that both inputs are FALSE. By Kawasakiโ€™s Theorem around Y๐‘ŒY, the fold Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} must be active while none of the others can be (since the fold at ฯ€/6๐œ‹6\pi/6 is active and the fold at 5โ€‹ฯ€/65๐œ‹65\pi/6 is not). By Maekawaโ€™s Theorem neither of the other two valley folds through Yโ€ฒsuperscript๐‘Œโ€ฒY^{\prime} can be active. This means that the folds at ฯ€/3๐œ‹3\pi/3, 2โ€‹ฯ€/32๐œ‹32\pi/3 and 5โ€‹ฯ€/65๐œ‹65\pi/6 through O๐‘‚O are not active. From this it follows that none of the folds through O๐‘‚O can be active, since otherwise they must all be and then they exactly form the impossible configuration discussed in (3.1). Thus the folds at 00, ฯ€/3๐œ‹3\pi/3 and ฯ€/2๐œ‹2\pi/2 through Z๐‘Z are not active, and therefore the fold at โˆ’ฯ€/2๐œ‹2-\pi/2 through Z๐‘Z cannot be active. Thus the output is TRUE, as desired.

Lastly, suppose that the left-hand input is TRUE and the right-hand input is FALSE. Then the folds at ฯ€/6๐œ‹6\pi/6 and 5โ€‹ฯ€/65๐œ‹65\pi/6 through Y๐‘ŒY are active, and therefore, for Kawasakiโ€™s and Maekawaโ€™s Theorems to hold around Y๐‘ŒY, the folds at โˆ’ฯ€/3๐œ‹3-\pi/3 and โˆ’2โ€‹ฯ€/32๐œ‹3-2\pi/3 must be active and Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} and Yโ€‹Xโ€ฒ๐‘Œsuperscript๐‘‹โ€ฒYX^{\prime} not active. Thus the folds at ฯ€/3๐œ‹3\pi/3 and 2โ€‹ฯ€/32๐œ‹32\pi/3 through O๐‘‚O are active. In order for Kawasakiโ€™s Theorem to hold around O๐‘‚O, we must have the fold at โˆ’ฯ€/2๐œ‹2-\pi/2 active, and exactly one of the two folds Oโ€‹Yโ€ฒ๐‘‚superscript๐‘Œโ€ฒOY^{\prime} and Oโ€‹Xโ€ฒ๐‘‚superscript๐‘‹โ€ฒOX^{\prime} active. As the configuration in (3.1) is impossible, the fold Oโ€‹Yโ€ฒ๐‘‚superscript๐‘Œโ€ฒOY^{\prime} cannot be the one that is active, and thus Oโ€‹Xโ€ฒ๐‘‚superscript๐‘‹โ€ฒOX^{\prime} must be the one that is active. By Maekawaโ€™s Theorem the fold Yโ€ฒโ€‹Zsuperscript๐‘Œโ€ฒ๐‘Y^{\prime}Z must therefore be active, and thus also the fold at โˆ’ฯ€/2๐œ‹2-\pi/2 through Z๐‘Z, showing that the output is FALSE, as desired.

โˆŽ

Proposition 9.

The NAND gate (Figure 5) works.

Proof.

The NAND gate is a reflection in a vertical line of the NOR gate; since reflection is orientation-reversing in the horizontal direction and orientation-preserving in the vertical direction, by Proposition 8, the output of the NAND gate with inputs A๐ดA and B๐ตB is

ยฌ(ยฌAnorยฌB)=ยฌAorยฌB=AnandB,nor๐ด๐ต๐ดor๐ต๐ดnand๐ต\neg({\neg A}\mathrel{\textsc{nor}}{\neg B})={\neg A}\mathrel{\textsc{or}}{\neg B}=A\mathrel{\textsc{nand}}B,

as desired. โˆŽ

3.2. OR and AND

FALSETRUEFALSETRUEFALSETRUEZ๐‘\scriptscriptstyle ZX๐‘‹\scriptscriptstyle XY๐‘Œ\scriptscriptstyle YYโ€ฒsuperscript๐‘Œโ€ฒ\scriptscriptstyle Y^{\prime}Xโ€ฒsuperscript๐‘‹โ€ฒ\scriptscriptstyle X^{\prime}Zโ€ฒsuperscript๐‘โ€ฒ\scriptscriptstyle Z^{\prime}O๐‘‚\scriptscriptstyle O
Figure 6. OR gate
FALSETRUEFALSETRUEFALSETRUE
Figure 7. AND gate
Proposition 10.

The OR gate (Figure 6) works.

Proof.

As before, by Proposition 6 exactly one of the output valley folds must be active.

First, suppose that the left-hand input is FALSE. Then the crease at 5โ€‹ฯ€/65๐œ‹65\pi/6 from Y๐‘ŒY is not active, so the only creases out of Y๐‘ŒY that can be active are Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} and the crease at ฯ€/6๐œ‹6\pi/6, which are either both active or not. Thus if the right-hand input is TRUE then none of the creases through Y๐‘ŒY are active. Since none of the creases through Y๐‘ŒY are active, Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} is not active, and thus neither is Yโ€ฒโ€‹Zsuperscript๐‘Œโ€ฒ๐‘Y^{\prime}Z. Thus the crease at โˆ’ฯ€/2๐œ‹2-\pi/2 through Z๐‘Z cannot be active, and the output is TRUE. On the other hand, if the right-hand input is FALSE then Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} must be active, and thus therefore so must Yโ€ฒโ€‹Zsuperscript๐‘Œโ€ฒ๐‘Y^{\prime}Z. Thus the crease at โˆ’ฯ€/2๐œ‹2-\pi/2 through Z๐‘Z must be active (since the crease at 5โ€‹ฯ€/65๐œ‹65\pi/6 through Z๐‘Z is also active), and the input must be FALSE.

Now suppose that the left-hand input is TRUE. Then the crease at 5โ€‹ฯ€/65๐œ‹65\pi/6 through Z๐‘Z is not active. Thus Zโ€‹O๐‘๐‘‚ZO and Zโ€‹Zโ€ฒ๐‘superscript๐‘โ€ฒZZ^{\prime} cannot be active, and the crease at โˆ’ฯ€/2๐œ‹2-\pi/2 through Z๐‘Z is active if and only if Zโ€‹Yโ€ฒ๐‘superscript๐‘Œโ€ฒZY^{\prime} is active, which is active if and only if Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} is active. Thus to show that the output is TRUE it suffices to check that Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} is not active. If the right-hand input is TRUE then the crease at ฯ€/6๐œ‹6\pi/6 through Y๐‘ŒY is not active; by Kawasakiโ€™s theorem Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} must not be active in this case, as desired. If the right-hand input is FALSE then the crease at ฯ€/6๐œ‹6\pi/6 through Y๐‘ŒY is active. If Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} were active then by Kawasakiโ€™s theorem Yโ€‹O๐‘Œ๐‘‚YO must be active, and none of the other creases through Y๐‘ŒY can be. But this violates Maekawaโ€™s theorem, since it has 444 valley and no mountain creases meeting at a point. Thus Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} must not be active in this case either, as desired. โˆŽ

Proposition 11.

The AND gate (Figure 7) works.

Proof.

The AND gate is a reflection of the OR gate. By the same logic as in the proof of Proposition 9, since the OR gate works, so does the AND. โˆŽ

3.3. NOT gate

This NOT gate is not used in our origami construction of Rule 110, but we include it for completeness.

FALSETRUEFALSETRUEY๐‘Œ\scriptscriptstyle YX๐‘‹\scriptscriptstyle XA๐ด\scriptscriptstyle AB๐ต\scriptscriptstyle BC๐ถ\scriptscriptstyle CD๐ท\scriptscriptstyle DL1subscript๐ฟ1\scriptstyle L_{1}L2subscript๐ฟ2\scriptstyle L_{2}L3subscript๐ฟ3\scriptstyle L_{3}L4subscript๐ฟ4\scriptstyle L_{4}
Figure 8. NOT gate
Proposition 12.

The NOT gate (Figure 8) works.

Proof.

Suppose the input is TRUE. Then the crease L4subscript๐ฟ4L_{4} above the point D๐ทD is not used, which implies that all of L2subscript๐ฟ2L_{2} to the left of point X๐‘‹X is used and Xโ€‹A๐‘‹๐ดXA is not used (in order to make X๐‘‹X flat-foldable). Thus, since the creases L1subscript๐ฟ1L_{1} above and L2subscript๐ฟ2L_{2} to the right of A๐ดA are both used, we have that both of the short diagonals below A๐ดA are used. This implies that only the lower-left-to-upper-right longer diagonal between A๐ดA and B๐ตB is used (this diagonal is forced by the short diagonals below A๐ดA; the other diagonal between A๐ดA and B๐ตB cannot also be used because we cannot have a degree-4 vertex made of only valley creases). This implies that the two short diagonals above point B๐ตB are not used, which means the crease L3subscript๐ฟ3L_{3} to the right of point Y๐‘ŒY is used and L1subscript๐ฟ1L_{1} below B๐ตB is not used. Therefore the output is FALSE. By the left-right mirror symmetry of this crease pattern, if the input is FALSE the output must be TRUE. โˆŽ

3.4. Intersector

Intersector gadgets will be placed wherever two wires need to cross each other on our sheet of paper. They will ensure that the Boolean signals of the wires will be preserved through the intersection.

FALSETRUEFALSETRUEFALSETRUEFALSETRUEX๐‘‹\scriptscriptstyle XY๐‘Œ\scriptscriptstyle YZ๐‘\scriptscriptstyle ZW๐‘Š\scriptscriptstyle WZโ€ฒsuperscript๐‘โ€ฒ\scriptscriptstyle Z^{\prime}Wโ€ฒsuperscript๐‘Šโ€ฒ\scriptscriptstyle W^{\prime}Yโ€ฒsuperscript๐‘Œโ€ฒ\scriptscriptstyle Y^{\prime}Xโ€ฒsuperscript๐‘‹โ€ฒ\scriptscriptstyle X^{\prime}A๐ด\scriptscriptstyle AB๐ต\scriptscriptstyle B
Figure 9. ฯ€/3๐œ‹3\pi/3 Intersector
FALSETRUEFALSETRUEFALSETRUEFALSETRUE
Figure 10. 2โ€‹ฯ€/32๐œ‹32\pi/3 intersector
Proposition 13.

The intersectors (Figures 9 and 10) work.

Proof.

It suffices to check the claim for the ฯ€/3๐œ‹3\pi/3 intersector; the analysis for the 2โ€‹ฯ€/32๐œ‹32\pi/3 intersector is completely analogous.

By Proposition 7, exactly one of the valley folds in each of the output wires will be active.

First, suppose that both inputs are FALSE. Then at point Z๐‘Z one of the angles between active creases is ฯ€๐œ‹\pi, and thus both creases Zโ€‹Yโ€ฒ๐‘superscript๐‘Œโ€ฒZY^{\prime} and Zโ€‹A๐‘๐ดZA are not active, and Zโ€‹Zโ€ฒ๐‘superscript๐‘โ€ฒZZ^{\prime} is active. Since Zโ€‹Yโ€ฒ๐‘superscript๐‘Œโ€ฒZY^{\prime} is not active, neither is Yโ€ฒโ€‹Ysuperscript๐‘Œโ€ฒ๐‘ŒY^{\prime}Y, and since the crease at 2โ€‹ฯ€/32๐œ‹32\pi/3 from Y๐‘ŒY is not active either, none of the creases through Y๐‘ŒY are active. Since Yโ€‹Xโ€ฒ๐‘Œsuperscript๐‘‹โ€ฒYX^{\prime} is not active, Xโ€ฒโ€‹Asuperscript๐‘‹โ€ฒ๐ดX^{\prime}A must be active; thus crease Aโ€‹Zโ€ฒ๐ดsuperscript๐‘โ€ฒAZ^{\prime} must be active. Since Aโ€‹Zโ€ฒ๐ดsuperscript๐‘โ€ฒAZ^{\prime} and Zโ€‹Zโ€ฒ๐‘superscript๐‘โ€ฒZZ^{\prime} are active, crease Zโ€ฒโ€‹Bsuperscript๐‘โ€ฒ๐ตZ^{\prime}B must not be active, and crease Zโ€ฒโ€‹Wsuperscript๐‘โ€ฒ๐‘ŠZ^{\prime}W must be active. Since Zโ€ฒโ€‹Wsuperscript๐‘โ€ฒ๐‘ŠZ^{\prime}W and the crease at ฯ€๐œ‹\pi through W๐‘ŠW are active, Wโ€‹B๐‘Š๐ตWB must be active and the crease at โˆ’ฯ€/3๐œ‹3-\pi/3 through W๐‘ŠW must be active. Thus both outputs are FALSE, as desired.

Now suppose that the left-hand input is TRUE and the top input is FALSE. Then creases Zโ€‹Yโ€ฒ๐‘superscript๐‘Œโ€ฒZY^{\prime} and Zโ€‹Zโ€ฒ๐‘superscript๐‘โ€ฒZZ^{\prime} must also be active, as well as crease Yโ€ฒโ€‹Ysuperscript๐‘Œโ€ฒ๐‘ŒY^{\prime}Y. Since Yโ€ฒโ€‹Ysuperscript๐‘Œโ€ฒ๐‘ŒY^{\prime}Y is active but the crease at 2โ€‹ฯ€/32๐œ‹32\pi/3 from Y๐‘ŒY is not, the crease at 00 from Y๐‘ŒY must be, and the right-hand output is TRUE. Since Zโ€‹Zโ€ฒ๐‘superscript๐‘โ€ฒZZ^{\prime} is active, Zโ€ฒโ€‹Bsuperscript๐‘โ€ฒ๐ตZ^{\prime}B must not be, but all other valley folds through Zโ€ฒsuperscript๐‘โ€ฒZ^{\prime} will be. Since Zโ€ฒโ€‹Wsuperscript๐‘โ€ฒ๐‘ŠZ^{\prime}W is active but the crease at ฯ€๐œ‹\pi from W๐‘ŠW is not, the crease at โˆ’ฯ€/3๐œ‹3-\pi/3 at W๐‘ŠW must be; thus the bottom output is FALSE and the gadget folds as claimed.

Now suppose that the left-hand input is FALSE and the top input is TRUE. Then neither the crease at 2โ€‹ฯ€/32๐œ‹32\pi/3 nor the crease at ฯ€๐œ‹\pi through Z๐‘Z are active, and thus none of the creases through Z๐‘Z are active. Since Zโ€‹A๐‘๐ดZA is not active, crease Aโ€‹Y๐ด๐‘ŒAY cannot be active either; thus crease Yโ€‹Xโ€ฒ๐‘Œsuperscript๐‘‹โ€ฒYX^{\prime} is active, but the crease at 00 through Y๐‘ŒY is not active; therefore, the right-hand output is FALSE. Since Yโ€‹Xโ€ฒ๐‘Œsuperscript๐‘‹โ€ฒYX^{\prime} is active, Xโ€ฒโ€‹Asuperscript๐‘‹โ€ฒ๐ดX^{\prime}A cannot be active, and thus Xโ€ฒโ€‹Bsuperscript๐‘‹โ€ฒ๐ตX^{\prime}B and Xโ€ฒโ€‹Xsuperscript๐‘‹โ€ฒ๐‘‹X^{\prime}X must be active. But Aโ€‹Zโ€ฒ๐ดsuperscript๐‘โ€ฒAZ^{\prime} is not active, adn thus Zโ€ฒโ€‹Bsuperscript๐‘โ€ฒ๐ตZ^{\prime}B must be active, while Zโ€ฒโ€‹Wsuperscript๐‘โ€ฒ๐‘ŠZ^{\prime}W must not be. Considering point W๐‘ŠW we see that since the crease at ฯ€๐œ‹\pi through W๐‘ŠW must be active, crease Wโ€‹Wโ€ฒ๐‘Šsuperscript๐‘Šโ€ฒWW^{\prime} must also be active, and therefore so is Wโ€ฒโ€‹Xsuperscript๐‘Šโ€ฒ๐‘‹W^{\prime}X. Since Xโ€ฒโ€‹Xsuperscript๐‘‹โ€ฒ๐‘‹X^{\prime}X and Wโ€ฒโ€‹Xsuperscript๐‘Šโ€ฒ๐‘‹W^{\prime}X are active, the crease at 00 through X๐‘‹X must also be active. Now there are two possible configurations that seem to work: just the crease at โˆ’ฯ€/6๐œ‹6-\pi/6 through X๐‘‹X active (giving the desired output), or else creases Xโ€‹B๐‘‹๐ตXB, Bโ€‹W๐ต๐‘ŠBW, and the crease at โˆ’ฯ€/6๐œ‹6-\pi/6 through W๐‘ŠW activeโ€”giving the incorrect output. However, the latter of these is exactly the configuration considered in Lemma 15, which shows that it cannot flat-fold. Thus the only possible configuration that flat-folds is the correct one.

Lastly, suppose that both inputs are TRUE. Since the crease at ฯ€๐œ‹\pi through Z๐‘Z is active but the one at 2โ€‹ฯ€/32๐œ‹32\pi/3 is not, crease Zโ€‹A๐‘๐ดZA must be active, and therefore so must Aโ€‹Y๐ด๐‘ŒAY. Since crease Aโ€‹Y๐ด๐‘ŒAY is active, three of the valley folds through Y๐‘ŒY must be active, and one of them must be the crease at 00 through Y๐‘ŒY; thus the right-hand output is TRUE. We claim that Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} cannot be active. Indeed, suppose that it is. Then Yโ€ฒโ€‹Zsuperscript๐‘Œโ€ฒ๐‘Y^{\prime}Z must also be, and therefore so is Zโ€‹Zโ€ฒ๐‘superscript๐‘โ€ฒZZ^{\prime}. Then Zโ€ฒโ€‹Asuperscript๐‘โ€ฒ๐ดZ^{\prime}A and Zโ€ฒโ€‹Wsuperscript๐‘โ€ฒ๐‘ŠZ^{\prime}W must be active, but Zโ€ฒโ€‹Bsuperscript๐‘โ€ฒ๐ตZ^{\prime}B not. Since Zโ€ฒโ€‹Wsuperscript๐‘โ€ฒ๐‘ŠZ^{\prime}W is active but the crease at ฯ€๐œ‹\pi through W๐‘ŠW is not, the crease at โˆ’ฯ€/3๐œ‹3-\pi/3 must be, while Wโ€‹B๐‘Š๐ตWB and Wโ€‹Wโ€ฒ๐‘Šsuperscript๐‘Šโ€ฒWW^{\prime} (and thus Wโ€ฒโ€‹Xsuperscript๐‘Šโ€ฒ๐‘‹W^{\prime}X) are not. Since Zโ€ฒโ€‹Bsuperscript๐‘โ€ฒ๐ตZ^{\prime}B and Wโ€‹B๐‘Š๐ตWB are not active, Bโ€‹Xโ€ฒ๐ตsuperscript๐‘‹โ€ฒBX^{\prime} and Bโ€‹X๐ต๐‘‹BX must not be, either. Since four of the creases at Y๐‘ŒY are active, crease Yโ€‹Xโ€ฒ๐‘Œsuperscript๐‘‹โ€ฒYX^{\prime} must not be; thus Xโ€ฒโ€‹Asuperscript๐‘‹โ€ฒ๐ดX^{\prime}A must be active, and Xโ€ฒโ€‹Xsuperscript๐‘‹โ€ฒ๐‘‹X^{\prime}X is not. Thus none of the creases at X๐‘‹X can be active. This is exactly the problematic configuration discussed in Lemma 15, which cannot flat-fold.

Thus Yโ€‹Yโ€ฒ๐‘Œsuperscript๐‘Œโ€ฒYY^{\prime} is not active. Then neither are Yโ€ฒโ€‹Zsuperscript๐‘Œโ€ฒ๐‘Y^{\prime}Z or Zโ€‹Zโ€ฒ๐‘superscript๐‘โ€ฒZZ^{\prime}. Since Zโ€‹Zโ€ฒ๐‘superscript๐‘โ€ฒZZ^{\prime} is not active, Zโ€ฒโ€‹Bsuperscript๐‘โ€ฒ๐ตZ^{\prime}B must be active and Zโ€ฒโ€‹Asuperscript๐‘โ€ฒ๐ดZ^{\prime}A and Zโ€ฒโ€‹Wsuperscript๐‘โ€ฒ๐‘ŠZ^{\prime}W not active. Since Zโ€ฒโ€‹Bsuperscript๐‘โ€ฒ๐ตZ^{\prime}B is active, Bโ€‹Xโ€ฒ๐ตsuperscript๐‘‹โ€ฒBX^{\prime} must be active and Aโ€‹Xโ€ฒ๐ดsuperscript๐‘‹โ€ฒAX^{\prime} must not be. Thus both Yโ€‹Xโ€ฒ๐‘Œsuperscript๐‘‹โ€ฒYX^{\prime} and Xโ€ฒโ€‹Xsuperscript๐‘‹โ€ฒ๐‘‹X^{\prime}X are active. Since the crease at 00 through X๐‘‹X is not active, the crease at โˆ’ฯ€/3๐œ‹3-\pi/3 must be, and the bottom output is TRUE, as desired. โˆŽ

a๐‘Žab๐‘bc๐‘cd๐‘‘de๐‘’ef๐‘“f
Figure 11. Hexagonal folder

Write x<y๐‘ฅ๐‘ฆx<y to mean that layer y๐‘ฆy is above layer x๐‘ฅx.

Lemma 14.

The only flat-foldsings of Figure 11 in which region e๐‘’e is upward-facing have layer orderings (from top to bottom) c>d>a>f>e>b๐‘๐‘‘๐‘Ž๐‘“๐‘’๐‘c>d>a>f>e>b and a>f>c>d>e>b๐‘Ž๐‘“๐‘๐‘‘๐‘’๐‘a>f>c>d>e>b.

Proof.

Since the crease pattern is symmetric with respect to a vertical reflection, we can assume without loss of generality that c>a๐‘๐‘Žc>a. Now, since e๐‘’e is upward-facing, so is c๐‘c and a๐‘Ža, and thus the MV assignment in Figure 11 implies that any flat-folding of this vertex must have c>d>e๐‘๐‘‘๐‘’c>d>e, a>f>e๐‘Ž๐‘“๐‘’a>f>e, and c,a>b๐‘๐‘Ž๐‘c,a>b; since we assumed c>a๐‘๐‘Žc>a, this implies that c>a>b๐‘๐‘Ž๐‘c>a>b. In order to avoid self-intersections, we note that after folding all of the orange creases will be lined up, and the yellow creases will be lined up. To figure out possible orderings, we build up the layer orderings in stages.

The first stage is that c>d>e๐‘๐‘‘๐‘’c>d>e coming from the mountain-valley pattern. To build the second stage, consider the possibilities for how a>f>e๐‘Ž๐‘“๐‘’a>f>e can interleave with this ordering. Suborderings of the form a>d>f>e๐‘Ž๐‘‘๐‘“๐‘’a>d>f>e and c>f>d>e๐‘๐‘“๐‘‘๐‘’c>f>d>e are not allowed, by the taco-taco property (see Section 2.1) around the yellow and orange edges, respectively. Thus f๐‘“f cannot go between c๐‘c and d๐‘‘d; since a>f๐‘Ž๐‘“a>f, we must therefore have c>f๐‘๐‘“c>f, and thus the only possible ordering is c>d>a>f>e๐‘๐‘‘๐‘Ž๐‘“๐‘’c>d>a>f>e. For the third stage, consider where b๐‘b can be inserted in this ordering. Since a>b๐‘Ž๐‘a>b the only possibilities are

c>d>a>b>f>ec>d>a>f>b>ec>d>a>f>e>b.formulae-sequence๐‘๐‘‘๐‘Ž๐‘๐‘“๐‘’๐‘๐‘‘๐‘Ž๐‘“๐‘๐‘’๐‘๐‘‘๐‘Ž๐‘“๐‘’๐‘c>d>a>b>f>e\qquad c>d>a>f>b>e\qquad c>d>a>f>e>b.

The first of these is forbidden by the taco-taco property around the yellow edges; the second is forbidden by the taco-taco property around the orange edges. Thus the only possibility is the last ordering (which is possible by first folding the top half behind the bottom half, then folding the right half down, and then the left). โˆŽ

Figure 12. Problematic Intersector configuration
a๐‘Žab๐‘bc๐‘cd๐‘‘de๐‘’ef๐‘“fg๐‘”ghโ„Žhi๐‘–ij๐‘—jk๐‘˜k
Figure 13. Problematic Intersector configuration with annotations
Lemma 15.

The problematic configuration (Figure 12) will not fold flat.

Proof.

This proof will refer to the annotated version, Figure 13. The colored regions in the diagram are upward-facing; the others are downward-facing. The graph on the nodes shows ordering relations enforced on the regions in the graph. (The green and blue lines show a part of the s-net (defined in Section 2.1) consisting of the parts of the s-net which overlap region c๐‘c after folding; a flat-folding must give a well-defined ordering on these regions.) The directions in the graph points from a layer that must be lower to one that must be higher. A cycle in the graph thus exhibits a contradiction.

The black edges in the graph are drawn from local mountain-valley conditions: an upward-facing layer must be above a neighboring layer if they differ by a mountain fold, and below if they differ by a valley fold. The blue edge in the graph follows from Lemma 14 applied to regions a๐‘Ža,b๐‘b,c๐‘c,d๐‘‘d,e๐‘’e,f๐‘“f. Note that there is a path from c๐‘c to a๐‘Ža; thus if we wish to avoid cycles, the layer ordering must have c<a๐‘๐‘Žc<a Thus by Lemma 14 the ordering on these layers must be a>f>c>d>e>b๐‘Ž๐‘“๐‘๐‘‘๐‘’๐‘a>f>c>d>e>b, giving the red arrow.

Analyzing the black graph with this data, we see that we must have

g<b<e<d<c<h<i<j<k<f<a.๐‘”๐‘๐‘’๐‘‘๐‘โ„Ž๐‘–๐‘—๐‘˜๐‘“๐‘Žg<b<e<d<c<h<i<j<k<f<a.

However, at the top edge of i๐‘–i there is a taco-tortilla condition which is violated. Layer i๐‘–i is between layers a๐‘Ža and b๐‘b, but does not contain a crease line at the blue line. The blue line is lined up in the folding map with the crease between a๐‘Ža and b๐‘b, giving the contradiction. Thus the crease pattern cannot flat-fold. โˆŽ

3.5. Twists

A twist fold is a crease pattern where n๐‘›n pairs of parallel mountain and valley creases (pleats) meet at an n๐‘›n-gon such that folding the pleats flat results in the n๐‘›n-gon rotating when folded flat. In addition, standard twist folds require the pleats to fold in the same rotational direction, either all clockwise (with the pleats folding mountain-then-valley in the clockwise direction) or all counterclockwise (valley-then-mountain in the clockwise direction). Twist folds are ubiquitous in origami tessellations; see, e.g., [Gje08].

Triangle and hexagon twists were pioneered by Fujimoto in the 1970s [FN82]. Such twists with optional valley creases so as to allow the triangles/hexagons to rotate in either the clockwise or counterclockwise direction are shown in Figures 14 and 15.

We will use these triangle and hexagon twists as gadgets to propagate wire signals in various directions, while also negating them. Their forced rotational nature proves the following Proposition; they are simple enough to analyze that we omit the details of the proofs.

Figure 14. Hexagonal twist
Figure 15. Triangle twist
Proposition 16.

The pure hexagonal and triangle twists (Figures 14 and 15) must flat-fold in rotationally-symmetric ways. In particular, given any designated wire in the top half of the gadget as the input, both twists negate and duplicate the input value in the other, output wires.

3.6. The eater

Sometimes twist folds will produce extraneous wires, or noise wires that are not needed for our construction of Rule 110. In order to eliminate these we have eater gadgets that accept any combination of Boolean wire values. In particular, if it can be arranged that all of the noise wires in adjacent cells either cancel one another out (by colliding in an eater) or match up, then the cells can be tessellated. A modified triangle twist, shown in Figure 16 does the job nicely.

Figure 16. Eater
Proposition 17.

The values of the three wires entering the eater (Figure 16) are independent. In other words, the eater will flat-fold regardless of the values of the three wires.

Proof.

Since the eater crease pattern is rotationally-symmetric as well as reflectively-symmetric about each mountain input axis, all one needs to do to show that the eater will fold flat for any set of inputs is to check when the inputs are all TRUE or have two TRUE and one FALSE inputs. When all are TRUE the eater turns into a triangle twist and thus can fold flat. The TRUE, TRUE, FALSE case requires using the short optional mountain crease (and its collinear optional valley) that is between the adjacent optional valleys between one of the TRUE and the FALSE inputs. It can be readily checked that this, too, is flat-foldable. โˆŽ

4. Folding Rule 110

4.1. The Main Theorem

Figure 17 shows the schematic of a crease pattern that logically simulates Rule 110. This crease pattern is overlaid on the triangle lattice for clarity; the underlying triangle lattice is not part of the crease pattern. The vertical wires labeled A, B, and C along the top of the Figure are the inputs and the center-most vertical wire at the bottom, labeled OUT, is the output. The wires and gadgets drawn in color in the Figure control the logical workings of this crease pattern. The wires and gadgets drawn in grey absorb and direct the noise wires generated by the crease pattern. Also note that the numerous gadgets detailed in the previous Section are simply labeled in Figure 17 by their names, like AND, OR, E (for the eater gadget), and so on rather than drawing all the individual creases. The pale yellow hexagons and triangles are hexagon and triangle twists, respectively.

Theorem 18.

If the crease pattern in Figure 17 is given mandatory creases for the input wires A, B, and C, then optional creases can be chosen from the rest to make the crease pattern fold flat, and the result will force truth value of the output wire to follow Rule 110 from the inputs A, B, and C.

Proof.

In the crease pattern, the splitter and crossover gadgets lead the three original inputs, or their negatins into a NOR and a pair of NAND clauses and then pass them into triangle twists to produce the following three signals (labeled in Figure 17):

X=AโˆจยฌBY=ยฌBโˆงCZ=BโˆงยฌC.formulae-sequence๐‘‹๐ด๐ตformulae-sequence๐‘Œ๐ต๐ถ๐‘๐ต๐ถX=A\vee\neg B\qquad Y=\neg B\wedge C\qquad Z=B\wedge\neg C.

The outputs of these are then led into a NAND and an OR clause to produce the two signals

P=TRUEโˆงX,Q=ยฌ(YโˆจZ).formulae-sequence๐‘ƒTRUE๐‘‹๐‘„๐‘Œ๐‘P=\mathrm{TRUE}\wedge X,Q=\neg(Y\vee Z).

Finally, the values of P๐‘ƒP and Q๐‘„Q are led to a NAND gadget, so that the final output signal is

ยฌ(PโˆงQ).๐‘ƒ๐‘„\neg(P\wedge Q).

In other words, the output of this crease pattern is:

ยฌ((AโˆจยฌB)โˆงยฌ((ยฌBโˆงC)โˆจ(BโˆงยฌC))).๐ด๐ต๐ต๐ถ๐ต๐ถ\neg((A\vee\neg B)\wedge\neg((\neg B\wedge C)\vee(B\wedge\neg C))).

This simplifies to

(4.1)(ยฌAโˆงB)โˆจ((ยฌBโˆงC)โˆจ(BโˆงยฌC)).๐ด๐ต๐ต๐ถ๐ต๐ถ(\neg A\wedge B)\vee((\neg B\wedge C)\vee(B\wedge\neg C)).

This is exactly what Rule 110 performs. That is, the output is TRUE if Bโ‰ C๐ต๐ถB\neq C (which makes the second clause in (4.1) TRUE), and if B=C๐ต๐ถB=C then this second clause will be FALSE and the output will be the value of (ยฌAโˆงB)๐ด๐ต(\neg A\wedge B). Thatโ€™s Rule 110.

โˆŽ

We remark that all of the gadgets used in the construction of the flat-folding simulation of Rule 110 generate a unique MV assignment (and thus a unique set of output wire values) for a given set of input wire values. Thus the same is true for our Rule 110 crease pattern (Figure 17) except for the places where two eater gadgets share a wire. Such a shared wire between eater gadgets could be either TRUE or FALSE and not affect the logical constraints of the rest of the crease pattern. Nonetheless, we have demonstrated that some flat-folding of the crease pattern will exist to perform Rule 110 computations, which is all that is required to simulate Rule 110.

4.2. On finiteness, flat-foldable origami tessellations, and Turing machines

The goal of this paper is to prove that falt-folding is Turing-complete, but what does it mean to make this statement? A Turing machine is a finitely-defined object (i.e. a machine with a finite number of states) working with infinite storage space (the tape) on which is recorded a finite starting input. In order to translate this into origami, we form a crease pattern made of of finite-state cells that are tessellated onto the infinite plane.

Consider the following variation of the global flat-foldability problem: We are given an infinite tessellation of a finite straight-line planar graph G๐บG drawn on our paper P=โ„2๐‘ƒsuperscriptโ„2P=\mathbb{R}^{2}; the tessellation must have a finite fundamental region, which is the cell in question. All the edges of G๐บG are labeled as either mandatory mountains, mandatory valleys, optional mountains, or optional valleys. G๐บG is equipped with a subgraph Ginitsubscript๐บinitG_{\mathrm{init}}, which contains all of the mandatory creases and a subset of the original creases, and which also forms a tessellation (i.e. the chosen subgraph is the same in every cell), such that Ginitsubscript๐บinitG_{\mathrm{init}} is the crease pattern Xfsubscript๐‘‹๐‘“X_{f} of some isometric folding map f:โ„2โ†’โ„2:๐‘“โ†’superscriptโ„2superscriptโ„2f:\mathbb{R}^{2}\to\mathbb{R}^{2} with a global layer ordering ฮปfsubscript๐œ†๐‘“\lambda_{f} whose MV assignment corresponds to the mountain and valley labeling of Ginitsubscript๐บinitG_{\mathrm{init}}. This is the โ€œground stateโ€ setup of our flat-folding Turing machine: the blank tape.

To specify a more general problem, we take a graph Gโ€ฒsuperscript๐บโ€ฒG^{\prime} which contains G๐บG and which differs from G๐บG by only (a) the addition of finitely many creases, or (b) the modification of an optional crease into a mandatory crease. The question becomes: is there a subset H๐ปH of Gโ€ฒsuperscript๐บโ€ฒG^{\prime}, which which contains all of the mandatory creases and a subset of the original creases, such that H๐ปH is the crease pattern Xfsubscript๐‘‹๐‘“X_{f} of some isometric folding map f:โ„2โ†’โ„2:๐‘“โ†’superscriptโ„2superscriptโ„2f:\mathbb{R}^{2}\to\mathbb{R}^{2} with a global layer ordering ฮปfsubscript๐œ†๐‘“\lambda_{f} whose MV assignment corresponds to the mountain and valley labeling of H๐ปH.

The main result of this paper is that this problem is Turing-complete. Theorem 18 shows that Rule 110, a finite cellular automaton which is known to be Turing-complete [Coo04], can be modeled using a tessellating crease pattern satisfying the above conditions. The above-mentioned crease pattern H๐ปH is the output of the Turing machine from a given input.

The connections between Turing machine computations, Rule 110, and in our flat-foldable crease pattern might seem mysterious to the reader, especially the requirement that such computations be performed with a finite amount of material. Thus, we provide a few details on this in the remainder of this Section.

Definition 19.

Consider an elementary cellular automaton with input values encoded as a row of cells, colored black for 111 and white for 00. The computation of the automaton is recorded as a grid with this input row as the top, and each consecutive row determined by the computational rule of the automaton. This gives a coloring of the plane. A spaceship is a self-replicating tile: a finite sequence of cells that, if repeated infinitely, will produce the original pattern back in a finite number of computations.

Computation on Rule 110 is done by observing perturbations in a sequence of standard spaceships, which are themselves a tessellation 141414 cells wide and 777 cells tall. (See [Coo04] for more details.) Take a 14ร—714714\times 7 repetition of the basic set of cells as the basis of the origami tessellation; since the spaceships tessellate infinitely, this will fold flat. To compute with Rule 110 a finite number of perturbations are made to the spaceship pattern; this is encoded in the crease pattern by setting the direction of input wires to be TRUE or FALSE by modifying the appropriate optional crease to be a mandatory crease, as desired, and altering the NAND gate above each input wire to be an eater (by adding a finite number of optional creases; the extra creases present in the NAND will not affect the flat-foldability of the gadget as they are all optional). This gives the input value to the computation below it. The part of the pattern below the given inputs will fold flat with finitely many modifications to the original spaceship pattern if and only if the original input reverts to the standard spaceships after finitely many steps. We conclude that since we need a finite amount of our paper to replicate a Rule 110 spaceship, and by Theorem 18, we have that our generalized flat-foldable origami problem is Turing-complete.

5. Conclusion

We have shown that folding origami crease patterns with optional creases into a flat state can emulate the behavior of the one-dimensional cellular automaton Rule 110, and can therefore perform the tasks of a universal Turing machine. Actually folding a piece of paper to simulate, say, multiple rows of an instance of Rule 110 using the crease pattern presented here would be a gargantuan task, even for expert origami artists. Using these methods to perform the computations of a Turing machine using flat origami would be even more arduous, so this is by no means meant to be a practical way to perform computation via origami.

By way of comparison, we note the existence of prior work from the physics and engineering community on using origami for actual computation, e.g. [SPM17, TGBV18, YLM21]. These studies build logic gates using rigid origami, where a stiff material is folded in a continuous motion so that the creases act like hinges and the regions of material between the creases remain planar, or rigid, during the folding process. Determining whether a crease pattern can be rigidly folded in this way has also been proven to be NP-hard [ACD+20]. While it is likely that rigid origami is also Turing complete as a computational device, to our knowledge no one has proven this. The crease patterns and gadgets in the present work are not rigidly foldable and therefore could not be used as-is in such a proof. Rather, computation performed by flat origami should be viewed discretely, where only the fully flat-folded state provides the desired computational information.

The logic gadgets presented in this paper may be used to simulate other one-dimensional cellular automata. For example, a crease pattern to produce a Sierpinski triangle modulo 222 would be given by iteration of the cell in Figure 18; to make this tessellate it is necessary to reflect consecutive units in each row, and the cells shift half a cell-width in each row. The basic cell, as above, is in a dark green box. To see the Sierpinski effect, one could color the โ€œtrueโ€ side of the input/output wires blue and the โ€œfalseโ€ red.

NANDNANDORENORENANDNOREENANDNANDNANDNANDOREENANDEEENANDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEETRUETRUEABCOUTXYZQP
Figure 17. Origami crease pattern with optional creases that simulates a Rule 110 cell.
EEEENANDEEENANDNOREEEA == B
Figure 18. A cell in a tessellation that would make a Sierpinski triangle.

References

  • [ACD+16] Hugo A. Akitaya, Kenneth C. Cheung, Erik D. Demaine, Takashi Horiyama, Thomas C. Hull, Jason S. Ku, Tomohiro Tachi, and Ryuhei Uehara. Box pleating is hard. In Jin Akiyama, Hiro Ito, Toshinori Sakai, and Yushi Uno, editors, Discrete and Computational Geometry and Graphs, pages 167โ€“179, Cham, 2016. Springer International Publishing.
  • [ACD+20] Hugo Akitaya, Kenny Cheung, Erik D. Demaine, Takashi Horiyama, Thomas C. Hull, Jason S. Ku, and Tomohiro Tachi. Rigid foldability is np-hard. Journal of Computational Geometry, 11(1):93โ€“124, 2020.
  • [BH96] Marshall Bern and Barry Hayes. The complexity of flat origami. In Proceedings of the 7th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 175โ€“183, Philadelphia, 1996. SIAM.
  • [Coo04] Matthew Cook. Universality in elementary cellular automata. Complex Systems, 15(1):1โ€“40, 2004.
  • [DO07] Erik D. Demaine and Joseph Oโ€™Rourke. Geometric Folding Algorithms: Linkages, Origami, Polyhedra. Cambridge University Press, Cambridge, UK, 2007.
  • [FN82] Shuzo Fujimoto and Masami Nishikawa. ๅ‰ต้€ ใ™ใ‚‹ๆŠ˜ใ‚Š็ด™้Šใณใธใฎๆ‹›ๅพ… / Sลzล suru origami asobi e no shลtai (Invitation to Creative Playing with Origami, in Japanese). Asahi Culture Center, Tokyo, 1982.
  • [FS21] JoAnna Fulton and Hanspeter Schaub. Forward dynamics analysis of origami-folded deployable spacecraft structures. Acta Astronaut., 186:549โ€“561, 2021.
  • [Gje08] Eric Gjerde. Origami Tessellations: Awe-Inspiring Geometric Designs. A K Peters, Wellesley, MA, 2008.
  • [Hul20] T.C. Hull. Origametry: Mathematical Methods in Paper Folding. Cambridge University Press, 2020.
  • [Jus97] Jacques Justin. Toward a mathematical theory of origami. In Koryo Miura, editor, Origami Science & Art: Proc. of the 2nd Intl. Meeting of Origami Science and Scientific Origami, pages 15โ€“29, Otsu, Japan, 1997. Seian University of Art and Design.
  • [LSE+18] Bin Liu, Jesse L. Silverberg, Arthur A. Evans, Christian D. Santangelo, Robert J. Lang, Thomas C. Hull, and Itai Cohen. Topological kinematics of origami metamaterials. Nature Physics, 14(8):811โ€“815, 2018.
  • [MHM+17] Davic C. Morgan, Denise M. Halverson, Spencer P. Magleby, Terri C. Bateman, and Larry L. Howell. Y Origami?: Explorations in Folding. American Mathematical Society, 2017.
  • [MSP+18] Rupert Maleczek, Gabriel Stern, Clemens Preisinger, Moritz Heimrath, Oliver D Krieg, and Astrid Metzler. Curved folded wooden assemblies. Proceedings of IASS Annual Symposia, 2018(20):1โ€“8, 2018.
  • [Rob78] S. A. Robertson. Isometric folding of riemannian manifolds. Proceedings of the Royal Society of Edinburgh, 79(3โ€“4):275โ€“284, 1977โ€“1978.
  • [SEM+14] Jesse L. Silverberg, Arthur A. Evans, Lauren McLeod, Ryan C. Hayward, Thomas Hull, Christian D. Santangelo, and Itai Cohen. Using origami design principles to fold reprogrammable mechanical metamaterials. Science, 345(6197):647โ€“650, 2014.
  • [SPM17] Menachem Stern, Matthew B. Pinson, and Arvind Murugan. The complexity of folding self-folding origami. Phys. Rev. X, 7:041070, Dec 2017.
  • [TGBV18] Benjamin Treml, Andrew Gillman, Philip Buskohl, and Richard Vaia. Origami mechanologic. Proceedings of the National Academy of Sciences, 115(27):6916โ€“6921, 2018.
  • [YLM21] Wenzhong Yan, Chang Liu, and Ankur Mehta. Origami logic gates for printable robots. In 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 6084โ€“6089, 2021.