An Introduction to Computational Origami [1st ed.] 9783319591889, 9783319591896

In this book, origami is treated as a set of basic geometrical objects that are represented and manipulated symbolically

726 121 3MB

English Pages XII, 217 [225] Year 2020

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

An Introduction to Computational Origami [1st ed.]
 9783319591889, 9783319591896

Table of contents :
Front Matter ....Pages i-xii
Origami, Paper Folding, and Computational Origami (Tetsuo Ida)....Pages 1-10
Simple Origami Geometry (Tetsuo Ida)....Pages 11-42
Origami Geometry based on Huzita-Justin Folds (Tetsuo Ida)....Pages 43-93
Logical Analysis of Huzita-Justin Folds (Tetsuo Ida)....Pages 95-111
Verification of Origami Geometry (Tetsuo Ida)....Pages 113-144
Polygonal Knot Origami (Tetsuo Ida)....Pages 145-167
Abstract Origami (Tetsuo Ida)....Pages 169-201
Back Matter ....Pages 203-217

Citation preview

Texts & Monographs in Symbolic Computation

Tetsuo Ida 

An Introduction to Computational Origami

Texts & Monographs in Symbolic Computation A Series of the Research Institute for Symbolic Computation, Johannes Kepler University, Linz, Austria

Founding Editor Bruno Buchberger, Research Institute for Symbolic Computation, Linz, Austria Series Editor Peter Paule, Research Institute for Symbolic Computation, Johannes Kepler University, Linz, Austria

Mathematics is a key technology in modern society. Symbolic Computation is on its way to become a key technology in mathematics. “Texts and Monographs in Symbolic Computation” provides a platform devoted to reflect this evolution. In addition to reporting on developments in the field, the focus of the series also includes applications of computer algebra and symbolic methods in other subfields of mathematics and computer science, and, in particular, in the natural sciences. To provide a flexible frame, the series is open to texts of various kind, ranging from research compendia to textbooks for courses.

More information about this series at http://www.springer.com/series/3073

Tetsuo Ida

An Introduction to Computational Origami

123

Tetsuo Ida Department of Information Engineering University of Tsukuba Tsukuba, Japan

ISSN 0943-853X ISSN 2197-8409 (electronic) Texts & Monographs in Symbolic Computation ISBN 978-3-319-59188-9 ISBN 978-3-319-59189-6 (eBook) https://doi.org/10.1007/978-3-319-59189-6 © Springer Nature Switzerland AG 2020 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland

Preface

This monograph is written for students and researchers who love origami and take interest in computational and geometric aspects of origami. The term computational origami in the title is relatively new. Computational origami is the field of study on origami with extensive use of mathematics and computer science and engineering, in the same vein that computational geometry is related to geometry. This observation brings back to the question of what discipline is origami. In this monograph, we treat origami as a subject of art, a science and technology of shapes. It is an art and science of shapes since a variety of shapes constructed from a piece of paper are studied. A system of faces of a piece of paper connected, superposed and folded indeed produces interesting shapes that deserve full exploration. With the advancement of computing technology, many disciplines have gained one more attribute of “computational” and found their ways to yet another level of depth and sophistication and the industrial applications. Origami is an excellent example of such discipline. Gains in computational origami by applying computational power are not restricted to the speed and scale. Computational origami also attains rigor, abstraction, and generality that are the characteristics of the main ingredients. They build up the field of study a full-fledged science and engineering. This introductory monograph on origami is a glimpse of how the above transformation has happened and is still evolving. We hope this monograph is used as a textbook in a course on special topics in applied computing for third-year or fourth-year undergraduate in computer science and applied mathematics, or interdisciplinary master course. We also hope that it is read as a research monograph by researchers interested in origami, geometry, and the applications of algebraic computation. To help the readers which part of the monograph they focus on at the first reading, we outline the monograph below. As a monograph in the series of textbooks in symbolic computation, we proceed as follows. We collect some of our research results, glued together with the works of the pioneers in this field, and make the collection into a v

vi

Preface

short coherent story of computational origami. In compiling the materials, we have to assume some maturity level of logic, algebraic, and symbolic manipulation. Since the scope of computational origami is broad, we need the above prerequisite knowledge. However, the examples are mostly from high school mathematics. We hope that if the readers have some difficulty in following some part of this monograph, they refer to supplemental materials. We list them in References to Textbook at the end of the monograph. After briefly discussing the history of origami as used in daily life and the object of research, we begin with elementary geometry a là Euclid and formalize a simple origami geometry. Next, extend the origami geometry by one more fold rule and then point out the remarkable difference between the Euclidean geometry and the (extended) origami geometry. Then, we formalize the origami geometry in more generality. Algebraic treatise of the origami geometry realizes the precise construction of lines and points involved in folds. It further enables us to tackle the automated theorem proving in the origami geometry. The logical formulation opens the way to the mathematical interpretation of knot folds. Finally, abstract origami and abstract rewrites of origami enable us to formalize origami construction; and more sophisticated folds that the readers find in origami recipe books. In all, we have seven chapters. We expect that at the first reading, the readers may choose 1. very beginning of origami viewed computationally - Chapters 1 and 2, 2. until the origami geometry - Chapters 1 - 3, 3. until the logical and algebraic foundation of the origami geometry - Chapters 1 - 5, 4. until Chapters 6 and 7 for readers with strong research motivation. We have in mind the chapter dependency shown to the right, although we tried to make each chapter self-contained as much as possible. In Appendix B, we give a link to the web site of E OS (E-Origami-System) project. This site is essential for us to communicate with readers. It also provides links to supplementary materials of this monograph and the E OS packages for download together with the tutorial of origami programming. Tsukuba Japan May 2020

Acknowledgements

This monograph is one of the outcomes of 30 years of fruitful cooperation between Symbolic Computation Research Group (SCORE), University of Tsukuba, Japan, and Research Institute for Symbolic Computation (RISC), Johannes Kepler University, Austria. I want to thank the colleagues of RISC, in particulars Bruno Buchberger, Franz Winkler, and Peter Paule, who have made the long-term cooperation possible. All the examples of origami construction in the monograph have been tested and reformulated, when necessary, by E OS. E OS has been developed by the team of SCORE: Tetsuo Ida, Hidekazu Takahashi, Fadoua Ghourabi, Asem Kasem, and Mircea Marin. Yasuhiko Minamide and Cezary Kaliszyk provided us timely suggestions and helped on computer-assisted theorem proving. I am grateful to Bruno Buchberger, Masahiko Sato, Stephen Watt, and Fairouz Kamareddine for stimulating communications on origami, symbolic computation, logic, and automated theorem proving. The plan of having a monograph collecting, coherently, materials spread in various forms of publications was with us for some time. The Great East Japan Earthquake in 2011 and the subsequent hardships hampered our work. I am grateful for all the people concerned in Springer International and RISC at Johannes Kepler University, who patiently waited for me to complete the monograph and encouraged me all the time. While writing the monograph, the author has been supported by JSPS research grant Kakenhi 16K00008.

vii

Contents

1

Origami, Paper folding, and Computational Origami . . . . . . . . . . . 1 1.1 Origami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Computational origami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Brief history of origami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3.1 Origami in culture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3.2 Path to mathematical and computational origami . . . . . 3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2

Simple Origami Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Basic folds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 EO: a set of basic folds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Simple origami geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Fold O1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.4 Fold O2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.5 Fold O3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.6 Superposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.7 Fold O3 - resumed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.8 Fold O4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.9 Fold O5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Examples of constructions by EO . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 E-origami system E OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Regular triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Maximum regular triangle inscribed in an origami . . . . 2.2.4 Square root of 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.5 Regular pentagon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Historical notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11 11 12 14 15 16 17 18 19 19 20 20 21 22 27 30 34 38 38 39 42

ix

x

Contents

3

Origami Geometry based on Huzita-Justin Folds . . . . . . . . . . . . . . . 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Origami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Denotations of geometric objects . . . . . . . . . . . . . . . . . . . . . 3.2.3 Representation of a point . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4 Representation of a line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Superposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Calculus of Huzita-Justin origami construction . . . . . . . . . . . . . . 3.5 Algebraic properties of the rules of HO . . . . . . . . . . . . . . . . . . . . . 3.5.1 Analysis of rule O1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Analysis of rule O2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.3 Analysis of rule O4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.4 Analysis of rule O5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.5 Analysis of rule O7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.6 Analysis of rule O6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.7 Analysis of rule O3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 General Fold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Origami constructible numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.1 Notations and the programming language . . . . . . . . . . . 3.8.2 Construction of a unit square . . . . . . . . . . . . . . . . . . . . . . . . 3.8.3 Cube root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.4 Trisection of an arbitrary angle . . . . . . . . . . . . . . . . . . . . . . 3.9 Historical notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43 43 44 44 45 46 46 48 50 54 54 55 55 56 59 60 63 65 72 74 74 75 79 82 86 88 88 92

4

Logical Analysis of Huzita-Justin Folds . . . . . . . . . . . . . . . . . . . . . . . . 95 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 4.2 Huzita-Justin rules restated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.3 Algebraic interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.4.1 Translation of atomic formulas to algebraic expressions 102 4.4.2 Translation of HO rules to algebraic expressions . . . . . . 103 4.4.3 Angle trisection by Abe’s method revisited . . . . . . . . . . . 105 4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

5

Verification of Origami Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.2 Reasoning about origami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.3 A simple example of construction . . . . . . . . . . . . . . . . . . . . . . . . . . 116

Contents

xi

5.4

Method of proving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.4.2 Geometric reasoning and logical transformation . . . . . . 120 5.4.3 Translation to algebraic expressions . . . . . . . . . . . . . . . . . . 124 5.4.4 Gröbner basis computation . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.5 Example - proof of a regular pentagon construction . . . . . . . . . . 125 5.6 Morley’s theorem by origami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5.6.1 Morley’s theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5.6.2 Construction by Abe’s angle trisection . . . . . . . . . . . . . . . 130 5.6.3 Proof of the generalized Morley’s theorem . . . . . . . . . . . . 133 5.7 Historical notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

6

Polygonal Knot Origami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.2 Analysis of knot folds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.2.1 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.2.2 Construction of a regular pentagonal knot by O RIKOTO 149 6.3 Analysis of the construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 6.3.1 Traditional knot folds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 6.3.2 Geometric constraint solving approach . . . . . . . . . . . . . . . 153 6.3.3 Algebraic constraint solving approach . . . . . . . . . . . . . . . 154 6.4 Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 6.4.1 Summary of the verification method . . . . . . . . . . . . . . . . . 155 6.4.2 Proof of Isosceles crossing lemma and Isosceles trapezoid lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 6.4.3 Proof of regular pentagonal knot constructed by constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 6.4.4 Proof of regular pentagonal knot constructed by fastening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 6.5 Regular heptagonal knot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 6.6 Bibliographic and historical notes . . . . . . . . . . . . . . . . . . . . . . . . . . 160 6.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

7

Abstract Origami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 7.2 Formalizing origami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.2.1 Towards mathematical modeling of origami in 3D . . . . 170 7.2.2 Abstract origami system . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 7.3 Geometric structure of origami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.3.1 Face . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

xii

Contents

7.3.2 Face adjacency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 7.3.3 Superposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 7.3.4 Summary of the relations on origami faces . . . . . . . . . . . 186 7.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 7.4.1 Over and superposition relations on faces . . . . . . . . . . . . 187 7.4.2 Graphs of an abstract origami . . . . . . . . . . . . . . . . . . . . . . . 190 7.4.3 Example - construction of an origami crane . . . . . . . . . . . 192 7.5 From abstract origami to computational origami . . . . . . . . . . . . 192 7.6 Bibliographic and historical notes . . . . . . . . . . . . . . . . . . . . . . . . . . 196 7.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 A

Geometric and logical notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

B

E-Origami System E OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 B.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 B.2 Language O RIKOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

C

Lill’s method for finding real roots of a polynomial . . . . . . . . . . . . . 211

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

Chapter 1

Origami, Paper folding, and Computational Origami

1.1 Origami Origami is the art of paper folding, providing the methodology of constructing a two-dimensional (2D) or three-dimensional (3D) object out of a sheet of paper solely by folding by hand. “Origami” is originally a Japanese word. It is now internationally used. “Origami” is a combined word, consisting of ori (folding) and kami (paper).1 Consequently, etymologically speaking, the two terms “origami” and “paper folding” are the same except for the word order. We use term origami to mean both (i) a sheet of paper for paper folding and (ii) the art of paper folding. Because of this extensive dual usage of the term “origami,” in this monograph we use the word “origami” rather than “paper folding.” When we use “origami” in the sense of (i), we use it as a countable noun, e.g., an origami or origamis, and in the spirit of (ii) we use it as an uncountable noun, e.g., “the art of origami.” Origami packages sold at stationery goods shops contain a collection of variously colored square sheets of paper. A simple origami has only one-side colored. With many practices of origami to construct various artworks, we often observe that the final origami artworks only exhibit the one-side of the original origami. One example is a classical crane that we show in Chapter 7 (Fig. 7.1 on page 171 and Fig. 7.22 on page 196). Recently, origamis with two differently colored sides become popular. These will further stimulate origamists to create interesting color-combination origami artworks.

1

When two words are combined to form a new single word, the vocal sound of the head syllable of the second word is often changed. In the case of “ori” and “kami,” the vocal sound of ‘“kami” changes to “gami.” The combined new word is origami, instead of orikami.

© Springer Nature Switzerland AG 2020 T. Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation, https://doi.org/10.1007/978-3-319-59189-6_1

1

2

1 Origami, Paper folding, and Computational Origami

1.2 Computational origami In this monograph, we discuss computational origami. It is a scientific discipline to study origami’s properties by the methodology of mathematics and computer science and technology. The subject’s scope includes the study such as formalization of origami, simulation, and visualization of origami, and automated verification of an origami’s geometric properties, among others; it is also a step towards new engineering to build a variety of objects by folding. It is desirable, even indispensable, to reason about origami’s mathematical and computational properties using a suitable software tool. For this purpose, we use computational origami system called e-origami system (abbreviated to E OS)[9, 10].

1.3 Brief history of origami 1.3.1 Origami in culture We briefly review the history of origami from the cultural perspectives and then focus on the mathematical and computational origami. We discuss the case in Japan. As convincing pieces of evidence of milestones in the history of origami, we would like to rely on the publication in a book form describing the techniques of folding to construct an origami. In this regard, we have useful pieces of evidence to origami practices in the history of Japanese culture. Some researchers remark that the history of origami goes back to the days when mass production of paper became possible, and the commons started to practice origami. To associate origami with the more availability of finequality paper would not further consolidate our knowledge about origami history. The higher availability of fine-quality paper is a necessary condition for origami to become popular widely. Still, this alone cannot explain why and how origami has become a significant cultural ingredient in Japan. Other researchers remark that origami was practiced at least as early as the 12th century in Japan by noting that people practiced some protocol origami. Folding a sheet of paper to make a specific shape understood by a community of people is called protocol origami. Protocol origami is usual in the everyday life of Japan even to this date. Protocol origamis and icons made by folds are hard to distinguish. Thus, the investigation of the history of origami, especially in the early days, in this perspective, would be quite challenging. In Japan, origami became widely practiced in the Edo period (1603 – 1868). We can see two streams of origami art in this period, i.e., recreational

1.3 Brief history of origami

3

origami and protocol origami. The term recreational may not convey the exact meaning of this category of origami to the readers since the modern notion of recreation is very different from the one in the Edo period. Origami plays a role similar to that of Go and Shogi (Japanese version of Chess) as far as we practice daily. A notable work of origami in the Edo period is a booklet titled Secret Fold Techniques of Connected Cranes (in Japanese, Hiden Semba Duru Orikata) published in 1797. It explains 49 methods of constructing a crane and (more sophisticated) connected cranes with the carefully workedout illustrations.

1.3.2 Path to mathematical and computational origami When we focus on the role of origami as a pedagogical tool to teach mathematics, especially geometry, we have a clearer picture of the development of the notion of origami, thanks to the pioneering works of Sundara Row [14], Yates [16], Huzita [7], Engeler [4] and Martin [13]. In the 19th and 20th centuries, we see the works internationally to associate origami with geometric constructions. The development of the Internet helped disseminate new and classical mathematical research results relating to origami. Among them, in this chapter we take up the following two publications: T. Sundara Row’s “Geometric exercises in paper folding” [14], and Proceedings of the First International Meeting of Origami Science and Technology edited by H. Huzita [7]. Engeler’s and Martin’s works are broader than mathematical origami, as they treated geometric construction in general. Engeler discussed several geometries characterized by the construction tool that each geometry employs. He explained the principles of the operations algorithmically, using a Pascal-like programming language. His geometries include the geometry of Pythagorean construction.2 What distinguishes his work from other notable works on geometric constructions is the study of each geometry’s decision problems. Martin explains various geometric constructions, starting from the Euclidean construction as described in Euclid Elements[11], and compare their capabilities. His analyses of geometric constructions include the study of origami. He gave the results that origami has the capability of the geometric construction, which surpasses a straightedge and a compass, in his book published in 1998[13]. His results are further elaborated by Alperin [1] and Cox [3] later.

2

This name of the construction comes from his book. He gave this name to the construction of paper folding that uses part of Huzita-Justin fold rules (see Chapter 3).

4

1 Origami, Paper folding, and Computational Origami

1.3.2.1 Geometric exercises in paper folding Sundara Row’s monograph is, contrary to its title, not just a collection of exercises of geometric constructions using paper folding. It contains the geometric constructions and analyses with the tools of scraps of paper and a pen-knife. He used the pen-knife as a straightedge and the scraps of paper for setting off equal lengths. He could also use the pen-knife as a cutter, of course, but the use in this way is not essential to his geometry. The monograph appeals to the readers for the use of paper folding to teach geometry in schools. He argues that paper folding is not only effective in teaching geometry but also natural science in general because of the importance of the science of shapes as a basis of all scientific disciplines. At this point, we would like to insert the following note to avoid confusion. Note:

• We call a ruler that we had used until Martin’s book (published in 1998) a straightedge. • A marked straightedge is a straightedge with two distinct marks on both ends of the straightedge. We could place them between the two ends. Their locations are not essential. The distance between the marks can be taken as unit distance if necessary when measuring the distance between two points. These marks play the role of a scrap of a sheet of paper of Sundara Row. • We call a marked straightedge a ruler. This ruler is the simplest ruler since today’s ruler has unit signs on it to measure the distances. • A straightedge and a compass are used in Euclid geometry and hence is called a Euclidean tool. • Sometimes we draw various curves before we start construction. To bring such curves are outside the scope of the argument at hand. It is implicitly allowed to mark points during the construction process.

Sundara Row then wrote 3 The teaching of plane geometry in schools can be made very interesting by the free use of kindergarten gifts. It would be perfectly legitimate to require pupils to fold the diagrams with paper. This would give them neat and accurate figures, and impress the truth of the propositions forcibly on their minds. It would not be necessary to take any statement on trust. But what is now realised by the imagination and idealisation of clumsy figures can be seen in the concrete. ... Paper folding is not quite foreign to us. Folding paper squares into natural objectsa boat, double boat, ink bottle, cup-plate, etc., is well known, as also the cutting of paper in symmetric forms for purposes of decoration.

3

from paragraphs 4 and 6 in [14]

1.3 Brief history of origami

5

This paragraph eloquently expresses the effectiveness of origami as a pedagogical tool. Many teachers have made similar statements about origami’s role in mathematics education. Sundara Row saw human’s ability of abstraction and the transition from recreational origami to mathematical origami. Furthermore, for children, the transition from recreation to learning is smooth. The monograph of Sundara Row contains algorithms of geometric constructions and fundamental propositions written in 285 paragraphs, focusing on the role played by the geometric constructions by paper folding. Of particular interest is the emphasis on the relationships between the constructed shapes and the algebraic expressions abstracted from the constructions. In the first chapter of his monograph (Paragraph 1 - 21), Sundara Row presented an example which relates a sequence of folded sheets of paper to the infinite geometric series 1 1 1 + ( )2 + ( )3 · · · 2 2 2

(1.1)

Let us imagine that the sheets of paper are origamis. We construct those origamis in the following way. Suppose that at the beginning we have a unit square origami shown in Fig. 1.1(a). The four corners of the origami (a) are marked with A, B, C, and D, arranged counterclockwise. The origami (a) is colored. It has two sides; each side is colored differently. We use colors, yellow and blue, in the digital version of this monograph. As our convention of this monograph, we place an origami on a flat plane with the up-side being yellow, and the down-side blue.After performing a sequence of the fold, unfold, fold and unfold in this order, we can find the center of the origami (a) at the intersection of the two creases, as shown in Fig. 1.1(b). We mark the center with E. We fold the origami (b) to bring A to E; we obtain the origami (c). To achieve the desired precision, we lay the paper-knife on the line passing through F and G and fold the origami along the edge of the paper-knife. Then we cut the origami along the fold-line. We obtain the origami (d). We repeat the same operations for corners B, C, and D; we obtain the origamis (e), (f), and (g). We quickly see that the origami (g) is again a square, but its area is half of the origami (a), i.e., 1/2. We iterate the constructions similar to the steps of (c) - (g) infinitely many times. Each time we cut off half the square. The constructed squares become smaller and smaller and eventually disappear. This process of paper folding means the cut-off area is 1. Therefore, the value of Eq. (1.1) is 1, i.e., the area of the initial unit square.

6

1 Origami, Paper folding, and Computational Origami

(a)

(b)

(c)

(d)

(e)

(f)

(g)

Fig. 1.1: Cutting square sheet of an origami into half

1.3 Brief history of origami

7

Now, what do we learn from this paper folding mathematically? Depending on the level of the maturity of mathematical reasoning and origami experiences, the answers would be different. Readers have to find the answer by themselves by trying to solve the exercises of Sundara Row’s monograph. In this particular example, readers of or learners from Sundara Row’s monograph in elementary schools can grasp the abstract notion of geometric series and infinity from concrete origamis.

1.3.2.2 Formalization of origami The first International Meeting of Origami Science and Technology took place in Ferrara, Italy, in 1989. The proceedings of the meeting are the first publication of the collection of origami researches; it announces the discipline of origami science and technology [7]. It contains 28 papers, some of which are the reprints of the already published articles. Among them, Wantzel’s paper [15] and Justin’s paper [12] are related to the theme of this monograph. The former published the result that we cannot trisect an arbitrary angle using a straightedge and a compass. As for the latter, we will use the set of folding operations that Justin used in solving cubic equations. According to the program of the meeting given in the proceedings, a talk in honor of M. Beloch titled “Remembrances of Prof. Margherita Beloch” was delivered. Beloch was a professor at the University of Ferrara in 1927 - 1955. Her work on computing a cube root of 2 by origami was known in the mathematical origami research community. Her method led to the discovery of the folding operation that superposes two points and two lines simultaneously. We explain this operation, referred to as O6 later, in detail in Chapter 3. Justin’s set of the folding operations includes O6; hence he can solve problems that can be formulated by a cubic equation. At the meeting, Huzita presented a paper on the axiomatic development of origami geometry [6]. In that article, he gave six basic folding operations, including O6. Although slightly differently stated, those six operations are the same as the six operations of Justin’s set. Huzita argued that his set of fold operations is open in the sense that the set is expandable by adding more fold operations. Indeed, Justin’s work already showed that there exists another operation to be called O7 in Chapter 3. The set of folding operations, which we call Huzita-Justin rules, is later revealed to be all the possible basic operations, provided that we restrict ourselves to the fold along a single fold-line at one fold, and that superpositions of only points and lines are allowed[2]. In [6] and his later publication [8], Huzita attempted to formalize his 2D origami geometry in the spirit of Euclid’s Elements [5]. Huzita compares the Euclidean geometry and his envisaged origami geometry, and summarized in a table in [6]. We give a summary of the comparison with our treatment in Table 1.1.

8

1 Origami, Paper folding, and Computational Origami

Table 1.1: Comparison of the 2D Euclidean geometry and Huzita’s origami geometry Euclid Construction tools Operations Postulates∗

Origami

straightedge and fold rules compass drawing a circle fold along and a line the fold-line five postulates three postulates∗∗

Common notions∗

nine axioms

not explicitly given

Propositions

many

some propositions given in [6, 8]

* In modern terminology, term “axiom” is used instead of “postulate”. ** In [8], the second postulate that Huzita gave in [6] is split into two postulates.

From the table, we can see that the set of Huzita-Justin’s fold rules are viewed as the functionality of a tool for folding. In earlier publications, Huzita-Justin’s rules are called “axioms,”, but Huzita-Justin axioms or Huzita axioms are a misnomer in the rigorous logical sense. In this monograph, we avoid the use of this terminology. Huzita stated in [8] the following. It is very popular to say that software is often more powerful than hardware. We can understand these words as intellectual and mechanical tools. Origami geometry (or better Origami Science in general) is purely based on software having no hardware at all, Euclidean is strictly limited by its tools (ruler4 and compass) and there is no possibility of expansion. Its system is closed. In contrast, origami is a completely open system of the intelligence, and there are possibilities of developing to the higher level by inventing new folds and admitting them as a new fold type that will not necessarily be a simple fold as has so far been treated (naturally not an axiom in this case).

His vision reminds us of a universal Turing machine, or better even a universal geometric machine. In this monograph, we formalize the fold operations as rules of fold; then, we give logical and algebraic interpretations of the formalized rules and geometric objects. We use them to construct origami in the virtual space realized by a computer. Furthermore, we express the geometric properties of origami in the form of propositions and prove the correctness of the expressed 4

This should be read as a straightedge in our usage of the terms “straightedge” and “ruler”.

1.3 Brief history of origami

9

propositions using automated theorem prover running on the same computer. We do not attempt to axiomatize the origami geometry, which Huzita outlined in [6] and [8]. Instead, we take an approach that we often take in computer science; we design a calculus of origami construction that incorporates Huzita-Justin rules, implement the calculus, and make it available as a software system for computational origami.

10

1 Origami, Paper folding, and Computational Origami

References 1. R. C. Alperin. A Mathematical Theory of Origami Constructions and Numbers. New York Journal of Mathematics, 6:119–133, 2000. 2. R. C. Alperin and R. J. Lang. One-, two, and multi-fold origami axioms, pages 371–394. August 2009. 3. D. A. Cox. Galois Theory. Wiley-Interscience, 2004. 4. E. Engeler. Questions of Analysis, Geometry, and Algorithmics. Springer-Verlag, 1993. 5. I. L. Heiberg. Euclid’s elements of geometry. Revised and corrected 2008 edition, 2007. Google Books: available at https://books.google.co.jp/books?isbn=0615179843 (January, 2019). 6. H. Huzita. Axiomatic development of origami geometry. In H. Huzita, editor, Proceedings of the First International Meeting of Origami Science and Technology, pages 143 – 158, Ferrara, Italy, December 1989. 7. H. Huzita, editor. Proceedings of the First International Meeting of Origami Science and Technology, Ferrara, Italy, December 1989. 8. H. Huzita. Understanding geometry through origami axioms. In J. Smith, editor, Proceedings of the First International Conference on Origami in Education and Therapy, pages 37 – 70, Birmingham UK, October 1992. British Origami Society, British Origami Society. 9. T. Ida and B. Buchberger. Proving and Solving in Computational Origami. In Analele Universitatii din Timisoara, volume XLI, Fasc. Special of Mathematica-Informatica, pages 247–263, 2003. 10. T. Ida, D. Tepeneu, B. Buchberger, and J. Robu. Proving and Constraint Solving in Computational Origami. In Proceedings of the 7th International Symposium on Artificial Intelligence and Symbolic Computation (AISC 2004), volume 3249 of Lecture Notes in Artificial Intelligence, pages 132–142, 2004. 11. D. E. Joyce. Euclid’s elements. http://aleph0.clarku.edu/ djoyce/java/elements/toc.html, 1996. 12. J. Justin. Résolution par le pliage de l’équation du 3e degré et applications géométriques. L’Ouvert, (42):9 – 19, 1986. 13. G. E. Martin. Geometric Constructions. Springer-Verlag New York, Inc., 1998. 14. T. S. Row. Geometrical Exercises in Paper Folding. Addison and Co., Madras India, 1893. 15. P. L. Wantzel. Recherches sur les moyens de reconnaître si un problème de géométrie peut se résoudre avec la règle et le compas. Journal de Mathématiques Pures et Appliquées, 1(2):366–372, 1837. 16. R. C. Yates. Tools: A Mathematical sketch and model book. 1941. available as an archived photo scanned copy.

Chapter 2

Simple Origami Geometry

Abstract We discuss the basic fold rules of origami. With a small number of fold rules, we can construct geometric shapes that we see at geometry classes of schools. We construct those shapes usually by a straightedge and a compass, so-called a Euclidian tool of construction. We explain the set of the basic fold rules and show, by examples, that it is as powerful as a straightedge and a compass. Furthermore, we show that the set of basic fold rules enables us to construct the shapes by folding by hand. The set of the basic fold rules is the main ingredient of more powerful Huzita-Justin’s fold rules that we discuss in Chapter 3.

2.1 Basic folds By hand, we can fold an origami along a line to be called a fold-line. We specify the fold-line either by two distinct points which it passes through or by the superposition of points and lines. The former kind of a fold-line corresponds to applying a straightedge in the Euclidean construction. The latter is the characteristic of origami. This operation is to superpose one point onto the other. We have three cases of the superpositions in the simple origami geometry that we discuss in this chapter. They are the superpositions of (i) two points, (ii) of a point and a line, and (iii) of two lines. The superposition of two points is the most fundamental. To superpose two points, we bring one point to the other, and then we flatten the origami. To superpose a point and a line, we have two kinds of possible methods. The first kind is that we bring the point onto the line, and then we press and flatten the origami. The second kind of superposition is as follows: we pick a point on the line and perform the point-to-point superposition of (i). To superpose two lines is more complex than the former two cases, and we treat the method in detail in Subtsection 2.1.6. During the superposition, we generally need to slide the point along the line, to translate the point to © Springer Nature Switzerland AG 2020 T. Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation, https://doi.org/10.1007/978-3-319-59189-6_2

11

12

2 Simple Origami Geometry

the desired location. We explain the involved sliding movement later in this chapter, where we describe each basic fold rule. We now present a set of basic fold rules. Using this set of basic rules, we discuss a two-dimensional (2D) geometry, as we do with a straightedge and a compass in Euclid’s Elements.1 Similar to the postulates of Euclid’s Elements, we state the basic fold rules in a natural language, i.e., English here. The advantage of the use of the coordinate-free plain natural language is the easiness of understanding the meaning when we have adequate geometric intuition. We have difficulties, however, of rigorous understanding depending on the levels in which we require a formal presentation. Possibly we need supporting figures. We try to reduce the difficulties first by providing computer-generated figures and try to augment the statements with them. For the formalization of the origami geometry, we developed a computational origami system called E OS, a computer implementation of the geometric notions involved in computational origami. All the statements, five in all, are taken from Huzita [6] with slight modifications, e.g., adding the point names. Let us call this set EO. The list in Huzita’s paper has one more statement. The missing statement is essential in the advanced origami geometry. We treat it in Chapter 3 separately. From now on, instead of writing “folding operation”, we write “fold,” unless we need to emphasize the operational aspects of the fold. The role of a fold is not only to construct a new shape by reflection and but to construct a crease. A crease is the part of a line lying on the sheet of the origami. We construct the crease by the following two operations: (i) we fold the origami along a fold-line and (ii) unfold the resulting origami to the one before the fold. The folding rule determines the fold-line, when applicable. So, a fold is a combination of deciding a fold-line and subsequent reflection of the face(s) across the fold-line.

2.1.1 EO: a set of basic folds We define a set EO of the basic fold rules in this subsection. To describe EO, we use the following notion and notations. Let O be an origami under consideration. Points P and Q are on O , and lines m and n pass through O . O is a collection of strict polygons called faces. A point is on or belongs to an origami O , if it is on the boundary or the interior of one of the faces that constitute O . We omit the adjective “basic” in basic fold rules, as the rules we treat in this chapter are all basic.

1

There are quite a few archived books in the website https://archive.org/. Moreover, there is a website [9] with the annotations of each statement of Euclid’s Elements and is provided with Java applets to generate animate figures.

2.1 Basic folds

13

O1 Given two distinct points P and Q, fold O along the unique line that passes through P and Q. O2 Given two distinct points P and Q, fold O along the unique line to superpose P and Q. O3 Given two distinct lines m and n, fold O along a line to superpose m and n. O4 Given a line m and a point P, fold O along the unique line passing through P to superpose m onto itself. O5 Given a line m, a point P not on m and a point Q, fold O along a line passing through Q to superpose P and m. Note that in O5 “to superpose point P and m” does not necessarily mean that P is moved onto line m. The part of line m, i.e., one of the half-lines of m, may be moved and point P and the moved half-line of m superpose. We use the expression superpose geometric objects α and β to avoid the confusion of the configuration that α is above (or below) β as the result of the superposition. By superposing α and β, we do not specify which one is above or below the other, nor which one is moved, in folding. There are subtle situations in superposition, and we discuss superposition further in Subsection 2.1.6. Huzita expresses the above basic operations in style more intuitive to origamists. For example, O4, according to his wording, is: Given one line and one point, you can fold, making the crease perpendicular to the line and passing through the point (perpendicular footing).

For getting geometric intuition, in Table2.1 we summarize the kind of the fold-lines that each fold rule defines. The second column gives the geometric meaning. Table 2.1: Geometric meaning of the fold-lines fold property of fold-line O1 the line extending segment PQ O2 the perpendicular bisector of the line segment PQ O3 the bisectors of the angles formed by m and n, if m ∦ n the line equidistant from m and n, if m  n O4 the line perpendicular to m, passing through P O5 the tangents of the parabola defined by focus P and directrix m, which pass through Q We note that what makes these folds different from each other is the foldlines determined by the specified parameters of points and lines. Therefore, the statements O1 - O5 are definitions of fold O1 - O5 (respectively), as well as the rules to determine the fold-lines that realize the folds. When we

14

2 Simple Origami Geometry

write Oi fold (or fold Oi), we use the term in the former sense, whereas when we write Oi rule (or rule Oi), we use it in the latter sense.

2.1.2 Simple origami geometry We are ready to discuss a simple origami geometry, where the objects of study are origamis, and the method of constructions of them are defined by EO. At the outset of the origami construction, we have a square sheet of origami paper consisting of a single face. We call this origami an initial origami. Then, one of the basic rules is applied. The application invokes the following three operations. (i) to compute the fold-line specified by the parameters of the folding rule, (ii) to divide, by the computed fold-line, the origami into a pair ( f 1 , f 2 ) of bounded regions (faces) of the origami. (iii) to rotate one of the faces by radian π (or −π) around the fold-line. Suppose that the fold-line computed at step (i) is XY that passes through points X and Y. When we write a line XY, we regard it to have the direction from X to Y. Namely, we treat the fold-line XY as ray XY. At step (ii), the face is divided into f 1 and f 2 . We let f 2 to be to the right of ray XY. We leave the choice of the face to be rotated and the direction of the rotation to the origamist. By default, we rotate face f 2 and its direction of +π. To determine the direction of the rotation, we set the axis of rotation to be the fold-line. The direction of the rotation along ray XY is defined to be positive if it is counterclockwise, and negative if it is clockwise. By rotating the face that has been moved at step (ii) in the opposite direction, i.e., −π in this case, we bring the origami back to the original flat sheet consisting of the two faces. We call this operation unfold. The notable difference between the origami sheet before the fold and after the unfold is the existence of the crease on the surface of the origami sheet. The crease is the line segment on the origami sheet. It is part of the fold-line computed at Step (i). When we rotate one of the faces by π and then unfold the resulting origami, the crease physically looks like a valley ridge. We call the above fold valley-fold , and a fold by the rotation in the opposite direction, i. e. −π, mountain-fold. We call the crease made by a valley-fold a valley crease and the crease made by a mountain fold a mountain crease. In all the figures of origamis in this book, valley creases are drawn by dashed lines and mountain creases by dot-dashed lines. These are the notations adopted in the origami community. Having the above preparatory notions in mind, let us see how we transform an origami by applying fold rules.

2.1 Basic folds

15

2.1.3 Fold O1 Figure 2.1 shows an example of fold O1. We place points P and Q at an arbitrary location on the face of the origami (see Fig. 2.1(a)). For simplicity, we fold the initial origami, but the target origami can be of any shape, as long as it is constructed from the initial origami using EO. Figure 2.1(b) shows the origami after the fold along the fold-line PQ that passes through P and Q. The condition P = Q is necessary to construct a unique fold-line.

(a) Given points P and Q

(b) Valley-fold along PQ

(c) Crease by unfold

Fig. 2.1: Fold O1 The reader may wonder how points P and Q came to be constructed. At the outset, we have points A, B, C and D that are the corners of the initial origami. All the other points used for the parameters of the folding rules of EO are constructed at the intersections of the creases and the sides of the origami. They are constructed along the way to obtain the shape that rule O1 is about to apply. Therefore, those points are not located at an arbitrary place on the origami faces. We call them (including A, B, C and D) EO-constructible points. The set of all EO-constructible points are strictly smaller than the set of all R × R points on the origami plane.2 Nevertheless, we defined the fold rules, such that they accept arbitrary points as parameters. In practice, we need arbitrary points on the origami for constructing some shapes. We introduce function NewPoint( P → ( x, y)), which gives a constructed point P at ( x, y) in the Cartesian coordinates on the origami. Our argument about arbitrary points is applied to arbitrary lines and the rest of the fold rules. When we use NewPoints during construction, we have to extend the notion of EO-constructible points. The other problem is how to construct a fold-line PQ by hand. Unlike the Euclidean geometry, the origami geometry does not make use of a straight2

We come back to this topic in Chapter 3.

16

2 Simple Origami Geometry

edge. Hence, we cannot apply a straightedge to draw the line that passes through points P and Q. We regard the operation to obtain the fold-line of rule O1 as an elementary one. When we apply a straightedge to draw a line that passes through points P and Q, we assume the ability of perception of the two points and the line segment between them. Therefore, it is not unreasonable to assume the ability to construct by hand a fold-line that passes two distinct points on the origami. In other words, we assume that we are dexterous enough to construct by hand the fold-line that passes through two distinct points on the origami.

2.1.4 Fold O2 Figure 2.2 shows an example of fold O2. We fold the origami to superpose points P and Q. In this example we bring point P onto Q. To do so, we must find the fold-line. We may try to find the fold-line by trials and errors, such that we move the face to which P belong, to bring P onto Q.

(a) Given points P and Q (b) Valley-fold along the perpendicular bisector of PQ

(c) Crease by unfold

Fig. 2.2: Fold O2 We can perform fold O2 systematically if we wish. We construct the foldline that passes through P and Q by rule O1. Let us denote this line PQ by ⊥ . Then, we slide P along ⊥ until P reaches Q. To slide the point P along ⊥ , we virtually construct a line  that is perpendicular to line ⊥ and that passes through the midpoint of the sliding P and the original P. During the sliding point, P translates towards Q. When P reaches Q, we stop the sliding. At this timing,  becomes the desired fold-line. It is a perpendicular to line PQ, whose foot is the midpoint of original P and Q. In the statement O2, we

2.1 Basic folds

17

stipulate this kind of moves and the existence of the fold-line PQ. However, we do not count the preparatory step of fold O1 to construct line PQ. By unfolding the origami, we see the crease on the origami (see Fig. 2.2(c)). The crease is, by construction, the part of the perpendicular bisector of the line segment PQ. We can swap P and Q and do the same as above. We can perform both superpositions since fold O2 does not specify which point to move. As long as we are interested in the fold-line, we do not care which (mountain- or valley-)fold we perform.

2.1.5 Fold O3 Fold O3 is more complex than some readers might think. The reason is that it may not make sense to have the superposition of two lines entirely unless both are parallel. However, we can define the superposition even if the two lines intersect. We consider the superposition of two half-lines that share the starting point, i.e., the intersection of the two lines. Therefore, fold O3 makes sense since those half-lines of the two lines can be superposed. Figure 2.3(a) shows the superpositions.

(a) Superposition of intersecting lines

(b) Superposition of a line

Fig. 2.3: Superpositions of two lines and of one line Now, we are in a good position to discuss the superpositions in detail. So let us now take a detour, and carefully look at the superpositions of lines and points.

18

2 Simple Origami Geometry

2.1.6 Superposition We treat creases under consideration as extended to become lines. Depending on the configurations of the points and lines, we distinguish the following six cases of superpositions. (1) To superpose a point P and a point Q: We assume that it is feasible by hand (see Fig. 2.2(a)(b)). (2) To superpose a point P and a line m: We assume that it is feasible by hand since we can take an arbitrary point on m, and then apply Case (1). (3) To superpose half-lines m and n that share the same starting point, say X: We assume that it is feasible by hand since we can take an arbitrary point on m and superpose it and n with X fixed. The fold-line is a bisector of the angle formed by m and n. (4) To superpose a line m and a line n: We further distinguish the following sub-cases: (i) To superpose two distinct lines m and n: (a) m and n are parallel: To superpose two distinct lines, we combine the superposition of a point and a line, and sliding a point along the line. To be concrete, we take distinct points P and Q (both on m). We first apply Case (2) to superpose P and n. Let the fold-line be  of this superposition. Then, we slide P along n in the direction, such that Q moves closer to n. Fold-line  moves accordingly. When we Q becomes to lie on n, we stop sliding P. Fold-line  is now the fold-line along which we superpose m and n. The fold-line  is equidistant from m and n (see Problem 2.1). (b) m and n are not parallel: There is a unique point, say X, incident to each line. Point X splits each line into two half-lines. We take a pair of half-lines m1 and n1 , each taken from m and n, respectively, as shown in Fig. 2.3(a). We superpose the half-line m1 and the half-line n1 by applying Case (3). The line  is the bisector of the angle at X. It is one of the two fold-lines. This fold-line is also the bisector of the angle at X formed by the pair of the halflines m2 and n2 . When we take the other pair of the half-lines m2 and n1 , or of m1 and n2 , we obtain the other fold-line that is perpendicular to . Some reader might wonder what happens when the point X is outside the origami. In this case, imagine enlarging the origami to the size such that the enlarged origami contains X. After the superposition, we clip the enlarged origami to its original size. (ii) To superpose the same two lines m and m: This is the special case of the superposition 4(i)(b). Let X be an arbitrary point on m. The angle at X formed by m and m is 0. Its supplementary angle is π. One fold-line is the bisector of angle 0. It is line m itself. The other foldline is the bisector of angle π, namely the perpendicular to line m

2.1 Basic folds

19

that passes through point X. Figure 2.3(b) shows the example of the latter case.

2.1.7 Fold O3 - resumed

(a) Given lines m and n

(b) Valley-fold along an angle bisector

(c) Crease by unfold

Fig. 2.4: Fold O3

Figure 2.4 shows an example of fold O3, where the two given distinct lines m and n intersect. As explained in the preceding subsection, there are two fold-lines. In Fig. 2.4, we select the one that intersects the line segments AB and DC of the origami of Fig. 2.4 (a).

2.1.8 Fold O4 Figure 2.5 shows an example of fold O4. One line m and one point P are given. Point P may be on m. We apply the case (4)(ii) of the superposition discussed in Subsection 2.1.5. We take an arbitrary point X on line m, and split the line m into two half-lines m1 and m2 . The superposition creates the line perpendicular to m, which passes through X. If this perpendicular passes through point P as well, we are done. The perpendicular is the desired foldline. If not, we slide point X along line m. The perpendicular translates accordingly. We continue sliding point X until we observe that point P is incident to the perpendicular. We have the origami shown in Fig. 2.5(b). By unfolding the origami, we obtain the one in Fig. 2.5(c).

20

(a) Given point P and line m

2 Simple Origami Geometry

(b) Valley-fold along the perpendicular to m passing through P

(c) Crease by unfold

Fig. 2.5: Fold O4

If P ∈ m, we could have a yet another line that superposes m and m, as explained in the superposition -case 4(ii). This line is m itself. However, we exclude m from the fold line of rule O4.

2.1.9 Fold O5 Figure 2.6 shows an example of fold O5. One line m and two points P and Q are given. We further assume that point P is not on m. If P is on m, the fold is reduced to the fold O4. We apply the case (2) of the superposition. We take an arbitrary point X on m, and superpose P and X. This operation is feasible by fold O2. The superposition creates a line . If the line  passes through point Q, we are done. If not, we slide X along m. The line  moves accordingly. We continue sliding X until we observe that Q is incident to the line . At this point, we have the fold shown in Fig. 2.6(b). By unfolding the origami, we obtain the crease that passes Q in Fig. 2.6(c).

2.2 Examples of constructions by EO In this section, we show three examples of geometric construction by EO. Before we work on the construction examples, in the next subsection, we briefly describe computational origami system E OS and language O RIKOTO.

2.2 Examples of constructions by EO

(a) Given two points P and Q (b) Valley-fold by rule O5

21

(c) Crease by unfold

Fig. 2.6: Fold O5

2.2.1 E-origami system E OS To describe the origami construction formerly, we use a computational origami system called E OS[7, 8]. E OS is an e-origami system (e for electronic), which allows us to practice origami interactively with a computer. It has capabilities of constructing and visualizing origami, analyzing origami folds algebraically, and proving the correctness of origami constructions. It performs origami construction that a human origamist would do by hand with a sheet of paper with the precision of modern computing. Moreover, it performs automated proving of geometric properties of the constructed origami, which would require much geometric intuition in addition to complicated and tedious algebraic manipulation. Since E OS is built as a collection of Mathematica[13] packages, we use the syntax of Wolfram Language of Mathematica. We call the language of E OS O RIKOTO.3 O RIKOTO is a small subset of Wolfram Language. In the text of this monograph, we use the standard mathematical notation, wherever it is preferable to the expression of O RIKOTO language. For example, f [ a1 , . . . , an ] of O RIKOTO language is written as f ( a1 , . . . , an ). We use the expression “command execution” to mean a function call or a procedure call of ordinary programming languages since we do not syntactically distinguish both of them, obeying the syntax of Wolfram Language. In O RIKOTOboth are expressed by f [ a1 , . . . , an ] in a program form or f ( a1 , . . . , an ) in a mathematical textual form. Origami constructions proceed step-by-step, where each transition of the step indicates the change of the origami. O RIKOTO provides function EO to realize a fold caused by the application of one of the rules O1 - O5. In each execution of EO, O RIKOTO outputs the graphics of the origami image after 3

Koto is an old Japanese word meaning language. O RIKOTO means a language for origami.

22

2 Simple Origami Geometry

the fold and records the fold as the geometric constraints produced by this step.

2.2.2 Regular triangle We show an origami construction of a regular triangle with EO. Perhaps the first method that comes to our mind for constructing a regular triangle is by the use of one of the sides of the origami as the side of a regular triangle. We start our origami construction by declaring the origami to be used.

EosSession["Regular triangle"]

(2.1)

NewOrigami[]

(2.2)

The execution of command (2.1) marks the beginning of the origami session called Regular triangle. The session name is displayed as the prefix to the step number. The session will end by executing command EndSession[]. At Step 1, command (2.2) creates the origami shown in Fig. 2.7. The created origami is a unit square virtual sheet of paper. It is placed on the flat plane equipped with the Cartesian coordinate system. The left bottom corner of the origami is (0,0). By default, at the four corners of the origami, four points A, B, C and D are placed. The points A, B, C and D are, therefore, located at (0,0), (1,0), (1, 1) and (0,1), respectively.

Fig. 2.7: Regular triangle: Step 1

At Step 2, we superpose points A and D by command (2.3). EO["A", "D"]

(2.3)

In the commands, we always double-quote a point name. For example, "A" and "D" denote the points A and D, respectively. In this book, we denote

2.2 Examples of constructions by EO

23

the points by double quoting the point names in the O RIKOTO program, since otherwise we could not distinguish between variable names and point names. In the programs, EO is a function that applies the basic fold rule of EO. A single function EO is used to perform all the basic folds rules of EO. Function EO can discern which basic fold rule is applied by the sorts of the arguments. In this case, the EO command is called with two arguments of Points sort. O RIKOTO can see that we want to apply O2, and to bring A onto D.4 By default, the fold performed by EO is a valley-fold and in O2 we move the face that the first argument belongs to. In this case, the face that point A belongs to.

Fig. 2.8: Regular triangle: Step 2 If we wanted to perform a mountain-fold, we need to add an optional argument. We use named argument Direction and write EO["A", "D", Direction → Mountain] As we saw in Subsection 2.1.4, the fold-line is the perpendicular bisector of the line segment AD. Note that we refer to point A and D at Step 1. To avoid the confusion, we also use a step counter i to denote a point at Step i. For example, the point A at step 1 is denoted by A1 . Whenever we can infer Step number from the context, we omit the subscript. By the fold at Step 2, A is moved to superpose onto point D. In Fig. 2.8, points C and D become invisible at this step since they are below B2 and A2 , respectively. Points E and F are newly constructed automatically at the intersection of the fold-line with line segment A1 D1 and B1 C1 , respectively. The next operation is to unfold the current origami to the one at the preceding step. Unfold[] Unfold is not in EO set, but is one of the indispensable operations to manipulate the origami. It unfolds the origami constructed by the immediately preceding folding operation. Therefore, Unfold rotates, in the opposite di4

We will see that the argument of EO for the case of O1 is of Sort Lines.

24

2 Simple Origami Geometry

rection, all the faces reflected at the preceding step across the same fold-line. Note that it is not undoing the preceding fold. By unfolding the origami, we

Fig. 2.9: Regular triangle: Step 3 can now see the crease EF which corresponds to the fold-line used to fold the origami of Step 2. The dashed line shows that it is a valley crease. After these preparatory steps, we fold the origami along the fold-line that passes through A to superpose D and line EF by: EO["D", "EF", "A"]

(2.4)

The second argument "EF" denotes the line extending the line segment EF. The sorts of the arguments determine that this command is the application of rule O5. In this case, we have two possible fold-lines. We show in Chapter 3 that finding the fold-line in fold O5 is a constraint solving problem. We can formulate it by a set of polynomials of the (maximum) second degree, whose coefficient domain is Q. We will see that we have at most two solutions of fold-lines. When there are two fold-lines as the solutions, E OS skips folding and returns to the origamist the list of the two possible fold-lines drawn in the current origami, as shown in Fig. 2.10. Alternatively, we set E OS in the interactive selection mode and let E OS to interact with the origamist when we have more than one possible fold-lines. In this example, we have set E OS to be the non-selection mode at the beginning. Therefore, Step 4 finishes half-way. We denote this step as “step 4-.” This incomplete step, however, gives valuable information about the possible fold-lines. The output of the execution of command (2.4) tells that we have two possible fold-lines. Those lines are shown in Fig. 2.10. We select the fold-line in the first (from the left) origami. The other fold-line in the second origami is not what we want since it simply turns over the origami. Therefore, we next execute the following command: EO["D","EF","A",Mark->{{"CD","W"}},FoldLine->1]

(2.5)

2.2 Examples of constructions by EO

25

Fig. 2.10: Regular triangle: Step 4-

This command differs from command (2.4), in that we have two more arguments. The argument FoldLine->1 specifies that we select the first foldline in the output of command execution (2.4). The argument Mark->{{"CD", "W"}} specifies that we mark with W the intersection of the selected fold-line and line CD. The reason we add the Mark argument is that we want to control the generation of new names of marked points at the intersections of the fold-line and the already constructed lines, to avoid cluttering the origami by unused marked points. The execution of command (2.5) outputs the origami in Fig. 2.11. We next

Fig. 2.11: Regular triangle: Step 4 unfold it by executing Unfold[] and obtain the origami shown in Fig. 2.12. Line segment AW gives one of the sides of the regular triangle that we are constructing. Similarly, we construct the other side of the regular triangle. We fold the origami along the fold-line that passes through B to superpose point C and line EF. Again, we do this by applying rule O5. We need to obey the same sequence of the interactions with E OS. EO["C","EF","B"] (2.6) EO["C","EF","B",Mark->{{"AW","G"}},FoldLine->2]! (2.7)

26

2 Simple Origami Geometry

Fig. 2.12: Regular triangle: Step 5

The difference, apart from the values of the arguments, between command (2.7) and command (2.5) is the operator “! ” of Unfold at the end of the command (2.7). In general, what c! does is to first execute command c and then execute Unfod[]. The operator “! ” is provided for the convenience of notation. The net effect is the same as c;Unfold[]. Figure 2.13 is the result of the execution of command (2.6). From the output, we see that the second fold-line is our choice. Therefore, in command (2.7), we specify “FoldLine → 2].”

Fig. 2.13: Regular triangle: Step 6-

Fig. 2.14: Regular triangle: Step 7

2.2 Examples of constructions by EO

27

Fig. 2.15: Final origami with the regular triangle

We complete the construction at Step 7. The last step is Unfold[], which is written as ! at the end of command (2.7). In Fig. 2.14, we can see point G. Point G is one of the vertices of the regular triangle. By connecting points A, B and G, we obtain the triangle ABG (see Fig. 2.15). It is straightforward to prove that ABG is regular. We should look at Fig. 2.11 and prove that all the inner ∠s of triangle WAB are degree π/3. Thus, WAB is an equiangular triangle. In the case of a triangle, it is equiangular iff it is equilateral. Therefore, WAB is regular. See also Problem 2.11.

2.2.3 Maximum regular triangle inscribed in an origami In the preceding subsection, we have seen an example of constructing a regular triangle using EO. We have seen how to describe in O RIKOTO the origami construction of the regular triangle. The program is a formal statement of a recipe for constructing an origami regular triangle. We realize that this is not the maximum (in size) triangle inscribed in the given origami. In this subsection, we show another origami construction of a regular triangle, which is maximum among those we can inscribe in the given origami. Namely, we want to construct a regular triangle inscribed in the origami, and each side of the triangle is the longest. To construct such a regular triangle, we take one of the vertices of the triangle at the corner of the given origami and take the other two vertices on the sides of the origami.

28

2 Simple Origami Geometry

We show the O RIKOTO program of constructing the maximum regular triangle below. Program to construct a maximum regular triangle EosSessioni["M.R.T"] 1. NewOrigami[] 2. EO["A","B",Mark->{"AB","CD"}]! 4. EO["A","D",Mark-> {"AD","BC"}]! 6-. EO["D","EF","A"] 6. EO["D","EF","A",Mark->"CD",FoldLine->1]! 8-. EO["B","GH","A"] 8. EO["B","GH","A",Mark->"BC",FoldLine-> 2]! 10. EO["IJ"]! EndSession[] The program is similar to the one in Subsection 2.2.2, except that we have two O2 folds in the beginning. The sequence of folds except Unfold is O2, O2, O5, O5, and O1. The second O2 is to construct the horizontal line GH. Those parameters given by the named argument Mark in the Steps 2 and 4 show that the argument of Mark can also be a list of line segments.5 The interactions with E OS when we apply rule O5 are the same as in the example of Subsection 2.2.2. In this case, new names are automatically generated by E OS, are used to mark the intersections of the line segments in the argument list and the fold-line. Marked points G and H are generated at the intersections of the fold-line and DA, and the fold-line and CB, respectively.

(a) MRT: Step 3

(b) MRT: Step 5

Fig. 2.16: Construction of a maximum regular triangle: Steps 3 and 5 The final step of the construction is the fold along points I and J. This folding operation is O1. Fold O1 with parameters of points P and Q is written in O RIKOTO as EO["PQ"]. 5

If it is a list {segment}, it can be written as segment as in Steps 6 and 8.

2.2 Examples of constructions by EO

29

We pick up one of the faces to the right of ray PQ and move the faces (and the connected ones) in the direction of valley. With this command, we complete our construction.

Fig. 2.17: MRT: two possible fold-lines at Step 6-

Fig. 2.18: MRT: Step 7

Fig. 2.19: MRT: two possible fold-lines at Step 8-

30

2 Simple Origami Geometry

(a) MRT: Step 9

(b) MRT: Step 11

(c) MRT: final origami and regular triangle

Fig. 2.20: Construction of a maximum regular triangle: Steps 9 and 11, and final configuration

2.2.4 Square root of 3 In √ this subsection, we show a construction of a line segment whose length is k, where k is a positive √ real number. By the program below, we construct a line segment of length k, given 2k × 2k sheet of paper. We√try the construction with a value of k = 3. The construction of the length n 2 is trivial since it is the√length of the diagonal of an n × n origami. So we take a value other than n 2, where, n = 1, . . .. We use a variant of Lill’s method [10], as described in [12]. We first draw a polygonal segments that represents a polynomial x2 − 3. The polygon is open in that the edge between the starting vertex and the last vertex is missing. We draw “right angle reflective lines” from the starting vertex as defined by Lill. If the last stroke of the reflective line pass through the last vertex, we successfully find the real root of the polynomial. Lill’s method applies to any degree polynomials with real coefficients. We recommend the readers to read the articles [12] or [5] for a concise description of Lill’s method. Read also the description “Lill’s method of finding real roots of a polynomial” in Glossary.

2.2 Examples of constructions by EO

31

Program to construct a segment whose length is



3

EosSession["Square root"] 1. NewOrigami[6] 2. EO["B","A",Mark->{"AB","CD"}]! 4. EO["B","C",Mark->{{"EF","O"},{"BC","G"}}]! 5. NewPoint["I"->{Abscissa["O"]-1,Ordinate["O"]}] 6. EO["G","I",Mark->{{"GI", "H"}}]! 8-. EO["I","EF","H"] 8. EO["I","EF","H",FoldLine->1,Mark->{}] 8. DuplicatePoint["I"]! EndSession[] The command at Step 1 creates a 6 × 6 sheet of origami (see Fig. 2.21(a)). The command at Step 2 performs fold O2 and then unfolds the origami at Step 3 (see Figure 2.21(b)). The command at Step 4 performs the command similarly at Step 2. The purpose of performing twice fold O2 is to construct perpendicular axes with the origin O at the center of the origami. We only mark the points that we use at the subsequent steps. We show the result of Step 5 in Fig. 2.21(c). E OS does not increment the step counter unless we fold/unfold the origami. Commands NewPoint[..] and DuplicatePoint[..] do not increment the step counter. So after the execution of the command NewPoint[..], we are still at Step 5. Suppose the location of O be at (u, v). The command NewPoint[..] at Step 5 constructs a new marked point I at the location (u − 1, v). The command at Step 6 constructs a point H. The origamis after the execution of the commands of Steps 5 and 7 are shown in Fig. 2.22(a) and Fig. 2.22(b), respectively.

(a) Step 1

(b) Step 3

Fig. 2.21: Square root: Steps 1 - 5

(c) Step 5

32

2 Simple Origami Geometry

(a) New point I at Step 5

(b) Step 7

Fig. 2.22: Square root: Steps 5 and 7

The line segment of Lill’s open polygon corresponding to the polynomial x2 − 3 is IOG. We make this line segment a closed polygon by adding a rightangle reflective trajectory. The right-angle reflective trajectory in this case is the wedge IJG, where ∠IJG is ∠ R. Then, the slope of the line IJ is −r, where r is one of the roots of the polynomial x2 − 3. This implies that √ |OJ| = 3. (2.8) See Fig. 2.24(c). We later prove Eq. (2.8). The next step of the construction is to construct the point J. We construct J by the combination of rule O5 and command DuplicatePoint[..]. We apply rule O5 (EO["I","EF","H"]), first. In this case we see two possible fold-lines (see Fig. 2.23). At Step 8 we select the fold-line in the first origami and perform fold O5. By default, the face of the origami where point I (i.e., the first argument of the EO command) belongs to is rotated across the selected fold-line, as shown in Fig. 2.24(a). By selecting the fold-line of the second origami in Fig. 2.23, we can also construct the square root. We leave it the readers’ exercise to show this (see Problem 2.13).

Fig. 2.23: Square root: selecting a fold-line at Step 8-

2.2 Examples of constructions by EO

33

(a) Step 8

(b) Step 9

(c) Proof-suport

Fig. 2.24: Square root: Steps 8, 9 and proof-support

The command DuplicatePoint["I"] at Step 8 copies point I to the face below the one that point I currently lies. This command is necessary since, at the next step, we unfold the origami and lose the location where the current point I lies. The copied point is marked with J automatically by the system. This point J is what we wanted to construct. Then, we unfold the origami and complete the construction. √ Let us now prove that |OJ| = 3 without relying on Lill’s result. We refer to Fig. 2.24(c), where we add point K and the trajectory IJG to construct the Lille’s polygon IOGJ. Since point J is the reflection of point I across line KH, ∠IKH = ∠JKH = ∠ R, and |IK| = |JK|. Seeing that IKH and IOJ are similar, we have the following relation.

|IH| : |IJ| = |IK| : |IO|.

(2.9)

Let x be the length of the hypotenuse of IOJ, i.e. x = |IJ|. From |IK| = x/2, |IO| = 1 , |IH| = 2 (by Step 6) and relation (2.9), we have the equality x2 /2, and hence x2 = 4. Since x2 = 1 + |OJ|2 = 4, we conclude that 2 ∗ 1 =√ |OJ| = 3.

34

2 Simple Origami Geometry

2.2.5 Regular pentagon In this subsection, we show a construction of a regular pentagon. There are several well-known methods of origami construction of a regular pentagon [11, 2, 4] In this section, we show the one given by Fushimi [2]. Figure 2.25 shows regular pentagon QPLKN whose center is at point M. In this subsection, by  we denote the length of the side of the regular pentagon. D

C

Q θ θ θ

P θ

θ θ

θ θ

O

N θ

H

M 2θ

E' 2θ

θ

A

L

θ

J 3θ

θ

θ

θ

θ

E

K

B

Fig. 2.25: Points and angles of a regular pentagon In Fig. 2.25, the pentagon is inscribed in the origami ABCD whose center is O. We focus on the lower right quarter OEBH of the origami. The following geometric properties of a regular pentagon are well-known: Let θ = π/5. (1) Each interior angle is 3 θ. (2) Point K divides the line segment EB with the golden ratio φ, i.e., φ= (3)

√ |EB| 1 = (1 + 5) = 2 cos θ. |EK| 2

|QL| = |QK| = |PN| = |PK| = |LN| = φ.

Thus, our first task is to find the point K. Fushimi mentioned that the following method is the refined version of Sundara Row, Paragraph 71 [11]. To find K, we do the following. 1. Construct the perpendicular bisector of OE by applying rule O2. 2. Construct line segment OJ by applying rule O1.

2.2 Examples of constructions by EO

35

3. Bring point E onto OJ by folding the origami along the line that passes through point O. We construct point K at the intersection of the fold-line and EB. In other words, we perform fold O5. We denote the point that E moved to by E’. Let us see that point K divides EB by the golden ratio. Let a = |E’J|, b = |JK|, r = |EK| and c = |OK|. We assume that the initial origami is a 1 × 1 square sheet. We apply Pythagoras Theorem to the five right triangles and obtain the following equalities. by JE’K

b2 = a2 + r 2 b = (1/2 − r ) + (1/4) 2 2

2

2

by KBJ

2

by OEK

2

c = (1/2) + r  = ( (1/4)2 + (1/2)2 − a)2 + r2

by OE’K and OHJ

Solving the equations for a,b, c and r, we obtain the values bound to the variables. We need only the positive value of r in order to understand the construction:  1 √ r= 5−1 . 4 We now have  = 2r = φ−1 . This verifies the definition φ= and cos(2θ ) =

1 2r

 |KB| 1/2 − r 1 √ = = 5−1 , 2r 2r 4

as expected. From the above results, it is easy to construct a regular pentagon. We show the program of the construction of the regular pentagon. We give the graphics output of the selected steps in Fig. 2.26.

36

2 Simple Origami Geometry

Program to construct the regular pentagon EosSessioni["Regular pentagon"] 1. NewOrigami[] 2. EO["A","B",Mark -> {{"AB","E"},{"DC","F"}}] 3. EO["A","D",Mark->{{"EF","O"},{"AD","G","H"}}]! 5. EO["A","G",Mark->{{"AD","I","J"}}]! 7-. EO["E","OI","O"] 7. EO["E","OI","O",Mark->{{"AE","L","K"}}, FoldLine->2] 8. UnfoldAll[] 10-.EO["L","BC","K"] 10. EO["L","BC","K",Mark->{{"EF","M"}},FoldLine->2] 10. DuplicatePoint["L"->"N"]! 12. EO["MN",Handle ->"B"] 12. DuplicatePoint[{"L"-> "P","K"->"Q"}]! EndSession[] Note:

• At Steps 3, 5 and 7, the named argument Mark takes a list of {segment, point1 , . . . pointk }. This form of the parameter is used when segment is overlapped with the other k − 1 segments. For example, the origami at Step 2 consists of the two faces EFDA and EBCF, which are overlapped. Below segment AD lies segment BC. Therefore, there are two intersections with the fold-line, i.e., G on AD and H on BC. Point H is hidden at Steps 4 - 7, but will appear at Step 8. • At Step 10, command DuplicatePoint[..] accepts a parameter "P"->"Q". This specifies that point P is duplicated and the duplicated new point is to be marked with Q. For example, in DuplicatePoint["L"->"N"], point L is duplicated and the duplicated point is marked with N. The arguments can be a list of such point pairs (e.g., the command at Step 12).

2.2 Examples of constructions by EO

(a) Step 1: NewOrigami

(d) Steps 5, 6: O2!

(g) Step 10: O5

37

(b) Step 2: O2

(e) Step 7: O5

(h) Step 11: Unfold

(c) Steps 3, 4: O2!

(f) Steps 8, 9:UnfoldAll

(i) Step 12: O1 and DuplicatePoint

(j) Step 13: Unfold

Fig. 2.26: Construction of regular pentagon QPLKN

38

2 Simple Origami Geometry

2.3 Historical notes Sundara Row’s book of Geometrical Exercises in Paper Folding[11] published in 1893 seems to be the first systematic treatise of origami as a mathematical subject. Although he advocated that we only need a paper-knife and pieces of paper, his tool of geometric construction is essentially a ruler, i.e., straightedge with a unit marker. He did not make full use of its capability, however. In his monograph, he was more concerned with geometric objects than the construction tool (or rule set). Nearly half a century later, Yates studied paper folding as a tool for the construction of geometric objects more from an axiomatic point of view. He published the results of his study in the book titled “Tools: A Mathematical sketch and model book” [14]. He defined three basic folding operations, which he regarded three postulates in the spirit of the Euclidean geometry. Those three correspond to the basic fold rules O1, O2, and O5. His rule O5 is slightly different from our rule O5, in that it does not impose the nonincidence constraint on the first given point and line. Let us call Yates’ O5 O5Y. We leave it as the exercise to simulate fold O4 and O3 by O5Y (see Problems 2.6 and 2.8). At the end (page 62) of Section 4 of his book, Yates states that “we have proved that, under the chosen postulates, all constructions of the plane Euclidean geometry can be executed by means of creases.” This statement implies that Yates’ three postulates, as well as EO, are no less powerful than a straightedge and a compass- the only tool of construction of the Euclidean geometry. For precise comparison, we discuss in Chapter 3, where we explain origami constructible points. Geretschläger had the same result as Yates in [3].

2.4 Summary • We explained a set of the basic fold rules EO. The basic fold rules define fold-line(s) along which we fold the origami. • EO consists of five simple rules of folds O1 - O5. • We showed some examples of origami construction using an origami language called O RIKOTO. It is a language of interaction between origamists and a computational origami system E OS. We explained the constructions of a regular triangle, a maximum regular triangle inscribed in an origami, a square root of the length of a given segment, and a regular pentagon. • We gave the O RIKOTO programs of the constructions and showed stepby-step how the commands of O RIKOTO programs are executed to produce origami graphics on the computer display.

2.4 Summary

39

Problems 2.1. Fold-line of Fold O3 when its parameters are parallel lines Given two arbitrary parallel lines m and n on the origami, we can superpose them by rule O3 according to the method that we explained in Subsection 2.1.5. Prove that the fold-line is unique and is equidistant from m and n. Note that m  n ⇒ m = n. 2.2. (Row [11]) Wring an O RIKOTO program to make the square sheet of origami into half. In Subsection 1.3.2.1, we showed that by cutting the initial origami of a unit square into half by folds and cuts of the origami by a paper-knife, we understood geometrically that the following equality holds. ∞

1

∑ (2)

i

=1

i =1

Write an O RIKOTO program to construct the same shape (but without cutting the origami as we did in Section 1.3.2.1. Since we do not discuss the loop-construct of O RIKOTO programs, we only make one cycle of making the origami in half in this problem. 2.3. The fold-line of rule O5 is constructible by the Euclidean tool. Show that the fold-line in fold O5 is constructible by a straightedge and a compass. 2.4. Transfer a line segment to the other location on the origami. Given a line segment PQ and a (longer) line segment RS, construct by origami, a point X on RS such that the line segments PQ and RX have equal lengths. The original problem is in page 78, [1], asking to solve the problem using a straightedge and a compass.

Fig. 2.27: Transferring |PQ| to |RS|

40

2 Simple Origami Geometry

2.5. Rule O5 simulates rule O3 for non-parallel lines. We are given an origami O , and distinct lines m and n (= PQ) that are nonparallel. Furthermore, the two lines intersect at a point X on O , where X = P ∧ X = Q. Show that rule O5 with parameters P, m and X generates the same fold-lines as rule O3 with parameters m and n. 2.6. (Yates [14]) Rule O5Y simulates rule O4. We are given distinct points P, Q and m on the origami. We define rule O5Y to be rule O5 without the non-incidence condition, i.e., P ∈ m. Show that rule O5Y with parameters P, m and Q, when P ∈ m, generates the same fold-lines as rule O4 with parameters m and Q. 2.7. Superposition of two parallel lines Show that we can fold an origami to superpose two parallel lines on it without using rule O3. We need rule O4. 2.8. (Yates [14]) Rule O5 simulates rule O3. Prove that rule O5 simulates rule O3. 2.9. Counter example of an existence of a fold-line by rule O5 Show a configuration of points P, Q and line m, in which there exists no foldline of rule O5 with parameters P, Q and m. 2.10. Intersections of a circle and a line segment Given a circle and a line segment that lie inside an origami as shown in Fig. 2.28, construct the intersections by folding the origami. We need more than one applications of commands including DuplicatePoints.

Fig. 2.28: Circle-line intersection

2.11. Triangle ABG in Fig. 2.15 is regular. Prove that ABG in Fig. 2.15 is an regular triangle. 2.12. Triangle AJI in Fig. 2.20(c) is a maximum triangle. We refer to Fig. 2.20(c). (a) Prove that AJI is a regular triangle.

2.4 Summary

41

(b) Prove that ∠AJI is a maximum regular triangle inscribed in the given square sheet of origami. √ 2.13. Construct a line segment whose length is − k for some real positive value k. Referring to Fig. √ 2.23, show that if we select the second fold-line, we also obtain |OJ | = √ 3. This corresponds to the case that we obtain the other root of x2 − 3, i.e., − 3 by Lill’s method. √ 2.14. Construct a line segment whose length is k for any positive real value k. √ Show that in the program of constructing 3 of Subsection 2.2.4, if we change k of NewOrigami[2*k] √ for some specific positive real number k other than k, we obtain |OJ| = k .

42

2 Simple Origami Geometry

References 1. K. R. P. Arthur Jones, Sidney A. Morris. Abstract Algebra and Famous Impossibilities. Springer-Verlag, 1994. corrected second printing. 2. K. Fushimi and M. Fushimi. Geometry of Origami. Nippon Hyoron sha Co. Ltd., July 1979. (in Japanese). 3. R. Geretschläger. Euclidean constructions and the geometry of origami. Mathematics Magazine, 68(5):357–371, 1995. 4. R. Geretschläger. Mathematics of Origami. Morikita Publishing Co., 2002. In Japanese, translation by Hidetoshi Fukagawa. 5. T. C. Hull. Solving Cubics With Creases: The Work of Beloch and Lill. The American Mathematical Monthly, 118(4):307 – 315, 2011. 6. H. Huzita. Axiomatic development of origami geometry. In H. Huzita, editor, Proceedings of the First International Meeting of Origami Science and Technology, pages 143 – 158, Ferrara, Italy, December 1989. 7. T. Ida and B. Buchberger. Proving and Solving in Computational Origami. In Analele Universitatii din Timisoara, volume XLI, Fasc. Special of Mathematica-Informatica, pages 247–263, 2003. 8. T. Ida, D. Tepeneu, B. Buchberger, and J. Robu. Proving and Constraint Solving in Computational Origami. In Proceedings of the 7th International Symposium on Artificial Intelligence and Symbolic Computation (AISC 2004), volume 3249 of Lecture Notes in Artificial Intelligence, pages 132–142, 2004. 9. D. E. Joyce. Euclid’s elements. http://aleph0.clarku.edu/ djoyce/java/elements/toc.html, 1996. 10. E. Lill. Résolution graphique des équations numériques d’un degre quelconque a une inconnue. Nouvelles Annales de Mathématiques, Ser. 2, 6:359 – 362, 1867. 11. T. S. Row. Geometrical Exercises in Paper Folding. Addison and Co., Madras India, 1893. 12. S. Tabachnikov. Polynomials as polygons. The Mathematical Intelligencer, 39(1):41 – 43., 2017. 13. Wolfram Research Inc. Mathematica, Version 12.0. Champaign, IL, 2019. https://www.wolfram.com/mathematica. 14. R. C. Yates. Tools: A Mathematical sketch and model book. 1941. available as an archived photo scanned copy.

Chapter 3

Origami Geometry based on Huzita-Justin Folds

Abstract We discuss an origami geometry based on Huzita-Justin’s basic folds. In the 2D Euclidean geometry, we use a straightedge and a compass to construct geometric objects. We show that Huzita-Justin’s basic folds can construct them without such tools but by hand. We reformulate HuzitaJustin’s fold rules by giving them precise conditions for their use. We prove that we can decide whether, by the reformulated rules, we can perform a fold as specified by the parameters. Furthermore, we show that the rules yield a finite number of fold-lines. We present an alternative single general fold based on one of Huzita-Justine’s fold rules without incident and degenerate conditions. We show how the general fold rule can realize each of the reformulated folds. Huzita-Justin’s fold rules are more powerful than a straightedge and a compass as a tool of geometric construction. The famous examples to verify this fact are computing a cube root of a positive number and trisecting an arbitrary angle. We show the concrete programs to solve the problems.

3.1 Introduction In this chapter, we discuss Huzita-Justin’s basic folds (Huzita-Justin folds for short, hereafter). We first explain Huzita-Justin folds and then focus on their algebraic aspects. Suppose that we want to construct a geometric object by origami, e.g., a regular heptagon. We need a certain degree of precision, even though we construct it by hand. Since in origami, we do not use a ruler to measure the length, nor do we use additional tools, what we can do by hand is to construct creases and points on the origami. We construct creases on the origami by folding the origami along the fold-lines that are determined by the applied rules of Huzita-Justin folds. We construct points at the intersections of the creases and the sides of the origami. We obtain the desired shape by selecting the creases. As the creases are constructed by © Springer Nature Switzerland AG 2020 T. Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation, https://doi.org/10.1007/978-3-319-59189-6_3

43

44

3 Origami Geometry based on Huzita-Justin Folds

folding, the main issue to ensure the precision in origami based on HuzitaJustin folds is how to specify the fold. Since we fold the origami along the line, the question is boiled down to how to specify the fold-line. Huzita and Justin presented the set of the rules of basic folds [15, 18], later sometimes referred to as Huzita-Justin’s axiom set. They pointed out a straightedge and a compass cannot emulate one of the folds determined by their rules. Later studies showed that Huzita-Justin’s set of fold rules is more powerful in the sense of abstract algebra than the Euclidean tools, i.e., a straightedge and a compass. We can construct a larger set of points of incidence by applying Huzita-Justin rules than by a straightedge and a compass [2]. Therefore, the class of the shapes formed by connecting the points of incidence is richer than the one formed by a straightedge and a compass. The construction of a heptagon is a famous example that is constructible by Huzita-Justin rules but not by a straightedge and a compass. In this chapter, we explain Huzita-Justin folds in detail. We attempt to state the rules of Huzita-Justin folds more rigorously by clarifying the conditions that enable folds. We analyze the operations algebraically and present theorems about the finiteness of the number of the constructible fold-lines. We also explain a general origami rule, by which we perform all HuzitaJustin folds.

3.2 Preliminaries In this section, we summarize the notions and notations that we use in this chapter and hereafter. In the preceding chapters, we used some of them, e.g., points and lines, and hence we already understood them in a way that we use them in this monograph.

3.2.1 Origami We denote a set of origamis by O. As we fold an origami, it undergoes structural changes. We denote the origami at a step i (= 1, 2, , . . .) by Oi . Origami O1 (∈ O), which we call an initial origami, is usually a square sheet of paper with the distinguished four points on each corner. As we have seen in the examples in Chapter 2, we denote those four points by A, B, C and D, starting at the left bottom corner and being arranged counter-clockwise. The four sides are line segments AB, BC, CD and DA. In general, we can define line PQ by extending the line segments PQ. When we construct a geometric shape or an artwork, we start with O1 and repeat folding the origami successively, until we think that we are

3.2 Preliminaries

45

done.1 Origami O1 is changed to O2 by the fold, then to O3 , and so on. We write this process of construction as

O1  O2  O3  · · · . We will give the formal definition of this sequence in chapter 7. While folding an origami, we may have a situation where the intersections of the fold-line and the extensions of the creases may not be inside the origami. However, we want to work with these points. To achieve that, we assume that every point of interest are within the origami; we consider O1 to be sufficiently large so that all the points and lines that we treat are on Oi for all i ≥ 1. This assumption is indispensable when we treat an origami theoretically. In practice, whether we enjoy recreational origami with a sheet of paper or with a computational origami system such as E OS, a means is necessary to mark intersecting points outside the origami. We will see command ProjectPoint serves this purpose.

3.2.2 Denotations of geometric objects We work in the two-dimensional (2D) Euclidean space equipped with the Cartesian coordinate system. We use the notion of being to the right or left based on the notion of handedness. We can give precise meaning when we fix the three-dimensional frame of reference to be either right-handed or lefthanded. In this monograph, we take the z-axis to be normal to the Euclidean (xy-) plane of our discourse. For x-, y- and z-axes of the reference frame, we adopt the right-handedness. Thus, we can state that the half-plane (of the Euclidean plane) divided by the line extending segment XY is to the right (respectively, left) of line XY if it is to the right (respectively left) of the corresponding ray XY. A point is to the right (respectively left) of line XY if it is on the right (respectively left) half-plane of line XY. A face is to the right (respectively left) of line XY if none of the vertices of the face is to the left (respectively right) of line XY. In the geometry that we treat in chapters 3 - 5 , the universe of our discourse is restricted to the one consisting of geometric objects of Sort Points, Sort Lines, Sort Segments, and the numbers R (real numbers), C (complex numbers) and Q (rational numbers). These sorts are interpreted as sets in the semantics of O RIKOTO. In this chapter, symbols α and β are used to denote points, lines, and line segments. In our examples, points are denoted by a single capital letter of the Latin alphabet such as A, B, C, D, P, Q etc. Lines are denoted by , m and n. Those symbols may be followed by a numeral or a subscript numeral. The 1

Suppose we fold an origami whose thickness is 0.1 mm. Folding it in half 10 times results in 10.24 cm, and 20 times results in 104.858 m!

46

3 Origami Geometry based on Huzita-Justin Folds

sets of all points and lines on the Euclidean plane are denoted by Π and Λ, respectively. Abusing the set notation, we use P ∈ m to mean point P lies on line (or incident to) m. A sequence of variables x1 , x2 , . . . may be denoted by x. Likewise, a sequence of geometric objects o1 , o2 , . . . is denoted by o.

3.2.3 Representation of a point A point is an object a là Euclid. Since our Euclidean plane is equipped with the Cartesian coordinate system, all points on the plane can be identified by its location ( x, y), where x, y ∈ R. We use it as a point itself. P( x, y) expresses the point at the location ( x, y) and is marked with P. Two points are equal iff its location of each point is the same.

3.2.4 Representation of a line A line can be expressed either by an implicit function: ax + by + c = 0, where a, b, c ∈ R and

a2

+ b2

(3.1)

= 0.

or by an explicit function: ⎧ y = ax + b, where a, b ∈ R ⎪ ⎪ ⎨ if the line is nonparallel to the y-axis = c, where c ∈ R x ⎪ ⎪ ⎩ if the line is parallel to the y-axis

(3.2)

(3.3)

Two lines are equal iff they represent the same graph in the Euclid plane. In high school mathematics, we are accustomed to use the representation (3.3), when we manipulate the formulas and plot their graphs in geometry. The drawback of the representation of the explicit function in computing is that we always think about the two cases. The implicit function representation (3.1) has the advantage of the separation of the polynomial part from the equation itself. The drawback of this representation is that the representation is not unique. Line kax + kby + kc = 0 for any k(= 0) ∈ R represents the same line. Therefore, the check of the equality of lines needs the check of the ratios of each coefficient instead of the check of the equality of each coefficient. Common to both representations is the difficulty of discerning variables and constants. As long as the human is the reader of the formulas, (s)he can recognize variables from the context. However, when we let computer alge-

3.2 Preliminaries

47

bra systems to manipulate formulas, we need extra information about the symbols. Just think of ax + by + c = 0. We are accustomed the convention that x and y are variables, and a, b and c are constants. However, in some context, a, b, and c are variables for which we want to solve. How can a computer algebra system distinguish them? Concerning the variables, even more subtle problems of free and bound variables appear. Modern programming languages are designed to handle variables and symbolic constants without confusion, including the programming languages of computer algebra systems. Our approach in this monograph is to use the λ-notation of the lambda calculus (see λ-term in Glossary). We represent the line formula by a λterms. Instead of expressing a line by Eq. (3.1) or Eq. (3.3), we (λ-)abstract the equality “ax + by + c = 0” by variables a , b , c , x and y , and obtain a λ-term γ (3.4) γ  λ a b c x y . ( a x + b y + c = 0). Application of γ to a yields γa = λ b c x y . ( ax + b y + c = 0). Then we apply γa to b, apply γab to c, etc. Finally, we obtain γ a b c x y = ( ax + by + c = 0). The condition (3.2) is removed in the definition (3.4) of γ, since we introduce a general condition to ensure that Eq. (3.1) represents a line. We call γ a b c an abstract pre-line. A new condition added to the representation of a line instead of condition (3.2) is the following ζ ( a, b)b(b − 1) = 0 ∧ ( a − 1)(b − 1) = 0 ∧ a2 + 1 = 0.

(3.5)

It is called line coefficient constraints (LCC, for short). Whenever we construct a line ax + by + c = 0, we impose LCC . This makes the representation of a line unique (see Problem 3.1), and enables us to easily recognize the correspondence between explicit and implicit functions expression the same line. Instead of expression (3.4), we represent an abstract line using λ-term

L  λa b c x y . (γ a b c x y ∧ ζ ( a, b)) .

(3.6)

We call L a b c an abstract line. An abstract line is an abstract pre-line that satisfies ζ ( a, b). In summary, we have discussed three kinds of representations of a line. We mainly use the abstract line representation in the subsequent discussions. Therefore, we omit the adjective “abstract” to refer to an abstract line when it is clear from the context.

48

3 Origami Geometry based on Huzita-Justin Folds

Example 3.1. An abstract line which passes through points P(0, 1/2) and Q(1, 1) is L (−1/2) 1 (−1/2). (3.7) The LCC of this line is ζ (−1/2, 1) ( = true). Thus, expression (3.7) is equivalent to (−1/2) x + y + (−1/2) = 0. This is the unique representation of the line passing through P and Q by the implicit function. Line PQ is another (symbolic) representation of the same line.

3.3 Superposition As we already discussed, in Chapter 2, the superposition of points and lines, in this chapter, we summarize the preceded discussions and introduce the superposition as a binary relation on the set of geometric objects. To be concrete, it is a binary relation on the set Points ∪ Lines. We use symbol   to  β exdenote the superposition relation. For geometric objects α and β, α  presses that α and β are superposed. The superposition is a symmetric and reflexive relation. We may add the fold-line  and write

 β α to express that α and β are superposed by the fold along fold-line . Depending upon the sorts of the objects to be superposed, we have the following superpositions. We re-examine each of them from the algebraic point of view.2

Point-point superposition Let α and β be points P and Q, respectively. When P and Q are distinct, the relation P   Q holds iff the fold-line  is the perpendicular bisector of the line segment PQ. When points P and Q are equal, P and Q (=P) are superposed by any fold-line that passes through P. By IP , we denotes the infinite set of the fold-lines that superpose points P and P.

2

In Chapter 7, we will introduce another superposition relation. It is a binary relation on origami faces and is associated with a 3D geometry.

3.3 Superposition

49

Point-line superposition Let α and β be point P and line m, respectively. By IP,m , we denote the set of  m. Namely, the fold-lines that satisfy P 

IP,m  { | P   m}. IP,m has the following important property, which we will use frequently in the subsequent discussions. Proposition 3.1 Let P and m be a point and a line, respectively, satisfying P ∈ m. IP,m is the set of all the tangents of the parabola defined by the focus P and the directrix m. Proof. See Problem 3.5.

 

We discuss the case of P ∈ m in Lemma 3.1.

Line-line superposition Let m and n be the lines to be superposed. By Im,n , we denote the set of the fold-lines by which we can superpose m and n. Namely,

Im,n  { | m   n}. We distinguish three sub-cases. (1) Lines m and n are distinct, and are parallel. The fold-line is a line consisting of the points equidistant from m and n. (ii) Lines m and n are distinct, and are nonparallel. Let θ (≤ π ) be the angle formed by m and n at the intersection. The foldlines are the bisectors of θ and (π − θ). (3) Lines m and n are the same. The fold-lines are perpendiculars to m, and m itself. By Im , we denote the infinite set of these fold-lines i.e.,

Im { | m   m}. Furthermore, we denote the infinite set of the fold-lines excluding line m, by Im⊥ , i.e., Im⊥ { | m   m,  = m}. Superposition α   β is called still if neither (whole or part of) α nor (whole or part of) β is moved in order for them to be superposed, otherwise proper.  P is still. Superposition m   m is still if  = m, For example, superposition P 

50

3 Origami Geometry based on Huzita-Justin Folds

and proper if  is perpendicular to m. In the case of the line-line superposition  m, we introduce yet another symbol for convenience. By m  ⊥ m, we m denote that m and m are properly superposed.

3.4 Calculus of Huzita-Justin origami construction HO: Huzita-Justin set of basic folds Huzita [14] and Justin [18] independently gave the set of basic fold rules. Their rules are based on the following observations on the paper folding. Observations (i) We can construct, by hand, a line3 , called a fold-line, that passes through arbitrarily given two distinct points on an origami. (ii) We can superpose, by hand, arbitrarily given two geometric objects α and β on an origami by a single fold as discussed in Subsection 2.1.6 of Chapter 2 and Section 3.3. (iii) Given an arbitrary line  and an arbitrary point P on , we can slide P, by hand, along  as far as P is on the origami. The effect of sliding a point along a line is slightly hard to appreciate than the effects of the other two operations. We illustrate the sliding process after we explain the fold rules. Each basic fold rule (we omit basic, hereafter) in the set takes a form of a command-like statement, logically equivalent to the geometric tool that has a well-defined function. We denote the set of Huzita-Justin fold rules by HO. We treat HO as a tool set of geometric construction, as well. HO plays a fundamental role in the formalization of the origami geometry [14, 18, 11, 3], just as the tools of a straightedge and a compass play in the Euclidean geometry. HO consists of seven rules O1 - O7. Rules O1 - O5 are the same as those of EO. In the following, we list all the rules. Symbol O denotes the origami to which each rule is applied. Points P and Q are on O , and lines m and n pass through O . O1 Given two distinct points P and Q, fold O along the unique line that passes through P and Q. O2 Given two distinct points P and Q, fold O along the unique line to superpose P and Q. O3 Given two distinct lines m and n, fold O along a line to superpose m and n. 3

To be more precise, a finite part of a line.

3.4 Calculus of Huzita-Justin origami construction

51

O4 Given a line m and a point P, fold O along the unique line passing through P to properly superpose m and itself. O5 Given a line m, a point P not on m and a point Q, fold O along a line passing through Q to superpose P and m. O6 Given two lines m and n, a point P not on m and a point Q not on n, where m and n are distinct, or P and Q are distinct, fold O along a line to superpose P and m, and Q and n. O7 Given two lines m and n and a point P not on m, fold O along a line to properly superpose P and m and n and itself. Based on the observation (i), we have fold O1, and based on the observation (ii), we have O2 - O7. Fold O2 is the immediate consequence of observation (ii). Fold O3 is simply the fold made by the superposition discussed in Lineline-superposition. Folds O4, O5, O6, and O7 are more complex than the others since they involve the sliding. To begin with, we explain how to fold the origami in the case of O5. We discuss folds O4, O5, O6, and O7 in the subsections of the algebraic analyses of each rule. Figure 3.1 shows the process of performing fold O5. We superpose point P and line EH by a fold-line that passes through point Q. We first bring P onto an arbitrary point on line segment EH. In Fig. 3.1(a), we mark the point with G. We then slide P along line KH towards point H until the tentatively constructed fold-line XY passes through point Q, as shown in Fig. 3.1(b) and (c). The location of point P2 in Fig. 3.1(d) is where P was moved to in FIg. 3.1(c). We thus obtain fold-line IJ. Note that rule O5 generates one more fold-line. We summarize HO in Table 3.1. It shows the reformulation of HuzitaTable 3.1: Superpositions and fold-lines in Huzita-Justin folds rule superpositions non-degeneracy non-incidence i O1 O2 O3 O4 O5 O6 O7

P  P, Q  Q P Q

φi

ψi

P = Q

− −

P = Q

− m, P  P − − P  m, Q  Q − P ∈ m P  m, Q   n ¬(P = Q ∧ m = n) P ∈ m ∧ Q ∈ n P  m, n  ⊥ n − P ∈ m m n

m ⊥

m = n

fold-lines

{} IP ∩ IQ ∩ I(P+Q)/2

⊥ IPQ

Im,n ∩ IP IP,m ∩ IQ IP,m ∩ IQ,n IP,m ∩ In⊥ Im⊥

Note: By the mark “-”, we indicate that no relation is specified and is logically interpreted as true.

52

3 Origami Geometry based on Huzita-Justin Folds

(a) Line EH, points P and Q are given

(c) Slide P along line KH towards point H (We refer to points P, K and H in (b).)

(b) Superpose P and EH at G

(d) Unfold to the initial origami

Fig. 3.1: Sliding a point along a line - Case of fold O5

Justin fold rules by a superposition or a combination of two superpositions. Each row corresponds to each rule. The second column shows the superpositions used to formulate each fold rule. The third and fourth columns show the constraints on the geometric objects in the parameters of each rule. Those constraints ensure that the rule does not generate an infinite number of the fold-lines. For example, in O1, the constraint P = Q, ensures the existence of the unique single fold-line that passes through points P and Q. Note that here we explained O1 as the rule based on the observation (i). MathP∧Q  Q. The ematically, we could define O1 by two superpositions P  condition P = Q is an example of a generic condition called non-degeneracy condition. Often, non-degeneracy conditions are implicitly included in geometric statements. For example, when we use different symbols, we often assume the distinctions among them. However, when we work on the computational formalizations, the omission of non-degeneracy conditions could cause problems.

3.4 Calculus of Huzita-Justin origami construction

53

The fourth column of non-incidence indicates condition(s) of the form α ∈ β. The omission of the non-incidence condition may cause problems in the operations where we have the point-line superposition(s), namely in rules O5, O6, and O7. The fifth column shows the set representation of all the fold-lines that each rule generates if the non-degenerate and non-incidence conditions are satisfied. The readers can see the correspondence between the superposition representation of each rule and the set representation of the fold-lines that each rule generates. Using the notion of superposition, we reformulate Huzita-Justin folds. We first introduce a function ξ, to be called fold-line function. Given a sequence of superpositions together with the non-degeneracy and the nonincidence conditions, it computes all the fold-lines determined by the parameters. Table 3.1 completely specifies the input parameters of function ξ. Thus, we are led to the following definition of function ξ. Definition 3.1 (Fold-line function ξ). 1. Fold-line function ξ (s, φ, ψ) is a function which computes a set of foldlines that satisfy a sequence of superposed pairs s, non-degeneracy condition φ and non-incidence condition ψ. 2. If there exists no fold-line that satisfies all the above three conditions, then ξ (s, φ, ψ) = ∅. Note: It is important to note that by the types of the parameters4 to function ξ, we can disambiguate the fold rule to apply to obtain the set of  m, Q   Q, true, P ∈ m) computes the the fold-lines. For example, ξ (P  set of fold-lines by rule O5. When the non-degeneracy or the nonincidence conditions are unnecessary, value true is specified in each place of the parameters. Using function ξ, we define HO-constructible objects. Definition 3.2 (HO-constructible objects O [S]). Given a set S of initial points, we define the set O [S] of HO-constructible objects as the least set satisfying conditions (i) - (iii). (i) Point P ∈ O [S] if P ∈ S .  (ii) Line m ∈ O [S] if m ∈ ξ (s, φ, ψ) and s is a sequence of superpositions αi  β i , where αi , β i ∈ O [S]. (iii) Point P ∈ O [S] if P is the intersection of lines m and n, where m, n ∈ O [S]. In this monograph, we treat the sequence of only two superpositions. Therefore, in clause (ii), the subscript i ranges over {1, 2}. We now define a calculus of Huzita-Justin origami construction. 4

In programming, we always call the parameters to functions arguments.

54

3 Origami Geometry based on Huzita-Justin Folds

Definition 3.3 (Calculus of Huzita-Justin origami construction). The calculus of Huzita-Justin origami construction is (O [S], ξ ). We call this calculus the calculus of origami construction and use it as the basis of the implementation of E OS. In O RIKOTO, we start with a square ABCD. Furthermore, O RIKOTO has command Newpoint which constructs a new point at an arbitrary location on the origami. Suppose P1 , . . . , Pk are those points constructed by executing NewPoint.5 In the execution of O RIKOTO S = {A, B, C, D} ∪ {P1 , . . . , Pk }.6 Hereafter, we denote the set of all HO-constructible points and the set of all HO-constructible lines by ΠO[S] and ΛO[S] , respectively. We omit “[S]” in ΠO[S] and ΛO[S] unless we need to explicitly specify the set S , and write ΠO and ΛO , respectively.

3.5 Algebraic properties of the rules of HO We explain the properties of the rules in order to analyze the constructible objects. For each rule, we show that the number of fold-lines is finite. Algebraic analysis of the fold rules described in this section is based on the works [16, 12].

3.5.1 Analysis of rule O1 Proposition 3.1 (Fold-line of rule O1). For all points P, Q ∈ ΠO satisfying P = Q, there exists a unique fold-line, such that it passes through P and Q. Proof. By rule O1.   We denote this unique fold-line by PQ. Any distinct points X and Y on this fold-line can serve to denote this fold-line. Hence there is no unique symbolic representation for a fold-line. The algebraic expression of line PQ is as follows. Let points P and Q be located at ( x1 , y1 ) and ( x2 , y2 ), respectively. The fold-line L a b c of rule O1 satisfies the relation

 x1 y1 ∧  x2 y2 ∧ ¬( x1 = x2 ∧ y1 = y2 ).

(3.8)

Formula (3.8) is enough to understand how we can translate the geometric statement O1 into the corresponding algebraic expression. To transform formula (3.8) to simplified algebraic expression, such as those we see in high 5

Strictly speaking, O RIKOTO NewPoint can construct a new point from existing constructible points. 6 Theoretically, two points C and D are unnecessary since they are constructible by HOrules.

3.5 Algebraic properties of the rules of HO

55

school mathematics textbooks, is a routine exercise. In this case, we obtain the following abstract line. y1 x2 y1 − x1 y2 L ( yx2 − − x2 ) 1 ( x − x2 ) if x1  = x2 1

1

L 1 0 (− x1 )

if x1 = x2 ∧ y1 = y2

This proposition corresponds to Postulate 1:“To draw a straight line from any point to any point.” of Euclid’s Elements. The drawing is made possible by a straightedge in the Euclidean Geometry.

3.5.2 Analysis of rule O2 Proposition 3.2 (fold-line of rule O2). For all points P, Q ∈ ΠO satisfying P = Q, there exists a unique fold-line to superpose P and Q.

 Proof. By rule O2.  As in O1, we denote by L a b c the unique fold-line, and by  L a1 b1 c1 line PQ. We further assume that P and Q are located at ( x1 , y1 ) and ( x2 , y2 ), respectively. Since the fold-line of fold O2 is the perpendicular bisector of the line segment PQ, it satisfies x1 + x2 y1 + y2 ∧ 2 2  x1 y1 ∧  x2 y2 ∧ ¬( x1 = x2 ∧ y1 = y2 )∧ aa1 + bb1 = 0.



(3.9) (3.10) (3.11)

Subformula (3.9) specifies that the fold-line passes through the midpoint of PQ. Subformula (3.10) specifies that line  = PQ. Subformula (3.11) specifies that  and  are perpendicular to each other. It is straightforward to compute the following abstract line from the formulas (3.9) - (3.11).

− x1 x2 L ( xy11 − − y2 ) 1 (

L10

1 2 (− x1

2 + x 2 −y 2 +y 2 2 2 1

2( y1 − y2 )

− x2 )

) if y1 = y2 if y1 = y2 ∧ x1 = x2

3.5.3 Analysis of rule O4 Figure 3.2 shows origami configuration (see Fig. 3.2(a)) before the fold and the one (see Fig. 3.2(b)) with the fold-line of rule O4. The uniqueness of the fold-line and its representation are given in the following proposition.

56

3 Origami Geometry based on Huzita-Justin Folds

(a) Point P and line m are given

(b) Fold-line (in bold red)

Fig. 3.2: Fold-line of rule O4 Proposition 3.3 (fold-line of rule O4). For all P ∈ ΠO and m ∈ ΛO , there exists a unique fold-line, which is the perpendicular to line m and passes through P. Proof. We assume that P is located at ( x1 , y1 ) and that m(L a1 b1 c1 ) is line QR, where Q and R (= Q) are located at ( x2 , y2 ) and ( x3 , y3 ), respectively. The line L a b c which satisfies the following relation is the desired fold-line.

 x1 y1 ∧ m x2 y2 ∧ m x3 y3 ∧ ¬( x2 = x3 ∧ y2 = y3 )∧ aa1 + bb1 = 0

(3.12) (3.13) (3.14)

The subformula (3.12) specifies that the fold-line passes through P. The subformula (3.13) determines line m(= QR). The subformula (3.14) specifies that m is properly superposed by . By a simple algebraic computation as in the case of rule O2, we obtain the following unique fold-line.

− x1 x2 + x1 x3 − y1 y2 + y1 y3 x3 L ( xy22 − ) if y2 = y3 − y3 ) 1 ( y2−y3

L 1 0 (− x1 )

if y2 = y3 ∧ x2 = x3

 

3.5.4 Analysis of rule O5 Concerning rules O5, O6, and O7, the existence of a unique fold-line is not guaranteed. Furthermore, we may have more than one fold-lines in the case of folds O5 and O6. Therefore, we proceed with our analysis in two phases. In the first phase, we examine the number of fold-lines we have in each O5 - O7 rule. In the second phase, we examine the representations of the fold-

3.5 Algebraic properties of the rules of HO

57

lines. The reader might wonder why we need the first phase since the results of the second phase give us all we want. We have two reasons for taking our approach. First, the proofs in the first phase are more general and applicable to the extensions of the origami folds, where we allow the superposition of a point and various curves. Secondly, the solutions, i.e., the fold-lines, that we obtain as algebraic expressions, are quite large in general and less inspiring. We need a computer algebra system to derive the formulas, and in this monograph, we do not intend to give the entire formulas that we obtain from the computer algebra systems. Once we understand the algorithm of deriving the formulas, computing them in the subsequent analyses becomes straightforward by the use of the computer algebra systems such as Mathematica[23] and Maple[17]. From Table 3.1, we see that the fold-lines of rule O5 - O7 are contained in IP,m . Proposition 3.1 tells that IP,m is the set of all the tangents of the parabola defined by the directrix m and the focus P. We recall some basic facts about a parabola. Definition 3.4 (Parabola). The parabola C whose directrix m and focus P is defined as follows. Let m be an abstract line L a1 b1 c1 , P be a point located at ( x1 , y1 ), and f ( x, y) be a polynomial in R [ x, y] defined by    (3.15) f ( x, y)( a1 x + b1 y + c1 )2 − a21 + b12 ( x − x1 )2 + (y − y1 ) 2 . The parabola C is given by the equation f ( x, y) = 0.

(3.16)

Note: We used an abstract line for the directrix. The directrix can be a line represented by an implicit function as in Eq. (3.1). The tangent to the parabola (3.16) at (u, v) is defined by the equation

( x − u)

∂f ∂f (u, v) + (y − v) (u, v) = 0. ∂x ∂y

(3.17)

The slope τ of the tangent (3.17) is given by τ −

∂f ∂f ∂f (u, v)/ (u, v), where (u, v) = 0. ∂x ∂y ∂y

(3.18)

The following proposition describes the number of fold-lines of rule O5. Proposition 3.4 (Fold-lines of rule O5). For all m ∈ ΛO , P, Q ∈ ΠO satisfying P ∈ m there exist at most two7 fold-lines passing through Q, along which we can fold O to superpose P and m. 7

This should be read as 0, 1 or 2, and in the case of 0, the fold is impossible. Similar interpretation is applied to “at most k.”

58

3 Origami Geometry based on Huzita-Justin Folds

Proof. By Proposition 3.1, the fold-lines generated by rule O5 are the tangents to parabola C whose directrix is m and focus is P. Let m be L a1 b1 c1 , P and Q be located at ( x1 , y1 ) and ( x2 , y2 ), respectively, and let f ( x, y) = 0 be parabola C . We distinguish two cases of the tangent at (u, v) to C . case (i): τ ( x − u) − (y − v) = 0, case (ii): x = u. We consider case (i), first. Since the tangent passes through point Q, we have the equation τ ( x2 − u) − (y2 − v) = 0. (3.19) Furthermore, we have f (u, v) = 0.

(3.20)

With Eqs (3.18), (3.19) and (3.20), we form the system of equations in variables τ, u and v. The complete solutions in the algebraic form are too large to be given here. Instead, we give only the solutions for τ. By eliminating the variables u and v, we have the equation in τ τ 2 (−c1 + a1 x1 − 2a1 x2 − b1 y1 ) + τ (−2b1 x1 + 2b1 x2 − 2a1 y1 + 2a1 y2 ) −c1 − a1 x1 + b1 y1 − 2b1 y2 = 0. (3.21) We can show that no values in R of a1 , b1 , c1 , x1 , y1 , x2 and y2 , satisfying P ∈ m, make all the coefficients of Eq. (3.21) vanish. (see Problem 3.9). Furthermore, we can show that Eq. (3.21) is either quadratic or linear equation in τ. In the former case, we have at most two solutions in R. In the latter case, we have one solution in R. Next, we consider case (ii). We can show that the tangent is x = x2 if m = L 1 0 ( x1 − 2x2 ) . Otherwise, there is no tangent of this form (see Problem 3.12). Thus, in this case, there is at most one tangent.  In summary, we have at most two tangents (i.e., fold-lines). In case (i) of the above proof, we do not show the explicit forms of the solutions for u and v since they are quite large algebraic expressions in variables a1 , b1 , c1 , x1 , x2 , y1 , and y2 . Geometric shapes are often more revealing than the formulas obtained by algebraic computation. Figure 3.3 (b) shows fold O5. It is easy to see that another fold-line exists that passes through point Q and that it is also the tangent to the parabola. See Fig. 3.4, where the solid lines indicate the possible fold-lines. If Q is inside the region enclosed by AD and the parabola, we have no fold-line.

3.5 Algebraic properties of the rules of HO

59

(a) Given parameters of fold (b) Fold along the fold-line (c) Unfold (parabolla added) O5

Fig. 3.3: Fold O5 and parabola

Fig. 3.4: Two fold-lines of fold O5

3.5.5 Analysis of rule O7 We perform a similar algebraic analysis of rule O5. We obtain the following proposition. Proposition 3.5 (Fold-line of rule O7). For all m and n ∈ ΛO and P ∈ ΠO satisfying P ∈ m, there exists at most one fold-line along which we can fold O to properly superpose P and m, and n with itself. Proof. The proof is similar to the proof of Proposition 3.4. Let m be L a1 b1 c1 , n be L a2 b2 c2 and P be located at ( x1 , y1 ). We look for a tangent defined by Eq. (3.17). In the case of rule O7, we have the constraint that the tangent is perpendicular to n. By Eq. (3.18), the constraint is expressed by a2

∂f ∂f (u, v) + b2 (u, v) = 0. ∂x ∂y

(3.22)

60

3 Origami Geometry based on Huzita-Justin Folds

With f (u, v) = 0, we form the system of equations in u and v. To solve it, we distinguish two cases (i) m ∦ n and (ii) m  n. (i) Since m ∦ n, a2 b1 − a1 b2 = 0. Solving it for u and v, we obtain the following single solution for (u, v). u→

a1 a22 c1 + 2a2 b1 b2 c1 − a1 b22 c1 + a21 a22 x1 + 2a22 b12 x1 − 2a1 a2 b1 b2 x1 2( a2 b1 − a1 b2 )2

+ v→

a21 b22 x1 + a1 a22 b1 y1 + 2a2 b12 b2 y1 − a1 b1 b22 y1 2( a2 b1 − a1 b2 )2

− a22 b1 c1 + 2a1 a2 b2 c1 + b1 b22 c1 − a1 a22 b1 x1 + 2a21 a2 b2 x1 + a1 b1 b22 x1 2( a2 b1 − a1 b2 )2 a2 b2 y1 − 2a1 a2 b1 b2 y1 + 2a21 b22 y1 + b12 b22 y1 + 2 1 2( a2 b1 − a1 b2 )2

The solutions for u and v are in R since a1 , b1 , c1 , a2 , b2 , c2 , x1 and y1 are all in R. Equation (3.17) is the desired tangent, from which we can easily compute the unique fold-line. (ii) Since no tangent to a parabola is perpendicular to its directrix, there exists no fold-line that is perpendicular to line n.   If we do not investigate the algebraic forms of the solutions, we can prove Proposition 3.5 without using a computer algebra system. We can easily see that the map from the set of the slopes of the tangents of the parabola to the set of the points of tangency is bijective. From this, we can conclude that the fold-line, if exists, is unique (see Problem 3.11 for details). Figure 3.5 shows an example of fold O7. In Fig. 3.5(c) the red curve is the parabola defined by directrix m and focus P. Line IJ in thick black is the fold-line.

3.5.6 Analysis of rule O6 The most interesting is rule O6, which gives more constructing power than a straightedge and a compass. Proposition 3.6 (Fold-lines of rule O6). For all m, n ∈ ΛO and P, Q ∈ ΠO satisfying the relation P ∈ m ∧ Q ∈ n ∧ ¬(P = Q ∧ m = n), there exist at most three fold-lines along which we can fold O to superpose P and m and Q and n if m ∦ n; and one or two if m = n. Proof. The proof is similar to the proofs of Propositions 3.4 and 3.5. The problem is reduced to finding common tangents of the parabolas C1 defined by directrix m and focus P and C2 defined by directrix n and focus Q.

3.5 Algebraic properties of the rules of HO

(a) Lines m and n and point P are given

(b) Fold O7

61

(c) Unfold: with the parabola and the fold-line

Fig. 3.5: Fold O7

Let m be L a1 b1 c1 , n be L a2 b2 c2 , P be located at ( x1 , y1 ), and Q be located at ( x2 , y2 ). The two parabolas C1 and C2 are expressed by the polynomial equations f 1 ( x, y) = 0 and f 2 ( x, y) = 0. f 1 ( x, y) is as defined in (3.15) and f 2 ( x, y) is the one with all the subscripts of f 1 ( x, y) replaced by 2. We distinguish the two cases: m = n and m = n. Taking into account the constraint ¬(P = Q ∧ m = n) on the parameters P, Q , m and n, the cases that we should consider become to be (i) m = n and (ii) m = n ∧ P = Q. (i) m = n We further distinguish the following two sub-cases. (i-a) The common tangents are τ ( x − ui ) − (y − vi ) = 0, for i = 1, 2.

(3.23)

As in the proof of Proposition 3.4, we form the systems of equations

∂f ∂f (3.24) f i (ui , vi ) = 0, − i (ui , vi ) = τ i (ui , vi ) for i = 1, 2. ∂x ∂y Solving each system for ui and vi , we obtain, for i = 1, 2,

(− ai ci + a2i xi − ai bi yi )τ 2 + (2bi ci − 2ai bi xi + 2bi2 yi )τ + 2 ( a i τ − bi ) 2 ai ci + a2i xi + 2bi2 xi + ai bi yi , 2 ( a i τ − bi ) 2 (bi ci + ai bi xi + 2a2i yi + bi2 yi )τ 2 + (2ai ci + 2a2i xi − 2ai bi yi )τ + vi → 2 ( a i τ − bi ) 2 −bi ci − ai bi xi + bi2 yi . (3.25) 2 ( a i τ − bi ) 2

ui →

62

3 Origami Geometry based on Huzita-Justin Folds

We note that ai τ − bi = 0 for i = 1, 2 since otherwise, the directrix of each parabola and the tangent would be perpendicular to each other, which is impossible. Substituting the solutions (3.25) for ui and vi in (3.23) and noting ai τ − bi = 0, we obtain the equation A(τ ) = 0,

(3.26)

where A(τ )(− a2 c1 + a1 c2 + a1 a2 x1 − a1 a2 x2 − a2 b1 y1 + a1 b2 y2 )τ 3 (b2 c1 − b1 c2 − 2a2 b1 x1 − a1 b2 x1 + a2 b1 x2 + 2a1 b2 x2 − 2a1 a2 y1 + b1 b2 y1 + 2a1 a2 y2 − b1 b2 y2 )τ 2 + (− a2 c1 + a1 c2 − a1 a2 x1 + 2b1 b2 x1 + a1 a2 x2 − 2b1 b2 x2 + a2 b1 y1 + 2a1 b2 y1 − 2a2 b1 y2 − a1 b2 y2 )τ + b2 c1 − b1 c2 + a1 b2 x1 − a2 b1 x2 − b1 b2 y1 + b1 b2 y2

(3.27)

Since ai , bi , ci , xi and yi are all in R, all the coefficients of A(τ ) are in R. The condition of the parameters P ∈ m ∧ Q ∈ n ∧ ¬(P = Q ∧ m = n)

(3.28)

ensures that A(τ ) is a non-zero polynomial (see Problem 3.14). Hence, we have the following four possibilities. (1) The coefficient of the leading term of A(τ ) is non-zero, and hence A(τ ) is a polynomial of degree 3 in τ. By the basic properties of the roots of degree 3 polynomial equations, the number of distinct solutions for τ in R of Eq. (3.26) is 1, 2 or 3. (2) A(τ ) is a polynomial of degree 2 in τ. The number of distinct solutions for τ in R of Eq. (3.26) is at most 2. (3) A(τ ) is a polynomial of degree 1 in τ. The number of distinct solutions for τ in R of Eq. (3.26) is 1. (4) A(τ ) is a constant. The number of solution for τ of Eq. (3.26) is 0. ∂f (i-b) ∂yi (u, v) = 0 for i = 1, 2 This is the case that the common tangent is parallel to the y-axis. With Eq. (3.16) and Eq. (3.17), we form the systems of equations

{ f i ( xi , yi ) = 0, ( x − ui )

∂ fi ∂f (u , v ) + (y − vi ) i (ui , vi ) = 0, ∂x i i ∂y ∂ fi (u , v ) = 0} (3.29) ∂y i i

in variables x, y, xi , yi , ui and vi for i = 1, 2.

3.5 Algebraic properties of the rules of HO

63

Consider the case of i = 1. Solving Eq. (3.29) for x, we obtain x → (−c1 + a1 x1 − b1 y1 )/2a1 . a1 = 0 is ensured by the fact that the tangent is parallel to the y-axis. Thus, the tangent is x=

−c1 + a1 x1 − b1 y1 . 2a1

We thus obtain the single tangent for parabolas Ci , i = 1, 2. If the two tangents are the same, we obtain the common tangent, and otherwise have none. Therefore, we have at most one fold-line. (ii) m = n ∧ P = Q This is the case that a1 = a2 ∧ b1 = b2 ∧ c1 = c2 . In this case, if P = Q, we have A(τ )( a1 τ − b1 ) B(τ ), (3.30) where B(τ )(− a1 x1 + a1 x2 + b1 y1 − b1 y2 )τ 2 + (2a1 (y1 − y2 ) + 2b1 ( x1 − x2 ))τ + a1 x1 − a1 x2 − b1 y1 + b1 y2 Since a1 τ − b1 = 0, as noted in case (i), solving A(τ ) = 0 for τ is reduced to solving B(τ ) = 0 for τ. B(τ ) is a polynomial of degree 2 or 1 with the coefficients in R (see Problem 3.15). Furthermore, when the degree is 2, the discriminant of polynomial B(τ ) is positive. Hence, solving B(τ ) = 0 for τ, we obtain two distinct solutions in R. When B(τ ) is of degree 1, we have 1 solution in R. Therefore, we have one or two fold-lines.

  Figures 3.6 and 3.7 show an example that has three fold-lines.

3.5.7 Analysis of rule O3 Given two distinct lines m and n, rule O3 generates one fold-line if m  n and two fold-lines if m ∦ n. The algebraic expressions of the fold-lines are derived using the property that the distance between point P( x, y) on the fold-line to line m (= L a1 b1 c1 ) and to line n (= L a2 b2 c2 ) is the same, i.e.,

64

3 Origami Geometry based on Huzita-Justin Folds

(a) Parameters of rule O6

(b) Three fold-lines

Fig. 3.6: Fold-lines of rule O6

(a) Fold along one of the fold-lines

(b) Result of unfold with parabolas

Fig. 3.7: Fold O6 and parabolas

| a1 x + b1 y + c1 | | a2 x + b2 y + c2 |   = . a21 + b12 a22 + b22

(3.31)

Squaring the both sides of Eq. (3.31) and transforming the result to the polynomial equality, we obtain

E (m x y)2 ( a22 + b22 ) = (n x y)2 ( a21 + b12 ). We can obtain the set of the possible abstract fold-lines of rule O3 by solving (for x and y) the formula E ∧ L a b c x y. To compute the fold-lines is a routine algebraic computation (see Problem 3.4).

3.6 General Fold

65

Summary of this section In Table 3.2, we summarize the number of constructible fold-lines by each rule. The first column specifies Huzita-Justin rules. The second column shows the number of fold-lines that are constructible by each rule. The value 0 means that we cannot apply the rule with certain combinations of the parameters. Table 3.2: Number of possible fold-lines in HO O1 1 O2 1 O3 1, 2 O4 1 O5 0, 1, 2 O6 0, 1, 2, 3 O7 0, 1

3.6 General Fold In the preceding section, we learned that the application of rule O6 induces solving a cubic equation A(τ ) = 0 at Eq. (3.26), where τ is the slope of the fold-line. The coefficients of the monomials of the cubic equation are rational functions of a, b, c, x and y. Those variables get instantiated to the values in R defining the lines and points involved. Those lines and points become the parameters of the fold rules when we apply the rules. If those lines and points are configured in a particular way that nullifies some terms of polynomial A(τ ), A(τ ) may become the polynomial of degree two, degree one, or a constant. In the last case, A(τ ) has no root or infinite number of roots depending on the term of degree 0, as we can see Eq. (3.27). A question naturally arises whether rule O6 is reduced to the other fold rules, i.e., O1 - O5 or O7, if we impose stronger conditions on the application of rule O6. To tacle this question, we first define the following fold rule Og.8

8

The letter g in Og is meant to be generalized.

66

3 Origami Geometry based on Huzita-Justin Folds

Og Given two points P and Q and two lines m and n, fold O along a fold-line to superpose P and m and Q and n. Recall that all the rules of HO consist of three parts; (i) the sequence of superpositions, (ii) the non-degeneracy condition, and (iii) the non-incidence condition, as shown in Table 3.1. Rule Og is a variant of rule O6 but without non-degeneracy and non-incidence conditions. We show that rule Og can generate all possible fold-lines of rules O1 - O7. However, it turns out that rule Og has a problem of generating an infinite number of the fold-lines in some geometric configurations. Rule Og is not feasible as a folding rule in computational origami since this property induces the non-termination of computation. We have to find an appropriate condition Cg, such that only when condition Cg is true, we apply rule Og. It should ensure that rule Og generates a finite number of fold-lines. Martin called a fold rule with the same properties as above the fundamental folding operation, p. 149 in [20]. If for two given points P and Q and for given lines m and n there are only a finite number of lines  such that both P is on m and Q is on n, then we may fold the paper along each of these lines .9

Our task is then (i) to define a condition Cg and (ii) to define a new fold-line function ξ g by extending fold-line function ξ. ξ g takes one more parameter Cg, such that ξ g (P   m, Q   n, true, true, Cg)

(3.32)

computes a finite set of fold-lines. Since ξ (P   m, Q   n, φ6 , ψ6 ) computes the finite set of fold-lines by rule O6, the evaluation of expression (3.32) yields the set of fold-lines by the super m, Q   n, ignoring the non-incidence and non-degeneracy conpositions P  ditions, but taking into account condition Cg. To explore condition Cg, we use the following two lemmas. Lemma 3.1. For all P∈ ΠO and m ∈ ΛO , satisfying P   m, ⊥ if P ∈ m then IP,m = Im ∪ IP .

Proof. We distinguish the still and proper superpositions. In the former case, the set of the fold-lines is {m}. In the latter case, the set of the fold-lines is Im⊥ ∪ (IP \ {m}). Therefore, IP,m = {m} ∪ Im⊥ ∪ (IP \ {m}) = Im⊥ ∪ I P .   Lemma 3.2. For all P, Q ∈ ΠO and m, n ∈ ΛO , satisfying P   m and Q   n, i f (P ∈ n ∧ Q ∈ m) ∧ (P  ∈ m ∧ Q  ∈ n) ∧ (P  = Q ∧ n  = m) then ξ (P   m, Q   n, φ6 , ψ6 ) = ξ (P   Q, φ2 , true) ∪ ξ (m   n, φ3 , true).(3.33) 9

We use different symbols to denote lines from Martin’s.

3.6 General Fold

67

Proof. We use the abbreviations10 given in Table 3.3, and rewrite formula (3.33) to (3.34) if xinc ∧ ninc ∧ distinct then O6 = O2 ∪ O3. Assume ninc, xinc and distinct hold. We first prove O6 ⊆ O2 ∪ O3.

(3.35)

A fold-line  in O6 satisfies the relation: P  m, Q   n

(3.36)

By ninc ∧ distinct, φ2 , φ3 , φ6 and ψ6 hold. Furthermore, distinct makes possible only the following two constructions of the fold-lines satisfying relation (3.36). (i) [Use of the property P = Q] We have a fold-line  that is the perpendicular bisector of segment PQ. By definition,  ∈ O2. (ii) [Use of the property m = n] We have fold-lines 1 , 2 ∈ O6 that satisfy m i n for i = 1, 2. By definition, 1 , 2 ∈ O3. (Note that if m  n then 1 = 2 else 1 = 2 .) From (i) and (ii), we obtain relation (3.35). We next prove O6 ⊇ O2 ∪ O3.

(3.37)

By xinc, both in fold O2 and fold O3, for the fold-line  we have P   m, Q   n. By ninc we have φ6 = true and by distinct, ψ6 = true. Hence  ∈ O6, and we obtain relation (3.37). From relations (3.35) and (3.37), we conclude  Eq. (3.34). Figures 3.8 (a) and (b) show the configurations in cases (i) and (ii).

 m and Q   n, Lemma 3.3. For all P, Q ∈ ΠO and m, n ∈ ΛO , satisfying P  i f ((P ∈ m ∧ Q ∈ n) ∨ (P ∈ m ∧ Q ∈ n)) ∧ ¬((P = Q) ∧ (m = n)) then ξ g (P   m, Q   n, true, true, true)

= ξ (P   m, Q   Q, true, ψ5 ) ∪ ξ (P   m, n  ⊥ n, true, ψ7 ). (3.38) Proof. We rewrite statement (3.38) to if xor-i ∧ ndg then Og = O5 ∪ O7. We distinguish the following two cases of xor-i. 10

often called macro in programming languages

68

3 Origami Geometry based on Huzita-Justin Folds

(a) Rule O2 from rule O6

(b) Rule O3 from rule O6

Thick red lines in figures (a) and (b) are possible fold-lines, and thin red lines are the parabolas associated with the superpositions.

Fig. 3.8: Fold-lines of rules O2 and O3 derived from rule O6

1. P ∈ m ∧ Q ∈ n If P = Q ∧ m = n, we have the contradiction with the case condition, and the statement (3.38) is vacuously true. Otherwise, i.e., ndg ≡ true, the rule with parameters (P   m, Q   n) performs the rule O6 with parame m, Q   n). When P ∈ m, rule Og generates the same fold-lines as ters (P  rules O5 and O7 do, as deduced by the following derivation. See Fig. 3.9. Og = IP,m ∩ IQ,n

= (IP ∪ Im⊥ ) ∩ IQ,n

by Lemma 3.1

= (IP ∩ IQ,n ) ∪ (Im⊥ ∩ IQ,n ) = O5a ∪ O7a by Q ∈ n = O5 ∪ O7 by swapping P and Q, and m and n 2. P ∈ m ∧ Q ∈ n Since ξ g (P   m, Q   n, true, true, true) = ξ g (Q   n, P   m, true, true, true), we obtain Og = O5 ∪ O7.

  Theorem 3.1. For all superposition P   m and Q   n, if ¬((ninc ∧ P = Q ∧ m = n) ∨ (inc ∧ m = n) ∨ (inc ∧ m  n) ∨ (inc ∧ m ∦ n ∧ P = Q ∧ m = n)) then Og =



j=1,...,7 Oj.

(3.39)

3.6 General Fold

69

(a) Rule O5 derived from rule O6 when P does not move. Lines 1 and 2 are the fold lines.

(b) Rule O7 derived from rule O6 when P moves. Line 3 is the fold line.

Fig. 3.9: Fold-lines of O5 and O7 generated by rule Og

Proof. We use the abbreviations in Table 3.3. We define Cg as follows: Cg ¬( (P = Q ∧ m = n) ∨ (inc ∧ m = n) ∨ (inc ∧ m  n) ∨ (inc ∧ m ∦ n ∧ P = Q ∧ m = n))

(3.40)

We first prove that If Cg then Og ⊆



Oj.

(3.41)

j=1,...,7

If P = Q ∧ m = n, rule Og with parameters (P   m, Q   n) collapses into su m. It generates the infinite set IP,m of fold-lines. Otherwise, perposition P  we distinguish the following three cases based on the incidence relations of P ∈ m and Q ∈ n. 1. P ∈ m ∧ Q ∈ n (i.e., ninc)  m, We note ψ6 ≡ ninc and φ6 ≡ ndg. Hence, rule Og with parameters (P   n) performs rule O6 with parameters (P   m, Q   n). By Lemma 3.2, Q conditions distinct and xinc make rule O6 perform rules O2 and O3. 2. (P ∈ m ∧ Q ∈ n) ∨ (P ∈ m ∧ Q ∈ n) (i.e., xor-i)  m, Q   n) performs If ndg, by Lemma 3.3, rule Og with parameters (P  rule O5 and O7. Condition ¬ndg contradicts with the condition xor-i of this case. 3. P ∈ m ∧ Q ∈ n (i.e., inc) We have three distinct cases: (a) m = n, (b) m = n ∧ m  n and (c) m = n ∧ m ∦ n. Since m  n implies m = n, case (b) is reduced to m  n. For each case, we check the generated fold-lines. (a) m = n The set of the fold-lines is Im .

70

3 Origami Geometry based on Huzita-Justin Folds

Table 3.3: Abbreviations of terms and formulas ndg ≡ ¬(P = Q ∧ m = n)

non-degeneracy distinctness

distinct ≡ P = Q ∧ n = m ninc ≡ P ∈ m ∧ Q ∈ n

non-incidences

inc ≡ P ∈ m ∧ Q ∈ n xinc ≡ P ∈ n ∧ Q ∈ m

incidences exchanged incidences

xor-i ≡ (P ∈ m ∧ Q ∈ n) ∨ (P ∈ m ∧ Q ∈ n) ≡ xor(P ∈ m, Q ∈ n)

xor of incidences

Og ≡ ξ g (P   m, Q   n, true, true, Cg) O1 ≡ ξ (P   P, Q   Q, φ1 , true) O2 ≡ ξ (P   Q, φ2 , true) O3 ≡ ξ (m   n, φ3 , true) O4a ≡ ξ (m  ⊥ m, Q   Q, true, true) O4b ≡ ξ (n  ⊥ n, P   P, true, true) O5 ≡ ξ (P   m, Q   Q, , true, ψ5 ) O5a ≡ ξ (Q   n, P   P, true, Q ∈ n) O6 ≡ ξ (P   m, Q   n, φ6 , ψ6 ) O7 ≡ ξ (P   m, n  ⊥ n, true, ψ7 ) O7a ≡ ξ (Q   n, m  ⊥ m, true, Q ∈ n)

Note:

• W ≡ w reads “w is denoted by W.” • Symbol ≡ denotes also “logical equivalence.” The context in which symbol ≡ is used disambiguates the meaning.

(b) m  n By a fold-line, we properly superpose m and P, and properly superpose n and Q. By Lemma 3.1, the set of such fold-lines is

(Im⊥ ∪ IP ) ∩ (In⊥ ∪ IQ ) = Im⊥ ∪ (IP ∩ IQ ) = Im⊥ ∪ O1 (c) m = n ∧ m ∦ n We further distinguish the following two cases.

3.6 General Fold

71

1) P = Q P is the intersection of lines m and n. Any line passing through P is the fold-line. Hence, the set of the fold-lines is IP . 2) P = Q We further distinguish the following four cases. Let  be the foldline, if any. i) P = P ∧ Q = Q This case is impossible since there exists no fold-line  that satisfies  ⊥ m ∧  ⊥ n ∧ m ∦ n ∧ m = n. ii) P = P ∧ Q = Q We have the fold-line  such that  ∈ Im⊥ ∧ Q ∈ . Hence, {} = O4a (see Fig. 3.10(a)). iii) P = P ∧ Q = Q Similarly to case ii), {} =O4b. iv) P = P ∧ Q = Q The fold-line  is PQ, and hence {PQ} = O1 (see Fig. 3.10(b)).

(a) Rule O4 derived from rule Og when P moves and Q does not move

(b) Rule O1 derived from rule Og when neither P nor Q moves

Fig. 3.10: Fold-lines of O1 and O4 derived from Og In Table 3.4, we summarize the relations of rule Og and corresponding HO folds in all the possible combinations of the conditions. From the table, we can extract the condition that filters out the undesired cases of having Og generate an infinite number of the fold-lines. The extracted expression is the same as defined in Eq. (3.40). Thus, we have proved the relation (3.41). We can easily prove the reverse inclusion of 3.41, i.e., If Cg then Og ⊇



Oj.

(3.42)

j=1,...,7

by checking the configuration of each fold rules Oi, for i = 1, . . . , 7. From  relations (3.41) and (3.42), we obtain the relation (3.39).

72

3 Origami Geometry based on Huzita-Justin Folds

case inc ninc xor-i xinc ndg m  n m ∦ n P = Q P = Q m = n m = n fold −   IP,m 1.   O6 Lemma3.2     O2∪O3 Lemma3.3   O5∪O7 3.(a)   Im 3.(b)   Im⊥ ∪O1 3.(c) 1)     IP 3.(c) 2)     O1∪O4

Table 3.4: Fold Og to perform O1 - O7 Note:  indicates that the checked condition needs to be specified to enable the fold.

Theorem 3.1 states that rule Og has equal power to HO under the condition Cg. However, rule Og has the following drawbacks. It may create fold-lines whose expected geometric properties are different. During the origami construction, a folding step may give rise to multiple possible fold-lines. The user should select a suitable fold-line among them. In proving geometric properties by algebraic methods like Gröbner bases, this may cause problems, since the property that we want to prove may hold only for the selected fold-line(s).

3.7 Origami constructible numbers Having studied EO and HO, we wonder how powerful they are, compared with the Euclidean tools of geometric construction, i.e., a straightedge and a compass. To start our discussion, let us abbreviate a method of geometric construction by a straightedge and a compass by SC. We abuse the words EO and HO, to mean the methodology of constructing origami by the use of rules EO and HO, respectively. We first compare SC and EO. We note that (i) none of the rules of EO has the capability of drawing a circle, and (ii) we can perform only countably many applications of the rules. Therefore, it is not meaningful to compare the set of all the points on the drawn geometric objects, i.e., circles, lines, and points constructed by SC, and the fold-lines and their intersections constructed by EO. We consider only the points of intersections; to be more precise, the intersections of circles and lines in the case of SC, and the initial points and the intersections of fold-lines in the case of EO.

3.7 Origami constructible numbers

73

There are two ways to compare the powers of EO and SC. One is to examine the functionality of the rules of basic folding operations. We compare the methods of obtaining the intersections and see whether SC can simulate EO and vice versa. Geretschläger took this approach and showed SC and EO have the equal power of geometric construction[9, 10]. When we add two distinct marks on its side of a straightedge, we have a marked straightedge. The marked straightedge can be "enhanced" to be a modern ruler with unit scale marks like the ones that we use in everyday life. Comparing the power of geometric construction in terms of the intersections, we can do without a compass. A marked straightedge simulates the function of a compass. It is shown in Chapter 9 of [20] that a marked straightedge alone is a more powerful tool of geometric construction than SC. Let us call the method of geometric construction by a marked straightedge MS. We next define the notion of constructible numbers and make the above statement more rigorous. Definition 3.5 (EO-constructible objects). Let A and B be the points at (0, 0) and (1, 0) in the Cartesian coordinate system. We call them initial points. Set E of EO-constructible objects is the least set satisfying (i), (ii), and (iii). (i) A, B∈ E. (ii) The fold-lines constructed by the applications of one of the rules O1 - O5 with EO-constructible objects as required parameters are in E. (iii) The point of intersection of two distinct EO-constructible lines is in E. We, then, define a set E of EO-constructible points as E = { x ∈ E | x : Points}. We call E a set of EO-constructible numbers as well, by identifying a point ( x, y) and a complex number x + ıy for x, y ∈ R, and call an element of E an EO-constructible number. Similarly, we define a set U of SC-constructible numbers. Concerning HO-constructible numbers, we define a set O of HO-constructible numbers, based on Definition 3.2 of the set O [S] of HO-constructible objects. Here, we let the initial point set S be {A, B}. Then, we define the set O to be ΠO[S] . As in E , we also use symbol O to denote the set of HO-constructible numbers, and call an element of O an HO-constructible number. It is shown in [7] that U has the following properties. Theorem 3.2 (Engeler 1993). U is the subfield of C with the properties (a) Let z = a + ib, where a, b ∈ R. z ∈ U ⇔ a, b ∈ U . (b) ∀ positive a ∈ U (∃ b ∈ U such that b2 = a). When we discuss the Euclidean and origami geometries, we assume a usual order on numbers e.g., > (greater than) on R, Q, and Z. With this condition, clause (b) states that U is a Euclidean field. By axiomatic treatment of

74

3 Origami Geometry based on Huzita-Justin Folds

basic folding operations, Alperin gave the same result [2]. This means that E and U are the same field. As for set O, Matin showed that the following [20]. Theorem 3.3. Set O is the subfield of C with the following propertie. (a) Let z = a + ib, where a, b ∈ R. z ∈ O ⇔ a, b ∈ O. (b) O is a Euclidean field over field Q extended by taking cube root. Alperin refined the above theorem. Cox gave the result in [6] in terms of 2-3 tower of field extensions. Theorem 3.4 (Alperin 2000, Cox 2004). Set O is the subfield of C with the following properties. (a) Let z = a√+ ib, √ where a, b ∈ R. z ∈ O ⇔ a, b ∈ O. (b) z ∈ O ⇒ z, 3 z ∈ O. (c) z ∈ O ⇔ there exist a series of field extensions Q = F0 ⊆ F1 ⊆ · · · ⊆ Fn ⊆ C such that z ∈ Fn and [ Fi : Fi−1 ] = 2 or 3 for 1 ≤ i ≤ n. Note: Fi : Fi−1 is the field extension of Fi−1 to Fi . By definition, field Fi forms a vector space over Fi−1 . The dimension of Fi as a vector space over Fi−1 is called the degree of the extension, and is denoted by [ Fi : Fi−1 ]. Martin also showed that the set of MS-constructible numbers is equal to O[20]. .

3.8 Examples 3.8.1 Notations and the programming language O RIKOTO is a small programming language for origami; to describe the construction and to verify the construction. It is built on top of Wolfram Language of Mathematica [23]. A structured object of the Wolfram Language is represented by f [ a1 , . . . , an ]. We keep this syntax in O RIKOTO, but in the text of this monograph expression of the form f [ a1 , . . . , an ] is written as the traditional mathematical notation f ( a1 , . . . , an ) unless we explicitly refer to the piece of O RIKOTO programs. In O RIKOTO, we denote the name of a point by a double-quoted sequence of characters, e.g., “A1”, but in the text of the monograph, it is written without double quotes, i.e., A1. We follow the parameter-passing convention of Wolfram Language. We use two kinds of arguments, i.e., positiondependent required arguments and position-independent named optional

3.8 Examples

75

arguments. The former are arguments of conventional programming languages. The latter is used in the form of “name → argument”, where the “name” is a symbol specifying the name of the argument. The named argument is used to reset the default value associated with the symbol. For general function call in textual form is f ( a1 , . . . , an−m , name1 → an−m+1 , . . . , namem → an ), where 0 ≤ m ≤ n. The equality (infix) predicate symbol of O RIKOTO is ==, and its use is restricted to the sorts Points, Lines and numbers. The equality is denoted by = in the contexts other than in O RIKOTO programs. A piece of O RIKOTO program is called a command. Since Mathematica has the functionalities of procedural and functional programming languages provided in the syntx of function calls/definitions f [ a1 , . . . , an ], we call function and procedural calls collectively command executions or simply commands. We introduce a new command HO to extend the functionality of command EO used in the simple origami geometry of Chapter 2. Command EO is capable of executing rules O1 - O5. Since set HO of Huzita-Justin folds has two more rules O6 and O7, command HO has to have the capability of executing O1 - O7. The sorts of parameters of rules O1 - O7 enable the O RIKOTO interpreter to distinguish the applicable rules, so that we only need a single command HO.

3.8.2 Construction of a unit square We can construct a square origami by EO according to (i) - (iii) of Definition 3.5. We show this example as an illustration of the capability of the construction of EO. Suppose that we are given a strict convex polygon shown in Fig. 3.11(a). We construct a square origami in O RIKOTO.

Step 1 EosSession["Square origami"]; 1. NewOrigami[ Polygon[1/2 {{-1,-2}, {3,-1}, {5,3}, {1,6}, {-3,4}, {-4,1}}], MarkCorner->{}] NewPoint[{"A"->{0,0},"B"->{1,0}}] We begin the E OS session by command EosSession[name-of-session]. Executing command NewOrigami with appropriate parameters, we create a sheet of a desired shape. In this case, we create an origami of a polygon con-

76

3 Origami Geometry based on Huzita-Justin Folds

(a) A sheet of arbitrary shape

(b) Initial points A and B

Fig. 3.11: Step 1: Construction of a square origami

sists of 6 vertices whose locations are (−1/2, −1), (3/2, −1/2), (5/2, 3/2), (1/2, 3), (−3/2, 2), and (−2, 1/2). By specifying MarkCorner->{}, we construct those convex points as nameless points. This option is used to avoid cluttering of many unreferenced points on the origami. Then, we construct points A and B at (0, 0) and (1, 0), respectively by executing command NewPoint. These two points are the initial points that we need to define the set E of EO-constructible objects. We denote this origami by O1 . E OS has the step-counter i to refer to the i-th command in the Eos session. The value of i is initially set to 1 and is incremented each time the origami is folded.11 Oi becomes Oi+k , where k is the number of the folds performed by a command. Figures 3.11(a) and (b) show the outputs of the above two commands.

Steps 2 - 7 2. EO["AB"]! 4. EO["AB","B"]! 6. EO["BA","A"]! The next six steps are constructions of line AB, the perpendicular to AB passing through point B, and the perpendicular to AB passing through point A. Each command line terminates with “!.” This means that each command is immediately followed by command Unfold[]. Note that the 11 To be more precise, the value of the step-counter changes only when the face structure of the origami is changed. It is outside the scope of this monograph to describe what the structural transformation of an origami is. We would need to discuss some details of the implementation. However, the readers rarely need the values of the step-counter, and it is sufficient to leave the meaning of the structural change as vague as it stands now. The value of the step-counter is indicated on the computer screen, whenever the result of the command execution is output.

3.8 Examples

77

three commands do not specify Handle, as we use the default values of Handles. Our convention is as follows. For any marked points X, Y and Z, command EO["XY","Z"] uses parameter Handle-> "X". Command EO["XY"] uses any constructed point to the right (left) of ray XY, if Direction is Valley (Mountain, respectively).12 In this example, we study only the geometry of a single flat plane. We can construct the flat plane by unfolding the origami immediately after each fold. Hence, the value of Handle parameter does not matter, unless the parameter point lies on the fold-line. Here, we use the default values of Handle in each command.

(a) Step 3

(b) Step 5

(c) Step 7

Fig. 3.12: Steps 3 - 7: Construction of a square origami

Steps 8 - 11 8-. EO["B",$fline[6],"A"] 8. EO["B",$fline[6],"A",FoldLine->1, Mark->{{$fline[4],"C"}}]! 10. EO["BC","C",Mark->{{$fline[6],"D"}}]! EndSession[]; The commands at Steps 8- and 8 perform fold O5;13 the command at Steps 8to show the possible fold-lines and the command at Steps 8 to actually fold the origami along the chosen fold-line. The first command is necessary since rule O5 yields two fold-lines. Line $fline[6], which is the second argument of the command at Step 8-, is the line constructed at Step 6. The perpendiculars constructed at Steps 4 and 6 cannot be represented by a pair of the constructed marked points since we have only two marked points at this 12 13

Recall the default value of Direction is Valley. Step 8- is internally treated as Step 7 in the implementation of E OS.

78

3 Origami Geometry based on Huzita-Justin Folds

step. However, the two perpendiculars should be available in set E of EOconstructible objects. E OS maintains the definition of the constructed foldlines. $fline[i] refers to the fold-line constructed at Step i. At Step 8, we select the first fold-line shown in Fig. 3.13, and perform O5 fold. We mark with C the intersection of the fold-line and $fline[4]. We see points C in Fig. 3.14(a)

Fig. 3.13: Steps 8-: Possible fold-lines

The command at Step 10 performs fold O4. It constructs the perpendicular to line $fline[4] that passes through point C. It constructs point D at the intersection of the fold-line and $fline[6] (see Fig. 3.14(b)). Figure 3.14(b) shows the final origami.

(a) Step 9: point C

(b) Step 11: point D

Fig. 3.14: Steps 8 - 11: Construction of an origami This construction example confirms that we can begin constructing an origami with an arbitrary shaped strict convex polygon.

3.8 Examples

79

3.8.3 Cube root This example is the first origami construction demonstrating that the origami is more powerful than a straightedge and a compass, according to Hull [13]. The algorithm of the construction is due to Martin[20], pp. 156 - 157. We credit the algorithm to Beloch[5]. Since the cube root of a rational number k(> 0) is the solution of the polynomial equation over the field of Q √ 3 3 x − k = 0, we can get a hint to find a k from Lill’s method explained in Appendix C (Lill’s method for finding real roots). √ The following is the program to construct a segment of length 3 2. The method is the extension of the one we discussed in Chapter 2, Subsection 2.2.4 for the polynomial √ of degree √ 2, to the one for the polynomial of degree 3. As we see that 3 2 ∈ E , but 3 2 ∈ O, √ using only the commands EO we cannot construct the segment of length 3 2, but with HO we can. EosSession["Cube root"]; MarkOn[]; 1. NewOrigami[4] We create a 4 × 4 square sheet of origami O1 . The half of the side length of O1 is the target of taking the cube root. In this case, it is 2. Command MarkOn[] sets up the session in the mode that E OS automatically marks, by new names, all the newly constructed intersections of the new fold-line and existing line segments.

(a) Step NewOrigami

1:

(b) Step 2: O2

(c) Step 4: O2!

Fig. 3.15: Cube root: Steps 1 - 4 (Step 3 is skipped)

2. HO["B","A"] We fold O1 to bring point B to point A by the valley-fold, constructing the two faces FEBC and EFDA. At this time, two intersections with the fold-line are constructed; one with AB and the other with CD. The intersections are marked as E and F, respectively. The system automatically generates the names E and F, and constructs points E and F. 3. HO["B","C"]!

80

3 Origami Geometry based on Huzita-Justin Folds

At Step 4, we have marked points E, F, G, H, and I. Crease GI is not visible in Fig. 3.15(c) since it is behind crease HI. Note that the output of Step 3 is omitted in the figure. Steps 3 and 4 are intended to construct crease HI (and GI). 4. NewPoint["P"->{Abscissa["I"]-1,Ordinate["I"]}] We construct a new point P at ( x − 1, y), where the location of point I is ( x, y). This command does not fold the origami, and hence does not increment the step-counter. 5. HO["HI","P"] We fold O4 by rule O4. By the above command, we construct a line that is perpendicular to HI, passing through point P. Origami O4 is made of two layers each of which consists of the two faces. We want to pick up only the upper layer. Therefore, the value of Handle in Step 5 is H.14 This can be effected by specifying HO["HI","P"]. We use the default value H of Handle in this command. As a consequence, in O5 , point B, H and C are moved over to E, I and F, respectively. At this point in our discussion, we realize that simply writing a point symbol may not be good enough for us to identify which (before or after the fold) point we refer to by that symbol. Some points move and the others remain at the same location. To circumvent this possible ambiguity, we introduce a new notation for referring to points. We attach the value of the step-counter as a subscript to the symbol. For example, Xi denotes point X at step i. This convention implies that X belongs to origami Oi . Hereafter, we use this notation whenever we want to avoid confusions.

(a) Step 4: NewPoint P

(b) Step 5: O4

(c) Step 7: UnfoldAll

Fig. 3.16: Cube root: Steps 4 - 7 (Step 6 is skipped)

6. UnfoldAll[]//Column We unfold O5 completely,15 and make it the original flat square sheet of paper, with the necessary marked points and creases on it. The execution 14 15

Point C will also do "//Column" is the Mathematica command to format a list to a single column table.

3.8 Examples

81

of the command UnfoldAll[], in this case, causes twice the execution of Unfold[]. The output of the first Unfold[] is omitted in Fig. 3.16. Point J appears in Fig. 3.16(c). It was created automatically when we executed the command NewPoint at Step 4, but we could not see it until Step 7 since it lies on the lower face layer. 8. HO["E","DC","J","KL",Mark->{{"EF","O"},{"GH","Q"}}] 9. Unfold[] Step 8 is the crucial step of this construction. We fold O7 to superpose point E and line DC, and point J and line KL, simultaneously. We find, in this case, only one fold-line that makes the superpositions possible. For the purpose of the later use, we mark the intersection of the fold-line and line E7 F7 with O, and the intersection of the fold-line and line G7 H7 with Q. As the result of the execution of the command at Step 8, we obtain origami O8 . We next unfold it to the original square as shown in Fig. 3.17(b). We have completed the construction of the cube root of 2.

(a) Step 8: O6

(b) Step 9: Unfold

Fig. 3.17: Cube root: Steps 8 and 9 Let us analyze Step 9 algebraically. The locations of points E and J are (2, 0) and (1, 2), respectively, and lines DC and KL are L 0 1 (−4) and L 1 0 (−3), respectively. Substituting these values for the coefficients of polynomial (3.27), we obtain the equation in τ from Eq. (3.26) 1 + 2τ 3 = 0, where τ is the slope of fold-line OQ. Solving this equation for τ we obtain three solutions  (−1)2/3 1 1 3 √ τ → − ,τ → − √ → − , τ 3 3 2 2 2 Only the second solution is in R. Since OQ ⊥ OJ,

82

3 Origami Geometry based on Huzita-Justin Folds

τ

|IO| = −1. |IJ|

Hence, we have

−1 √ 3 = 2. τ By the following geometric reasoning, we can see the above result more clearly. We first observe, by construction, IJO, IOQ and IQE are similar right triangles. Noting that |IE| = 2 and |IJ| = 1, we have |IO| =

|IO|3 =

|IO| |IQ| |IE| · · = 2. |IJ| |IO| |IQ|

(3.43)

From the equalities (3.43), we can easily see that with a 2k × 2k origami, the √ 3 program yields line segment IO of length k.

3.8.4 Trisection of an arbitrary angle We show the construction of a trisector of an arbitrary angle. It was one of the famous impossibility problems of the Euclidean geometry. We can see the difficulty of constructing the trisectors by the following reasoning. Since it is difficult to trisect the angle directly by the Euclidean tools, we try to find a bijection f that can relate the angle θ (-π ≤ θ ≤ π) to a quantity associated with a line segment. For example, we take f whose domain is restricted to [−π/2, π/2] to be sin. By the trigonometric expansion of sin(3θ ), we have sin(3θ ) = 3 sin(θ ) − 4 sin3 (θ ).

(3.44)

Given an angle 3θ, with the Euclidean tools it is easy to compute sin(3θ ), or equivalently to construct a segment whose length is sin(3θ ). Let k be sin(3θ ). and t be sin(θ ). Equation (3.44) becomes the cubic equation of t k = 3t − 4t3 , where − 1 ≤ t ≤ 1.

(3.45)

The problem of trisecting an angle now becomes finding the solutions of Eq. (3.45), given a constant k. If we had a method to find them by the Euclidean tools, then we could have θ = arcsin(t0 ), where t0 is one of the solutions in R. We learned from the result of Section 3.7 that we cannot solve Eq. (3.45 ) for t in arbitrary θ, i.e., in arbitrary closed interval −1 ≤ k ≤ 1, by the Euclidean tools. Therefore, we look into calculus (O [S], ξ ) to solve the cubic equation (3.45). To prove Theorem 3.4, we already used the fact that the trisection of an arbitrary angle is possible by HO. In the proof of Theorem 3.4, we only needed to trisect an arbitrary angle that is formed by HO-constructible lines. As we

3.8 Examples

83

see shortly, the trisection method by origami is able to trisect an arbitrary angle with no extra constraint. We use calculus (O [S], ξ ) with the initial set of points S = {A, B, C, D, E}, where E is an arbitrary point. Abe showed that by origami, we could trisect an arbitrary angle [1]. In the following, we show Abe’s construction. EosSession["Trisection"]; MarkOn[]; 1. NewOrigami[10]; NewPoint["E"->{7,10}] We create a 10 × 10 square origami O1 . Then, we construct a new point E at an arbitrary location on the origami, say at (7, 10) in this example. 2. HO["AE"]! We construct crease AE by the fold-and-unfolding operation. We first fold O1 along line AE, constructing origami O2 . Then, we unfold O2 . 4. HO["A", "D", Mark -> {"AD", "BC"}]! We next construct horizontal line F4 G4 . 6. HO["A","F",Mark-> {"AD","BC"}]! We construct another line H6 I6 parallel to FG. It is equidistant from lines FG and AB.

(a) Steps 2 and 3: O2!

(b) Steps 4 and 5: O2!

(c) Steps 6 and 7: O2!

Fig. 3.18: Trisection of ∠EAB: Steps 2 - 7

8-. HO["F","AE","A","HI"] 8. HO["F","AE","A","HI",Mark-> {"AB","DC"}, FoldLine->3] This step is the crucial one in the construction of trisectors. We use rule O6. In this case, we have three possible fold-lines, as shown in Fig. 3.19. When we fold O7 along one of the fold-lines, we can superpose F and AE, and A and HI, simultaneously. In this construction, we select the third (the rightmost) fold-line in Fig. 3.19, because the fold along it leads to the trisection of

84

3 Origami Geometry based on Huzita-Justin Folds

Three thick solid lines in each origami indicate the fold-lines. Fig. 3.19: Trisection of ∠EAB: Step 8-

∠EAB. The selections of the other fold-lines lead to different constructions, all of which are geometrically meaningful in the context of trisecting the angle. See Problem 3.20. Figure 3.20 shows the origami O8 after the fold along the selected fold-line.

Fig. 3.20: Trisection of ∠E1 A1 B1 : Step 8 At this point, we could say the construction is "completed", since the line passing through A(= A8 ) and A1 , and the line passing through H(= H8 ) and A1 are the desired trisectors. However, we keep folding O8 until the origami is completely unfolded to the original square sheet with the necessary important constructed points and creases. 8. DuplicatePoint[{"A"->"A2","H"->"H2","F"->"F2"}]! We duplicate the points onto the lower face layers. At this step, we have two layers. The duplicated points of A, H and F lying on the faces of the lower layer are marked with A2, H2 and F2, respectively. Then, we unfold O8 . Points A2, H2 and F2 appear on the surface. 10. HO["A2A"]! 12. HO["H2A"]!

3.8 Examples

85

(a) Step Unfold

9:

(b) Step 11: O1!

(c) Step 13: O1!

Fig. 3.21: Trisection of ∠EAB: Steps 9 - 13

Finally, we construct creases A2A and H2A.16 Lines A2 A and H2 A are the trisectors of ∠EAB. The synthetic geometry proof of the trisectors is straightforward. The key points in the construction are following: (i) Two lines FG and HI are parallel to lineAB. (ii) Line HI is equidistant to lines FG and AB. (iii) A2, F2 and H2 are the reflections of A, F and H across line KJ, respectively. (iv) We use rule O6. As in theexample of the cube root, we look for the congruent right triangles. We have

Fig. 3.22: Trisection of ∠EAB: Proof-support

F2 H2 A and A2 H2 A are congruent right triangles, and A2 H2 A and A2 L A are congruent right-angle triangles. 16 O RIKOTO parses the string as the segment from point A2 to point A, and segment from point H2 to point A, and then interpret them as the lines; the one passing through points A2 and A, and the other passing through points H2 and A.

86

3 Origami Geometry based on Huzita-Justin Folds

Hence, ∠A2 A L = ∠H2 A A2 = ∠F2 A H2.

3.9 Historical notes Huzita [14] and Justin [19] gave the set of basic fold rules, independently in the same proceedings.17 The same paper by Justin was published in the journal maintained by APMEP (Regional Association of Professors of Mathematics of Public Education of Alsace) and the IREM of Strasbourg, 1986 [18]. In the addendum at the end of Justin’s 1986 paper, he left a note that recent research by Huzita has just discovered a fifty-year-old article (i.e., Beloch’s result) that already gives the property of folding studied here.18 Although as publications, Huzita’s and Justin’s works are independent, there seemed to be some communications. By 1986, both of them knew that rule O6 could solve cubic equations. Huzita’s set consists of O1 - O6, whereas Justin has one more, i.e., O7. Huzita did not claim that his set is complete in the sense that no other combination of superpositions may be feasible. Huzita’s and Justin’s work revealed that one of the operations could not be emulated by a straightedge and a compass. Later studies showed that Huzita-Justin’s set of fold rules is more powerful than a straightedge and a compass. Therefore, the class of shapes formed by connecting the points of intersections is more abundant than that of shapes formed by a straightedge and a compass. The trisection of a given arbitrary angle is a famous example that is constructible by origami but not by a straightedge and a compass [22, 4]. Engeler studied "paper folding" as part of his study of the foundation of geometry [7]. His rule of paper folds consists of O1, O3 and O4. What is remarkablein his work is the algorithmic description of geometric construction using a formal language similar to a structured programming language. He also observed that the set of objects constructible by geometric tools (including paper folding) can form a field. In 2001, Geretschläger published a book on Mathematics of Origami [10]. He presented a set of seven basic folding operations, which is essentially the same as our O1 - O6. He splits O3 into two cases; the two given lines are parallel and nonparallel. He further showed that what is constructible by the Euclidean tool of geometric construction and by the set O1 - O6 is the same. 17

The proceedings of the First International Meeting of Origami Science and Technology [15] was apparently published after the meeting (since it contains the group photo of the participants). The meeting took place in 1989. The proceedings also contain the articles seminal and relevant to the topics of the meeting. According to the program printed in the proceedings, Justin contributed the paper to the proceedings but did not present his paper [19]. 18 Justin’s 1986 paper

3.9 Historical notes

87

The two examples of “cube root” and “trisection of an angle” in this chapter have an interesting history of√ the discovery. In 1936, Beloch showed a method of obtaining the length of 3 2 by a new method of folding, which we now call fold O6 [5]. Martin’s book√on Geometric Constructions describes an 3 example of obtaining a length of k for a given length k > 0 [20]. Once√ we 3 understand Beloch’s construction, it is easy to extend it to the case of k. Hull’s article [13] gives more historical accounts of origami and paper fold, especially the story that√ led Beloch to discover her method. 3 The construction of 2 solved another famous impossibility problems known as the problem of “Doubling the cube” posed in nearly 400 BC (see, e.g., paragraph no. 114 in [21] and https://www.wikiwand.com/en/Doubling_the_cube (as of October, 2018) for the story). In mathematical terms, the problem is as follows. Given a cube C whose side length is x, construct a new cube whose volume is twice√that of C . That is, to find a constant α such that (αx )3 = 2x3 . Obviously √ 3 3 α = 2. However, to find the actual length of 2 was not known at that time. Beloch essentially solved this famous problem. Trisection of an arbitrary angle by a straightedge and a compass had been a long-standing problem for over 2000 years. The authors of Abstract Algebra and Famous Impossibilities [4] wrote on page 1 - that The origins of Problem II (trisecting an arbitrary angle) are obscure. The Greeks were concerned with the problem of constructing regular polygons, and it is likely that the trisection problem arose in this context. This is so because of the construction of a regular polygon with nine sides necessitates the trisection of an angle. In 1837, Wantzel showed that it was impossible to trisect an arbitrary angle with a straightedge and a compass [22]. In 1980, H. Abe showed that by origami, he could trisect an arbitrary angle [1]. Abe’s method seemed to be so fascinating in the mathematical origami community that his method first appeared on the cover page of a popular Japanese mathematics magazine called "Sugaku seminar."19 Fushimi’s influential booklet [8] referred to Abe’s discovery before Abe’s work was printed. Martin’s book on geometric constructions, published in 1998, treated paper folding and gave an in-depth comparison with other geometric tools of constructions.

19

Su means the number in Japanese. The meaning of “su” has become well-known internationally, since the word su-doku is popular worldwide.

88

3 Origami Geometry based on Huzita-Justin Folds

3.10 Summary • We introduced a set HO of Huzita-Justin rules of folds as an extension of the basic rules of simple origami geometry EO discussed in the preceding chapter. • We gave rigorous definitions of Huzita-Justin rules with the applicability conditions. We showed that each of reformulated rule yields a finite number of fold-lines. • Rule O6 of HO gives a power of new geometric construction that is not available by the Euclidean tools. • We described an alternative single rule Og based on rule O6 and showed how each HO rule O1 - O7 is performed by the new Og. • We explained origami constructible numbers and their relation to fields and field extensions. • We gave three examples of origami constructions. The two of them, i.e., computing a cube root and finding trisectors of an arbitrarily given angle, employ rule O6.

Problems 3.1. Line coefficient constraints Prove that LCC ζ ( a, b) = true ensures that the representation of a line by the equation ax + by + c = 0 in variables x and y with a, b, c ∈ R is unique. 3.2. Perpendiculars of a line Let P and Q be points, and m be a line. Show the following.

Im⊥ = { | P   Q, P = Q, P ∈ m, Q ∈ m} 3.3. Equation representing a fold-line of rule O2 (1) Show that the following equation of an implicit function in variables x and y is the fold-line of rule O2 with parameters of points ( x1 , y1 ) and ( x2 , y2 ).

−2xx1 + 2xx2 + x1 2 − x2 2 + y1 2 − y2 2 − 2y(y1 − y2 ) = 0 (2) Show that to express the explicit form of the fold-line of fold O2, we need to have the case distinction of y1 − y2 = 0 and y1 − y2 = 0. 3.4. Equation representing fold-lines of rule O3 Given two distinct lines m = L a1 b1 c1 and n = L a2 b2 c2 , compute the algebraic representation of the fold-lines that rule O3 generates. (We recommend the use of a computer algebra system.)

3.10 Summary

89

3.5. Tangents of a parabola as fold-lines Prove Proposition 3.1. 3.6. Origami construction of a reflected point Suppose that we are given a line m ∈ ΛO and a point P(∈ m) ∈ ΠO . Prove that Pm ∈ ΠO . 3.7. Construction of duplicated points Show that for all P ∈ ΠO , all Q ∈ DuplicatePoint(P) is in ΠO . 3.8. Algebraic computation related to fold O5 (i) Assume that (1) P ∈ m where P is a point at ( x1 , y1 ) and m is an abstract line L a1 b1 c1 , and (2) −c1 + a1 x1 − 2a1 x2 − b1 y1 = 0. Show that Eq. (3.21) is reduced to a linear equation in τ. In other words, it shows that the coefficient of the term of degree 1 in τ of Eq (3.21) is not 0. 3.9. Algebraic computation related to fold O5 (ii) This problem is the supplement to the analysis of the rule O5 in Subsection 3.5.4. We superpose point P( x1 , y1 ) and m = L a1 b1 c1 by a fold-line that passes through point Q( x2 , y2 ). Let Ai be the coefficient of the monomial τ i for i = 0, 1, 2 of Eq. (3.21). Prove P ∈ m⇒¬( A1 = 0 ∧ A2 = 0 ∧ A3 = 0). 3.10. Algebraic computation related to fold O5 (iii) Since a parabola is similar to any other parabolas, the algebraic analysis of fold O5 can be simplified as far as the proof of Proposition 3.4 is concerned. We can take the unit parabola. We transform the given parabola by the composition of translation, rotation and uniform scaling, to the unit parabola y − x2 = 0. Suppose we are given points P(0, 1/4), Q(1/2, −2) and an abstract line m = L 0 1 (1/4). (1) Show that m and P defines the unit parabola. (2) Find the (abstract) fold-line  that passes through Q and brings P to m by folding along . There are two such fold-lines. 3.11. Algebraic computation related to fold O5 (iv) Prove Proposition 3.4 using the similarity property of parabolas. By the similarity property of parabolas, we can assume that the parabola defined by the superposition is a unit parabola. 3.12. Case analysis of the algebraic computation of rule O5 In the proof of Proposition 3.4, show that in case (ii), the tangent parallel to the y-axis is x = x2 if a1 = 1 ∧ b1 = 0 ∧ c1 = −2x2 + x1 . Otherwise, there is no tangent parallel to the y-axis.

90

3 Origami Geometry based on Huzita-Justin Folds

3.13. Non-incidence condition of rule O5 Show the following. If the non-incidence condition P ∈ m of rule O5 is removed and the incidence condition P ∈ m is imposed instead, then rule O5 is reduced to rule O1 or rule O4. 3.14. Algebraic computation related to fold O6 (i) Show that under the condition (3.28), polynomial A(τ ) of (3.27) is a non-zero polynomial. 3.15. Algebraic computation related to fold O6 (ii) Show that B(τ ) in the proof of Proposition 3.6 is a polynomial of degree 2 or 1 in τ with coefficients in R. 3.16. Non-degeneracy condition of rule O6 Show the following. If the non-degeneracy condition of rule O6 is changed to P = Q ∧ m = n, then rule O6 is reduced to rule O3. 3.17. Non-incidence condition of rule O6 Show the following. If the non-incidence condition P ∈ m of rule O6 is removed and P ∈ m is added, then rule O6 is reduced to rule O5 or rule O7. 3.18. Geometric configuration that yields only one fold-line in fold O6 Show an example of a sequence P, m, Q, n such that ξ (P   m, Q   n, φ6 , ψ6 ) yields a singleton set of a fold-line. We already saw one in Beloch’s method for finding a cube root. 3.19. Cube root construction: general case Show that if we start EosSession["Cube √ root"]; NewOrigami[k], 3 where k is a positive number, we can obtain k by the same program (replace only the first line by the above). 3.20. Further exploration of the construction of the trisectors Show the following. (1) If we select the first fold-line at Step 8- of the construction, we can construct the trisector of the supplementary angle of ∠EAB. (2) If we select the second fold-line at Step 8- of the construction, we can construct the trisector of the angle 2π − ∠EAB. 3.21. Algebraic proof of Lemma 3.2 Give the algebraic proof of Lemma 3.2. 3.22. Rational numbers are EO-constructible Prove that rational numbers are EO-constructible. 3.23. Construction of a regular heptagon by HO folds As a consequence of Theorem 3.4, a regular heptagon cannot be constructed by EO. However, thanks to fold O6, we can construct a regular heptagon

3.10 Summary

91

by HO. Figure 3.23(c) shows the constructed heptagon using HO rules together with the selections of the fold-lines at the steps where multiple possible fold-lines are generated (see Figs. 3.23(a) and 3.23(b)). Construct the origami regular heptagon by executing (by E OS or by hand) the following O RIKOTO program. EosSession["Regular heptagon"]; 1. NewOrigami[]; 2. HO["A","D",Mark->{{"AD","E"},{"BC","F"}}]! 4. HO["A","B",Mark->{{"CD","G"},{"FE","H"}}]! 6. HO["E","H",Mark->{{"EF","I"}}]! 8. HO["F","I",Mark->{{"AB","J"},{"CD","K"}}]! 10. HO["A","E",Mark->{{"KJ","L"}}]! 12-. HO["I","GH","L","HF"] 12. HO["I","GH","L","HF",FoldLine -> 3] 12. DuplicatePoint["I"->"M"]! 14. HO["HG","M",Mark->{{"BC","N"}}]! 16-.HO["G", "MN", "H"] 16. HO["G","MN","H",FoldLine->1] 16. DuplicatePoint["G"->"O"]! 18. HO["OH", Handle->"G"] 18. DuplicatePoint["G"->"P"]! 20. HO["PH",Handle -> "O"] 20. DuplicatePoint["O"->"Q"]! 22. HO["HG",Handle->"B"] 22. DuplicatePoint[{"O"->"R","P"->"S","Q"->"T"}]! EndSession[];

92

3 Origami Geometry based on Huzita-Justin Folds

(a) Fold-lines at step 12-

(b) Fold-lines at step 16-

(c) Heptagon

Note: The red lines are not part of the construction. Fig. 3.23: Heptagon construction by HO

References 1. H. Abe. Trisecting an Angle by Origami. Sugaku Seminar, page cover page, July 1980. http://www.phoenix-c.or.jp/ tokioka/n!/suu(underscore)semi.html. 2. R. C. Alperin. A Mathematical Theory of Origami Constructions and Numbers. New York Journal of Mathematics, 6:119–133, 2000. 3. R. C. Alperin. Axioms for Origami and Compass Constructions. Journal for Geometry and Graphics, 20(1):13 – 22, January 2016. 4. K. R. P. Arthur Jones, Sidney A. Morris. Abstract Algebra and Famous Impossibilities. Springer-Verlag, 1994. corrected second printing. 5. M. P. Beloch. Sul metodo del ripiegamento della carta per la risoluzione dei problemi geometrici. Periodico di Mathematiche, Serie IV, 16:104 – 108, 1936. 6. D. A. Cox. Galois Theory. Wiley-Interscience, 2004. 7. E. Engeler. Questions of Analysis, Geometry, and Algorithmics. Springer-Verlag, 1993. 8. K. Fushimi. Science of Origami. Nippon Keizai Shimbun Sha, October 1980. A supplement to Saiensu (in Japanese). 9. R. Geretschläger. Euclidean constructions and the geometry of origami. Mathematics Magazine, 68(5):357–371, 1995.

References

93

10. R. Geretschläger. Mathematics of Origami. Morikita Publishing Co., 2002. In Japanese, translation by Hidetoshi Fukagawa. 11. F. Ghourabi, T. Ida, H. Takahashi, M. Marin, and A. Kasem. Logical and algebraic view of huzita’s origami axioms with applications to computational origami. In Proceedings of the 22nd ACM Symposium on Applied Computing, pages 767–772. ACM Press, March 2007. 12. F. Ghourabi, A. Kasem, and C. Kaliszyk. Algebraic analysis of huzita’s origami operations and their extensions. In T. Ida and J. Fleuriot, editors, Automated Deduction in Geometry: 9th International Workshop, ADG2012, Edinburgh, UK, September 2012, Revised Selected Papers, volume Lecture Notes in Artificial Intelligence, vol. 7993, pages 143 – 160. Springer, 2013. 13. T. C. Hull. Solving Cubics With Creases: The Work of Beloch and Lill. The American Mathematical Monthly, 118(4):307 – 315, 2011. 14. H. Huzita. Axiomatic development of origami geometry. In H. Huzita, editor, Proceedings of the First International Meeting of Origami Science and Technology, pages 143 – 158, Ferrara, Italy, December 1989. 15. H. Huzita, editor. Proceedings of the First International Meeting of Origami Science and Technology, Ferrara, Italy, December 1989. 16. T. Ida. Theory of handcrafted and computational fold. In S. Freedman, editor, Workshop on Logic and Computer Science, Vuenna, Austria, March 24-25 2011. Kurt Gödel Research Center, University of Vienna. 17. M. INC. Maplesoft 2019, Maplesoft INC. 2019. 18. J. Justin. Résolution par le pliage de l’équation du 3e degré et applications géométriques. L’Ouvert, (42):9 – 19, 1986. 19. J. Justin. Résolution par le pliage de l’équation du 3e degré et applications géométriques. In H. Huzita, editor, Proceedings of the First International Meeting of Origami Science and Technolog, pages 251–261, Ferrara, Italy, December 1989. 20. G. E. Martin. Geometric Constructions. Springer-Verlag New York, Inc., 1998. 21. T. S. Row. Geometrical Exercises in Paper Folding. Addison and Co., Madras India, 1893. 22. P. L. Wantzel. Recherches sur les moyens de reconnaître si un problème de géométrie peut se résoudre avec la règle et le compas. Journal de Mathématiques Pures et Appliquées, 1(2):366–372, 1837. 23. Wolfram Research, Inc. Mathematica, 2019.

Chapter 4

Logical Analysis of Huzita-Justin Folds

Abstract In this chapter, we see Huzita-Justin folds HO from a logical point of view. We give the logical specification of HO as constraints among geometric objects of origami in the language of the first-order predicate logic. The logical specification is next translated to logical combinations of algebraic expressions, i.e., polynomial equalities, unequalities, and inequalities (if the notion of inequalities is involved). By constraint solving, we obtain solutions that satisfy the logical specification of the origami construction problem. The solutions include fold-lines along which origami has to be folded. The obtained solutions, both in numeric and symbolic forms, make origami computationally tractable for further treatments, such as visualization and automated verification of the correctness of the origami construction.

4.1 Introduction In this chapter, we formalize the rules of HO (Huzita-Justin folds [4], [5]) in a fragment of the first-order predicate logic. We rest on the analytic geometry rather than on the synthetic approach, as we are interested in the computational construction and automated verification in the origami geometry. In particular, we rely on algebraic methods for stating and analyzing geometric objects and their properties. For verification of the origami geometry, we employ the theories of Gröbner bases as implemented in computer algebra systems.As for the foundation of origami geometry, we believe that to the extent of appreciating the computational origami discussed in this monograph, we only need to stay at the level of high school mathematics. The logic plays the framework in relating the algebraic and classical geometric views, especially when we consider the issues of the systematic implementation of computational origami. We formulate the origami construction in the first-order predicate logic, first. Then, we describe the origami folds in terms of algebraic equalities, unequalities, and inequalities by © Springer Nature Switzerland AG 2020 T. Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation, https://doi.org/10.1007/978-3-319-59189-6_4

95

96

4 Logical Analysis of Huzita-Justin Folds

translating the logical representations to algebraic ones. The numeric solutions of the algebraic equations enable the visualization of origami. Moreover, we can feed the algebraic representation as the input to the automated theorem prover to verify the geometric properties of the construction. This automated proving is the topic of the next chapter.

4.2 Huzita-Justin rules restated To discuss Huzita-Justin rules from the logical point of view, we introduce a many-sorted first-order language L over the signature consisting of a set P of predicate symbols, a set F of function symbols, and a set V of variables. The set P includes the equality symbol. The equality has the property of reflexivity and substitutivity. The set V is the union of sets VΠ , VL , VC , VR , and VQ , each representing a set of variables of sort Points, of sort Lines, of sort complex numbers, of sort real numbers, and of sort rational numbers, respectively. A term t of L is defined by t ::= v | f (t), where v ∈ V and f ∈ F . The sequence t in f (t) can be empty, in which case f (t) is written as f . A term f (t) is a generic notation of a function of t. We liberally use the infix notations for arithmetics such as +, −, × and /. Thus, polynomials with coefficients of sorts C, R, and Q are in the syntactic category of the term. An atomic formula A of L, or atom for short, is defined by A ::=  | p(t), where p ∈ P .

 is a special symbol whose meaning is truth value true. We allow infix predicate symbols = and ∈ as equality and incidence relation symbols. We also use their negation = and ∈. A formula in L is a statement of the following form: ∀ x1 : τ1 · · · ∀ xi−1 : τi−1 ∃ xi : τi · · · ∃ xn : τn . Φ[ x1 , . . . , xn ],

(4.1)

where • for all 1 ≤ i ≤ n, xi in xi : τi is a sequence of variables of sort τi , and • Φ[ x1 , . . . , xn ] is a quantifier-free formula Φ with occurrences of variables x1 , . . . , x n . A quantifier-free formula Φ is as follows. Φ ::= A | Φ ∧ Φ | Φ ∨ Φ | ¬Φ | Φ⇒Φ.

(4.2)

4.2 Huzita-Justin rules restated

97

The formula (4.1) is a more specific class of logical formulas than a class of formulas in prenex normal form. Using the language L, we write down the rules of HO. The formulas that we give in the following serve to bridge sentences in the natural language and algebraic expressions. In the following description of rules O1 - O7, all the given points are on an origami, and all the given lines pass the boundary or interior of the origami. We denote by O the origami subjected to folding. Rule O1 Suppose we are given two distinct points P and Q. We can apply rule O1 to fold the origami along the line that passes through P and Q. Logically, we can rephrase this rule as the statement about the existence of the fold-line, which passes through the two given points, and along which we can fold the origami O . Namely, we have

∃ : Lines . O1Q( P, Q, ), where O1Q( P, Q, ) P ∈  ∧ Q ∈  ∧ P = Q.

(4.3)

P and Q are free variables whose values are obtained from the environment in which Eq.(4.3) is interpreted. We can treat the rest of the rules, i.e., O2 - O7, similarly. Readers can easily understand the formulas (4.3) - (4.9) by comparing the summary of the fold rules in Table 3.1 at page 51. Rule O2 Suppose we are given two distinct points P and Q. By rule O2, we can fold O along the line such that we superpose points Pand Q.

∃ : Lines . O2Q( P, Q, ), where O2Q( P, Q, ) P = Q ∧ P = Q.

(4.4)

Rule O3 Suppose we are given two distinct lines m and n. By rule O3, we can fold O along line  such that we superpose m and n.

∃ : Lines . O3Q(m, n, ), where O3Q(m, n, )m = n ∧ m = n.

(4.5)

Rule O4 Suppose we are given a line m and a point P. By rule O4, we can fold O along line , such that we properly superpose line m onto itself and let  pass through P.

98

4 Logical Analysis of Huzita-Justin Folds

∃ : Lines . O4Q(m, P, l ), where O4Q(m, P, l ) P ∈  ∧  ⊥ m.

(4.6)

Rule O5 Suppose we are given a line m, a point P not on m and a point Q. By rule O5, we may fold O along line , such that we superpose P and m and let  pass through Q.

∃ : Lines . O5Q( P, m, Q, ), where O5Q( P, m, Q, ) P ∈ m ∧ Q ∈  ∧ P ∈ m. (4.7) Rule O6 Suppose we are given a pair of a line m and a point P not on m, and a pair of a line n and a point Q not on n, where m and n are distinct or P and Q are distinct. By rule O6, we may fold O along line , such that we superposes P and m, and Q and n, simultaneously.

∃ : Lines . O6Q( P, m, Q, n, ), where O6Q( P, m, Q, n, ) P ∈ m ∧ Q ∈ n ∧ ( P = Q ∨ m = n)∧ P ∈ m ∧ Q ∈ n.

(4.8)

Rule O7 Suppose we are given a pair of a line m and a point P not on m , and a line n. By rule O7, we may fold O along a line , such that we superpose P and m and to properly superpose n with itself.

∃ : Lines . O7Q( P, m, n, ), where O7Q( P, m, n, ) P ∈ m ∧  ⊥ n ∧ P ∈ m.

(4.9)

4.3 Algebraic interpretation In this section, we describe the translation of the logical formulas of HO rules to algebraic expressions. For this purpose, we use a notation that is often employed in defining the operational semantics of programming languages. Let ρ be an environment that maps variables to the values they are bound to. In this chapter, we treat variables of sort Points and of sort Lines. Objects in the origami geometry are those of sorts Points and Lines. To describe the properties of geometric configurations we use values of Q, R and C. Geometric objects of sorts Points and Lines are the only structured data that have to be transformed in the translation of logical formulas to algebraic expressions. For a point P at location ( x, y) in the Cartesian co-

4.3 Algebraic interpretation

99

ordinates, we have ρ(P) = ( x, y). For a line m, ρ(m) = Lη a b c, where the value of m is an abstract line Lη a b c. Since we want to have only equalities as the result of the translation, we change the representation of the abstract line as follow:

Lη λ a b c x y . ( ax + by + c = 0) ∧ ζ η ( a, b),

(4.10)

where ζ η ( a, b)(−1 + b)b = 0 ∧ (−1 + a)(−1 + b) = 0 ∧ η (1 + a2 ) − 1 = 0. The last equality is the result of the transformation of the unequality 1 + a2 = 0 by Rabinowitsch trick [6]. See also Subsubsection of Atomic formula, for the use of Rabinowitsch trick. We introduce the fresh variable η for each construction of the line denoted by this representation. The expression Lη a b c x y plays the same role as L a b c x y except that the former reduces to the conjunction of the equalities only; the last equality contains the fresh slack variable η. Symbol ρ denotes a function from a set of variables to a set of terms, but, as a map, it can be extended by writing ρ1 ρ  {v → t} , where v is a variable and t is a term.

(4.11)

Then, ρ1 (v) = t. Initially, we assume that ρ0 (A) = (0, 0), ρ0 (B) = (1, 0), ρ0 (C) = (1, 1), ρ0 (D) = (0, 1), and ρ0 ( P) = “undefined” for any other variable P of sort Points and ρ0 (m) = “undefined” for any other variable m of sort Lines. Note that in (4.11), we always choose a fresh variable v, so that ρ0 (v) is “undefined.”1 The translation is defined by a function A[[ · ] ρ that maps the formulas of rules O1 - O7 to a system of polynomial equations. Rules O1 - O7 are stated in a more specific form.

∃ : Lines . Φ[u1 , . . . , uk1 , ], where Φ is a quantifier-free formula, u1 , . . . , uk1 correspond to the input parameters of each HO rule, and  is the fold-line.As for the quantifier-free formula Φ, we use the conjunctive normal form (abbreviated to CNF) , i.e., ki n  

Li,j

(4.12)

i =1 j =1

1

In the implementation of E OS, we add a new numeral suffix to each variable names, such as v1, v2, , . . ..

100

4 Logical Analysis of Huzita-Justin Folds

where Li,j is a literal. A literal is an atom or a negation of an atom. It is often convenient to use a set notation k1 

L1,j , . . . ,

j =1

kn 

Ln,j



j =1

to represent formula (4.12). We liberally interchange the notations between the two representations. According to the the abstract syntax (4.2), we define A[[Φ] ρ in the following. Existentially quantified formula Φ[u]

A[[∃ : Lines . Φ[u]]] ρ  A[[Φ[u]]] (ρ  { → Lη a b c}) where η, a, b and c are fresh variables. (4.13) Formula  Formula  represents trruth value true in our semantics. In the equational setting, the equation 0 = 0 is used to represent true.

A[[ ] ρ  {0 = 0} Atomic formula A We give the algebraic semantics of an atomic formula. The result of the translation of a logical formula is a set of polynomial equations with the coefficient domain of rational functions. We only treat a class of atomic formulas that are translated to the set of polynomial equations. For the construction of geometric objects, we solve the systems of the polynomial equations, and for verifying the geometric properties that we claim to hold, we use the method of Gröbner basis computation[2, 1]. We discuss Gröbner basis method in Chapter 5. We treat the geometric relations expressed in the inequalities by the different computing methods based on the cylindrical algebraic decomposition [3]. To deal with the unequality (=), we transform the unequality to the equality using Rabinowitsch trick.2 Let p be a polynomial. We transform an unequality p = 0 to η p − 1 = 0 by introducing a fresh slack variable η. Thus, we only have equalities at the end of the logical to algebraic transla2

“Unequality” is the negation of equality adopted in Mathematica, and we use this terminology.

4.3 Algebraic interpretation

101

tion. Below we give the concrete rules of the translation of literals.

A[[ A] ρ 



ei ≡

i

where ei 

⎧ ⎨e



{ei },

(4.14)

i

if ei  pi = 0,

i

⎩η p − 1 i i

if ei  pi = 0.

Negation of an atomic formula ¬ A Taking into account the transformation of unequalities to equalities using Rabinobitsch trick and from the translation (4.14), we can translate the negation of an atom to the disjunction of equalities. Namely, we have

A[[¬ A] ρ 

 i

f i = {∏ pi = 0}, where f i  pi = 0.

(4.15)

i

Conjunctive formula The next syntactic category given in (4.2) is the conjunction of formulas. Let Φi , i = 1, . . . be a disjunction of literals, Then, we have the following algebraic transformation.

A[[



Φi ] ρ 

i



A[[Φi ] ρ

(4.16)

i

Disjunctive formula (a disjunction of literals) We deal with only the disjunction of literals since the disjunctive formula occurs only as a sub-formula of CNF. We define the translation of the disjunctive formula, using a binary operator ⊗ on sets of equations as follows. ⎞   ⎛  i

{ p i = 0} ⊗ ⎝

 j

{ q j = 0} ⎠ 



{ p i q j = 0}.

i,j

Let L be a literal and Φ be a disjunction of literals.

A[[ L ∨ Φ] ρ  A[[ L] ρ ⊗ A[[Φ] ρ

(4.17)

102

4 Logical Analysis of Huzita-Justin Folds

4.4 Examples In this section, we give several examples that are often used in origami geometry.

4.4.1 Translation of atomic formulas to algebraic expressions Equalies of lines and of points Let ρ ⊇ { P → ( x1 , y1 ), Q → ( x2 , y2 )}.

A[[ P = Q] ρ ≡ { x1 − x2 = 0, y1 − y2 = 0} The unequality is translated to

A[[ P = Q] ρ ≡ {(η1 ( x1 − x2 ) − 1)(η2 (y1 − 22 ) − 1) = 0} The equality of lines are straightforward since we have the standard representation of lines. Let ρ ⊇ {m → L η1 a1 b1 c1 , n → L η2 a2 b2 c2 }.

A[[m = n] ρ ≡ { a1 − a2 = 0, b1 − b2 = 0, c1 − c2 = 0} ∪ ζ η1 ( a1 , b1 ) ∪ ζ η2 ( a2 , b2 ) We leave the algebraic translation of unequality of lines to the readers’ exercise (see Problem 4.1). Incidence and non-incidence The statement that a point P lies on a line m is translated to the following algebraic form. Let ρ ⊇ { P → ( x, y), m → Lη a b c}.

A[[ P ∈ m] ρ ≡ Lη a b c x y The non-incidence property is translated to

A[[ P ∈ m] ρ ≡ {η2 ( ax + by + c) − 1 = 0} ∪ ζ η ( a, b) Reflection Recall that we defined the reflection of both points and lines. We know from high school mathematics that the reflection of a point P( x, y) across line  = L a b c, is the point at   2av 2bv ,y − x− , where w = a2 + b2 and v = ax + by + c. w w Let Q( x2 , y2 ) be the point of the reflection. The relation between point P and Q are expressed as the equation P = Q. Hence, we have the algebraic

4.4 Examples

103

translation as follows. Let ρ ⊇ { P → ( x1 , y1 ), Q → ( x2 , y2 ),  → Lη a b c}.

A[[ P = Q] ρ ≡  x1 − 2av w = x2 , y1 −

2bv w

= y2



∪ ζ η ( a, b)

where wa2 + b2 and vax1 + by1 + c. The reflection of a line m across a line , i.e., m , is a line. Let n be the result of the reflection of m across . Suppose ρ ⊇ { → Lη a b c, m → Lη1 a1 b1 c1 , n → Lη2 a2 b2 c2 }. Then, we have the following translation to the algebraic expressions.

A[[m = n] ρ ≡



a1 a2 − b2 + 2abb1 = a2 ,

b1 b2 − a2 + 2aa1 b = b2 , 2

2 −c1 a + b + 2aa1 c + 2bb1 c = c2 ∪ ζ η ( a, b) ∪ ζ η1 ( a1 , b1 ) ∪ ζ η2 ( a2 , b2 )

(4.18)

We leave it an exercise to derive this relation (see Problem 4.2). Other atomic formulas The translation of some atomic formulas gives rise to inequalities. For example, OnSegmentQ(R, PQ) which states that point R is on segment PQ is translated to the conjunction of inequalities.

4.4.2 Translation of HO rules to algebraic expressions We are now ready to translate HO rules written in the natural language to algebraic expressions. We are in a position to perform a mathematical analysis of origami once we have algebraic expressions about the origami folds. The study will lead us to attain refined visualization of origami and verification of geometric properties of origami. All the HO rules are represented logically by the formulas of the form

∃ : Lines.OiQ( a, ), for i = 1, . . . , 7 In this subsection, we treat rules O1, O2, O4, and O6 as the subjects of the algebraic translation. We treat only four of the seven rules, as we use them

104

4 Logical Analysis of Huzita-Justin Folds

in the example of trisecting an angle. We leave the treatment of the other three HO rules to the readers as an exercise (see Problem 4.6). What we explain in this subsection are briefly covered in Chapter 3. What is new in this subsection is the streamlined translation from the statements in the natural language to the algebraic expressions. In other words, by the treatment in this subsection, we concisely describe how we implement HO rules in E OS. Thus, we describe, in essence, the compiler of language O RIKOTO. Rule O1 Suppose we apply rule O1 to the given origami O in the environment ρ. Namely, given points P( x1 , y1 ) and Q( x2 , y2 ), we fold O along the fold-line that passes through P and Q. From formula (4.3), we have

∃ : Lines . O1Q( P, Q, ). Expanding O1Q( P, Q, ), we obtain

∃ : Lines . P ∈  ∧ Q ∈  ∧ P = Q. By the algebraic translation (4.13) in the environment ρ ⊇ { P → ( x1 , y1 ), Q → ( x2 , y2 )} , we have

A[[∃ : Lines . P ∈  ∧ Q ∈  ∧ P = Q] ρ ≡ A[[ P ∈  ∧ Q ∈  ∧ P = Q] ρ ≡ { ax1 + by1 + c = 0, ax2 + by2 + c = 0} ∪ ζ η ( a, b)∪ {(η1 ( x1 − x2 ) − 1)(η2 (y1 − y2 ) − 1) = 0} where ρ = ρ  { → Lη a b c}. Rule O2 The derivation of the algebraic expressions that determine the fold-line of rule O2 is similar to the case of rule O1. By the algebraic translation (4.13), in the new environment ρ ⊇ { P → ( x1 , y1 ), Q → ( x2 , y2 )} , we have

4.4 Examples

105

A[[∃ : Lines . O2Q( P, Q, ]] ρ ≡   A[[O2Q( P, Q, )]] (ρ   → Lη a b c ) ≡ A[[ P = Q, P = Q] (ρ  { → Lη a b c}) Rule O4 We start with the following formula:

∃ : Lines . O4Q(m, P, ). We assume the following environment ρ before the translation:   ρ ⊇ m → Lη a1 b1 c1 , P → ( x1 , y1 ) . Then, we have

A[[∃ : Lines . O4Q(m, P, )] ρ.

We can obtain the rest of the derivation of the algebraic expression by the use of Eq. (4.6) and the answer of Problem 4.3. Rule O6 The translation to the algebraic expression is straightforward by the use of Eq. (4.8).

4.4.3 Angle trisection by Abe’s method revisited In this subsection, we return to the example of trisecting an angle discussed in Subsection 3.8.4. We consider this subject as an example of origami construction as algebraic constraint solving. We recall the construction of trisecting an angle in Subsection 3.8.4 of Chapter 3. We needed three parallel lines to construct the trisectors. The middle line is equidistant from the other two lines. The following program performs a variant of the trisector construction and uses three parallel lines that are different from the ones in Subsection 3.8.4. Line HI is equidistant from lines FG and AB, but the distance between the two lines is set arbitrary. EosSession["Trisection of angle EAB"]; MarkOn[]; 1. NewOrigami[10]; NewPoint["E" -> {4.5, 10}] 2. HO["AE"]! 3. NewPoint["F"->{0,7}] 4. HO["AD","F",Mark->{{"CB","G"}}]! 6. HO["A","F",Mark->{"AD","BC"}]! 8-. HO["F","AE","A","HI"]

106

4 Logical Analysis of Huzita-Justin Folds

8. HO["F","AE","A","HI", Mark->{"AB","DC"},FoldLine->3] 9. DuplicatePoint[{"A"->"A2","H"->"H2","F"->"F2"}]! 10. HO["AA2"]! 12. HO["AH2"]! EndSession[]; This program returns the following origami with the trisectors of A A2 and A H2 as the creases. The readers can easily prove that this construction yields the same trisectors as those obtained in Subsection 3.8.4(see Problem 4.7). When we execute the command NewOrigami[10], the initial environment

Fig. 4.1: Trisectors of ∠EAB

ρ0 = {A → (0, 0), B → (10, 0), C → (10, 10), D → (0, 10)} is created. We next look at the command of Step 2. It is the command of fold O1. Using formula (4.3), we can find the fold-line. We instantiate P and Q of formula (4.3) to point A and E, respectively. Then, we translate statement O1 to the formula ∃ : Lines . A ∈  ∧ E ∈  ∧ A = E. The formula A ∈  ∧ E ∈  ∧ A = E is then translated in the environment   ρ = ρ0  E → (4.5, 10), 1 → L η1 a1 b1 c1 , to

{c1 = 0, 4.5 a1 + 10 b1 + c1 = 0} ∪ ζ η1 ( a1 , b1 ),

(4.19)

after simplifying the equality for checking the non-degeneracy A = E. Solving the system of the equations (4.19) for variables a1 , b1 and c1 , we obtain the solution { a1 → −2.22, b1 → 1.0, c1 → 0} .

4.4 Examples

107

From this solution, we obtain ρ(1 ) = Lη (−2.22) (1.0) 0. This fold-line is used to perform the fold at Step 2. The next command at Step 3 is to construct a new point F. This changes the environment ρ to ρ  { F → (0, 7)}. By the next command at Step 4, we fold origami O3 along the fold-line determined by

∃ : Lines . O4Q(AD, F, ).

(4.20)

Formula (4.20) is translated to the (simplified) set of equations

{7b2 + c2 = 0, a2 = 0} ∪ ζ η2 ( a2 , b2 ).

(4.21)

By solving the system of equations (4.21) for variables a2 , b2 and c2 , we obtain the solution { a2 → 0.0, b2 → 1.0, c2 → −7.0} , and fold-line ρ(2 ) = L η2 (0.0) (1.0) (−7.0). We fold origami O4 along fold line ρ(2 ) and obtain origami O5 . The additional parameter of the command at step 4, i.e., Mark -> {{"CB", "G"}}, lets the system to mark the intersection of fold-line ρ(2 ) and line CB with G. Then, we unfold origami O4 . The origami that ensues, i.e., O5 , is shown in Fig. 4.2(a). At Step 6, we fold origami O5 by rule O2 and then unfold origami O6 . Rule O2 applied at Step 6 is translated to the following formula.

∃ : Lines . A = F ∧ A = F and then to the (simplified) set of equations   2a3 c3 = 0, 7( a23 + b32 ) + 2b3 c3 = 0 ∪ ζ η3 ( a3 , b3 ). By solving the system of equations, we obtain

{ a3 → 0.0, b3 → 1.0, c3 → −3.5} , and fold-line ρ(3 ) = L η3 (0.0) (1.0) (−3.5). Along ρ(3 ), we fold origami O5 , to obtain O6 . This fold O2 is immediately followed by the unfold of O6 . Thus, we obtain O7 , which is shown in Fig. 4.2(b). We learned that the command, which is the application of rule O6, at Step 8 plays a crucial role in trisecting the angle. This command (disregarding the named arguments) corresponds to the formula

∃ : Lines . O6Q( F, AE, A, H I, ).

(4.22)

Formula (4.22) is translated to the following (simplified) set of equations.

108

4 Logical Analysis of Huzita-Justin Folds

(a) Crease FG perpendicular to AD at Step 5

(b) Lines AB and FG are parallel and equidistant from HI at Step 7

Fig. 4.2: Angle trisection: Steps 5 and 7 (Step 6 is skipped)



7a24 − 7b42 − 2b4 c4 − 2.22(−2a4 (7b4 + c4 )) = 0,  − 3.5( a24 + b42 ) − 2b4 c4 = 0 ∪ ζ η4 ( a4 , b4 )

(4.23)

Solving the system (4.23) for variables a4 , b4 and c4 , we obtain three solutions for { a4 , b4 , c4 }. Accordingly, we have three fold-lines of ρ(4 ):   L η4 (−1.28) (1.0) (−4.60), L η4 (0.142) (1.0) (−1.79), L η4 (2.48) (1.0) (−12.6) Note that the expressions of the exact values of a4 , b4 and c4 are very complicated in general as we saw in Subsection 3.5.6. The above values are approximations. We need the assistance of a computer algebra system in order to obtain them, generally. Since we know that the third solution of 4 is the one that we want, we added the named argument FoldLine->3 in the subsequent command, i.e., at Step 8. We show the result of the command at Step 8 in Fig. 4.3(a). In Fig. 4.3(b), we show the final result of the execution of the program. Two points A2 and H2 designate the trisectors AA2 and , AH2, respectively. In the program, we have four more steps. They construct the creases of the trisectors. However, they are unnecessary when we are content with finding the trisectors.

4.5 Summary • We formalized Huzita-Justin fold rules using a fragment of many-sorted first-order predicate logic, and showed that the formalization has led to the actual construction of origamis on the computer.

4.5 Summary

109

(a) The result of fold O6 at Step 8

(b) The result of Unfold at Step 9

Fig. 4.3: Trisectors AA2 and AH2 • We first give a formulation of Huzita-Justin rules in language L of the employed logic. Then, we gave the algebraic interpretation of this logical formulation. • As an example, we took Abe’s method of constructing an angle trisection by origami and described in detail how the O RIKOTO program of an angle trisection is translated to a set of polynomial equations, solved and used for the computational construction of the trisectors.

Problems 4.1. ) Algebraic translation of the line unequality Translate

A[[m = n] ρ, where ρ ⊇ {m → L η1 a1 b1 c1 , n → L η2 a2 b2 c2 }. to an algebraic translation. 4.2. Algebraic translation of the line reflection Derive the algebraic translation of (4.18), using the translation (4.18). 4.3. Algebraic translation of the line perpemdicularity Let ρ ⊇ {m → L η1 a1 b1 c1 , n → L η2 a2 b2 c2 }. Translate A[[m ⊥ n] ρ into an algebraic expression. 4.4. Algebraic translation of the line segment bisector Let ρ ⊇ { P → ( x1 , y1 ), Q → ( x2 , y2 ),  → Lη a b c}. Translate A[[bisector( P, Q, )]] ρ into an algebraic expression. 4.5. Algebraic translation of the perpendicular bisector Let ρ ⊇ { P → ( x1 , y1 ), Q → ( x2 , y2 ),  → Lη a b c}. Translate A[[perp-bisector( P, Q, )]] ρ into an algebraic expression.

110

4 Logical Analysis of Huzita-Justin Folds

4.6. Algebraic translation of HO rules Translate HO rules O3, O5 and O7 as we did in Subsection 4.4.2. 4.7. Another construction of the angle trisection Show that the method of construction of the trisectors in Subsection 4.4.3 yields the same pair of the trisectors as the one constructed in Subsection 3.8.4.

References

111

References 1. B. Buchberger. Groebner-Bases: An Algorithmic Method in Polynomial Ideal Theory. In Multidimensional Systems Theory - Progress, Directions and Open Problems in Multidimensional Systems, chapter 6, pages 184–232. Copyright: Reidel Publishing Company, Dordrecht - Boston - Lancaster, The Netherlands, 1985. 2. B. Buchberger. Introduction to Gröebner Bases, pages 3–31. Cambridge University Press, 1998. 3. G. E. Collins. Quantifier elimination by cylindrical algebraic decomposition. In H. Brakhage, editor, Automata theory and formal languages, volume 33 of Lecture Notes in Computer Science, pages 134–183, 1996. 4. H. Huzita. Axiomatic development of origami geometry. In H. Huzita, editor, Proceedings of the First International Meeting of Origami Science and Technology, pages 143 – 158, Ferrara, Italy, December 1989. 5. J. Justin. Résolution par le pliage de l’équation du 3e degré et applications géométriques. L’Ouvert, (42):9 – 19, 1986. 6. J. L. Rabinowitsch. Zum hilbertschen nullstellensatz. Mathematische Annalen, 102(1):520–520, 1929.

Chapter 5

Verification of Origami Geometry

Abstract We discuss the verification in the origami geometry. In the preceding chapters, we discussed the origami construction using origami language O RIKOTO. During the construction, the logical formulas that describe the geometric configuration are formed and stored. We use those formulas for verifying the geometric properties of the constructed origami. In this chapter, we detail the process of verification. We give three examples of the application of our verification method. One is a simple geometric shape to explain the principle of verification using algebraic methods. The other two are the proofs of a regular pentagon construction and the generalized Morley’s theorem. Through the three examples, we see the computationally streamlined geometric construction and verification.

5.1 Introduction In this chapter, we discuss the verification in the origami geometry. By verification, we mean the proving of the correctness of the origami construction for the geometric propertied we specify. That is, we prove that the constructed origami has the intended geometric property. As an example, let us recall that in Chapter 2, we treated the construction of a regular pentagon. After the construction, we wanted to prove that what we had constructed by several folds, is indeed a regular pentagon. There are several ways to prove the correctness of the construction. We explained the correctness in the traditional proof method of the combination of synthetic and analytic geometries. Since we construct a geometric object by computer software, we naturally take an interest in automated (= computer-assisted) verification. With computational origami, such as provided by E OS, we can retain all the data that are generated during the construction. We can then make use of those data for the subsequent verification. © Springer Nature Switzerland AG 2020 T. Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation, https://doi.org/10.1007/978-3-319-59189-6_5

113

114

5 Verification of Origami Geometry

We need to pay equal attention to the process of the construction and the completed origami artwork. We think about the algorithmic aspects of the entire development. As we have seen, we specify the algorithm as the sequence of O RIKOTO commands. E OS executes the commands, step by step, and produces the final origami. To verify the geometric properties, we first need to analyze this algorithmic behavior of the construction. We then explain, based on the analysis, our method of proving the geometric properties of the constructed origami.

5.2 Reasoning about origami In this section, we are concerned with the entire process of origami construction and verification.

Algorithm of origami construction and proving We use i = 1, 2, . . . , k to index the steps of the origami construction. Let Oi be the origami at Step i of the construction, and Φi be the geometric property associated with Oi . Origami Ok is the final product of the construction. The origami process is abstractly described by Algorithm Ori.

Algorithm Ori 1. [Initialize] Let i := 1; Define initial origami O1 ; Φi :=  ; (* corresponding to NewOrigami[..] *) i := i + 1; 2. [Construct] (* We construct O2 , . . . , Ok *) While (i ≤ k) do Φ := ∃ : Lines . pi (Oi−1 , ai−1 , ); (* Step i command*) Prove Φ; (* When the proof is successful,  is bound to a fold-line. *) Fold Oi−1 along  and obtain Oi ; Compute Φi using Φ, , Oi−1 and Oi ; i := i + 1; 3. [Form a goal] Define the property Ψ that we want to prove; (* We call Ψ goal. *)

5.2 Reasoning about origami

115

4. [Add assumptions, if necessary] Define an additional assumption χ, if we need it to prove Ψ; 5. [Prove] Prove the proposition

∀ ( Φ1 ∧ · · · ∧ Φ k ∧ χ ⇒ Ψ ) ; (see Subsection 5.4 for detail) Note: For simplicity, all the commands in Algorithm Ori are considered to invoke folding. Hence, the auxiliary operations are not included in the commands. We may consider an auxilliary operation combined with the preceding command that invokes folding. Reasoning about the origami consists of the above five phases. The first phase is the initialization when we create a sheet of origami of specified size, shape, and colors. The second is the construction phase. It is the iteration of folds, unfolds, and auxiliary operations for manipulating points. We have seen the auxiliary operations such as DuplicatePoint and NewPoint. We summarize the auxiliary operations that we use in this monograph in Appendix B.2. The formula ∃  : Lines .pi (Oi−1 , ai , ) describes the operation of finding the fold-line, along which the origami Oi−1 is folded. Since it is a proposition, what we do is to prove whether it is true. We also say that we solve the formula for Lines. Computationally, to obtain the truth value of the statement is not all that we want to have. The real valuable result is the value bound to the existential variable  during the proof. Recall that the unfolding operation is also a particular kind of fold operation. It is not undoing the immediately preceding fold. By unfold, we fold along the same fold-line as the one of the previous fold in the opposite direction of face rotation. The parameter sequence ai is a sequence of points and lines. Each Φi+1 is a formula of the first-order predicate logic describing the geometric properties of Oi+1 relative to Oi . The third and fourth phases are usually combined into the phase of [Forming a theorem]. In some geometric constructions, additional conditions may be necessary to prove goal Ψ. A non-degeneracy condition in some shapes is such an example. In Morley’s triangle that we discuss in Section 5.6, we see another example of conditions to prove Morley’s Theorem (see Historical notes of this chapter). The last phase deals with theorem proving. Since we are interested in automated theorem proving, we use appropriate algebraic methods. The wellknown methods are Gröbner basis computation method (GB) [4, 5] and the cylindrical algebraic decomposition (CAD) method [8], and Wu-Ritt method of characteristic set [20]. In this monograph, the proofs that we show use GB. E OS uses CAD, too as CAD (and GB) are incorporated to Mathematica 12 as built-in functions.

116

5 Verification of Origami Geometry

In the following, we see an example of computing each Φi at the construction phase.

5.3 A simple example of construction

(a) O1

(b) O2

(c) O3

(d) O4

Fig. 5.1: Construction of origami O4 Using a simple instructive example of construction, we examine how Algorithm Ori works. Let us see the sequence of the construction steps of the example in Fig. 5.1. We create a square sheet of origami O1 at Step 1. At Step 2, we fold origami O1 to bring point A onto point D. The result of Step 2 is origami O2 . Then, we unfold origami O2 . We next take a closer look at Φ1 - Φ4 . The subscript i attached to the symbols denoting the geometric objects shows that the objects belong to origami Oi . For example, point Ai denotes point A that belongs to Oi . Φi describes the geometric configuration related to Oi and the command to be executed at Step i. Φ1 is related to command NewOrigami[ ], and is treated as  . Φ2 - Φ4 are as follows. Φ2 O2Q(A1 , D1 , 11 ) ∧ A2 = D1 ∧ E2 ∈ 11 ∧ E2 ∈ A1 D1 ∧ F2 ∈ 11 ∧ F2 ∈ B1 C1 ∧ 1 1 A2 = A1 1 ∧ B2 = B1 1 ∧ C2 = C1 ∧ D2 = D1 1 1 Φ3 UnfoldQ(11 ) ∧ A3 = A2 1 ∧ B3 = B2 1 ∧ C3 = C2 ∧ D3 = D2 ∧ E3 = E2 ∧ F 3 = F2 Φ4 O1Q(A3 C3 , 23 ) ∧ G4 ∈ 23 ∧ G4 ∈ E3 F3 ∧ A4 = A3 ∧ B4 = B3 ∧ 2 2 C4 = C3 ∧ D4 = D3 3 ∧ E4 = E3 3 ∧ F4 = F3 Each formula Φi , for i = 2, 3, and 4, is the conjunction of the predicates. Most of them are equalities. They are purely geometric statements and independent of the coordinate system.

5.3 A simple example of construction

117

(1) Φ2 is the conjunction of the predicates whose geometric meaning is easy to understand with the help of the following notes: • Predicate O2Q(A1 , D1 , 11 ) in Φ2 states that 11 is the fold-line along which we fold O1 to superpose the points A1 and D 1 . It corresponds to p2 (O1 , a1 , ) in Algorithm Ori. • A2 = D1 is the property derived from O2Q(A1 , D1 , 11 ). As we see shortly, the O RIKOTO command that corresponds to this predicate specifies that point A1 is moved. Hence, A2 coincides with D 1 . • E 2 ∈ 11 states that point E2 lies on fold-line 11 and the same is true for point F2 . Points E and F are constructed at Step 2 at the intersections of fold-line 11 with the lines extending segments A1 D1 and B1 C1 of origami O1 , respectively. Likewise we obtain the other two predicates E 2 ∈ A1 D 1 and F 2 ∈ B1 C 1 . 1 • Predicate A2 = A1 1 states that point A2 is the reflection of point A1 across fold-line 11 . The reflections of A1 and B1 occur when we fold O1 at Step 2. • Points C1 and D1 are not moved by the fold at Step 2. This is expressed by the equalities C2 = C1 and D2 = D1 . (2) The first predicate of Φ3 , i.e., UnfoldQ(11 ), expresses the operational meaning of Unfold[]. It tells that the fold-line at this step is 11 . Origami O2 is to be folded along this fold-line in the same way, but in the opposite direction. The rest of the predicates of Φ3 show the effects of the unfold. Points A2 and B2 are reflected back across fold-line 11 and points C2 , D2 , E2 and F2 are not moved. (3) The first predicate O1Q(A3 C3 , 23 ) of Φ4 defines fold-line 23 . It is to be used for the fold at Step 4. We fold O3 along this fold-line, moving the faces1 to the right of ray A3 C 3 as shown in Fig. 5.1(d). The conjunction of second and third predicates, i.e., G4 ∈ 23 ∧ G4 ∈ E3 F3 , expresses that point G (= G 4 ) is constructed at the intersection of the fold-line and line E3 F3 .

Program of construction In this subsection we see the translation of Algorithm Ori to O RIKOTO interpreter. Origamists issue a command to fold the origami along the fold-line computed by f (Oi , ai ) in the format of function calls of Wolfram Language. Oi s are stored in the global memory of E OS and hence are not included in the parameters of each command. The top-level read-eval loop of the Mathematica frontend interprets the input command and outputs the resulting origami figure. 1

the faces obtained after the division by the fold line

118

5 Verification of Origami Geometry

While constructing the origami, we do not have to reason about the origami at the basic level, as shown in Algorithm Ori. The execution of Command HO[..] does all the basic operations of [Construct] phase. Besides command HO, O RIKOTO provides commands for managing origamis. We already explained some of them in the examples of Chapters 2 and 3. Here, we give the O RIKOTO program that constructs the sequence of origamis in Fig. 5.1. NewOrigami[ ] HO["A","D"] Unfold[ ] HO["AC"] The execution of the command NewOrigami[ ] produces O1 in Fig. 5.1(a). This corresponds to the [Initialize] phasef of Algorithm Ori. Next command HO["A","D"] works on O1 . This corresponds to the first loop of the Whileloop of the [Construct] phase. At the end of the first cycle, O2 , shown in Fig. 5.1(b), is produced and Φ2 is formed. Φ2 is saved in the global memory and later used for proving. In the second loop, command Unfold[ ] is executed. Origami O3 in Fig. 5.1(c) is produced and Φ3 is formed. The first predicate of Φ4 comes from the execution of command HO["AC"].

Program of proving After the origami construction, we proceed to [Form a goal] phase. We give the goal right after the completion of the construction. As an example, let us prove |DG| = |AG|. (5.1) To prove it, we transform the above goal formula to

|DG|2 = |AG|2 ,

(5.2)

so that the translated goal becomes a polynomial equality. We prove the goal by executing the following commands: Goal[ SquaredDistance["D","G"]==SquaredDistance["A","G"]]; Prove["Equal distance"] The execution of command Prove[..] returns a list of symbol Success or Fail of the proof attempt, CPU time spent for proving the goal, and the hyperink to the file, called proofDoc, that contains the details of the proof pro-

5.4 Method of proving

119

cess. In this case, the execution of command Prove["Equal distance"] outputs {Success,0.001996, Equal distance.nb}.

5.4 Method of proving 5.4.1 Overview We use the following notations for variable declarations. • ∀ u : σ is the shorthand notation of ∀u1 : σ1 . . . ∀ uk1 : σk1 for some k1 ≥ 0. • ∃ v : τ is the shorthand notation of ∃v1 : τi . . . ∃ vk2 : τk2 for some k2 ≥ 0. • Φ1 , . . . , Φk (k ≥ 1), and Ψ are quantifier-free formula. The geometric theorem that we prove using E OS is of the form:

∀ u : σ ∀ v : τ ( Φ1 ∧ · · · ∧ Φ k ⇒ Ψ ).

(5.3)

The part Φ1 ∧ · · · ∧ Φk is called a premise or an assumption of proposition (5.3), and the part Ψ ls called a goal or a conclusion of proposition (5.3). Formula (5.3) is a prenex normal form, all of whose quantifiers are universal (∀). In this case, we may abbreviate it to ∀ Φ for any quantifier-free formula Φ, when no mention of the qualified variables is necessary during our discussion. Likewise, we may use ∃ Φ. To prove the theorem given in the form of (5.3), we take an arbitrary but fixed sequences of variables u. Then we prove, by contradiction, the following: ∀ v : τ ( Φ1 ∧ · · · ∧ Φ k ⇒ Ψ ). (5.4) Namely, we show that the following is false.

∃ v : τ ( Φ1 ∧ · · · ∧ Φ k ∧ ¬ Ψ ).

(5.5)

When we need an additional assumption ∀χ for the proof, we add a formula ∃χ into formula (5.5). However, to avoid the notational complication, we use the same formula (5.5) to express the formula after the addition of ∀χ. Thus, hereafter, we use formula (5.5) based on the understanding that it contains the intended additional assumption. To prove that formula (5.5) is false, we show that no instance of v exists that satisfies Φ1 ∧ · · · ∧ Φk ∧ ¬Ψ. (5.6) Thus, if we can show formula (5.5) is false, we successfully prove proposition (5.3). We translate formula (5.5) to a system of polynomial equations and inequations by the method discussed in Chapter 4. Therefore, the problem of

120

5 Verification of Origami Geometry

proving is boiled down to checking the existence of the R-solutions of the system of polynomial equations. Once we translate the geometric formulas to polynomials, we can employ algebraic methods, such as GB and CAD. Note that in Chapter 4, we call the result of the translation of the statements in L a set of equalities to emphasize the logical meaning of the statements. In this chapter we call it a system of equations to emphasize that it is subjected to algebraic computation. We proceed in the following way. 1. Geometric reasoning (i) deducing more geometric properties between the consecutive construction steps (see Inter-step geometric inference in the next subsection), (ii) forming equivalence classes of points and abstract lines, and (iii) identifying collinearity among points 2. Algebraic manipulation (i) generating fresh local variables (so-called dependent variables) and assigning them to the locations of points, e.g., P → ( xi , yi ), (ii) generating fresh local variables, and using them to define abstract lines, e.g., m → L a j b j c j , (iii) transforming the obtained algebraic expressions to polynomial equations (and inequations), (iv) forming a system of polynomial equations (and inequations), and (v) calling an appropriate algebraic method for solving the system. We next explain each item in detail.

5.4.2 Geometric reasoning and logical transformation Inter-step geometric inference The inference on the predicates at construction Steps i and i + 1 generate equalities. For example, we perform the following inferences. At Step i, we fold origami Oi−1 and construct Oi . We can determine which points are moved. We can deduce the following: • Pi = Qi−1 , if Pi−1 and Qi−1 are to be superposed at Step i and Pi−1 is moved. • Pi ∈ mi−1 , if Pi−1 and line mi−1 are to be superposed at Step i and Pi−1 is moved. Those may not be needed for the proof based on GB, but are included for efficiency reasons of the Gröbner basis computation. The above deduced relations are added to Φi .

5.4 Method of proving

121

Transformation of logical formulas Each Φi , i = 1, . . . , k is the conjunction of predicates. (see Prob 5.1). After the removal of the quantifiers of independent variables u, we take all the other points and lines to be quantified variables. We let them be variables v. The result is the formula (5.3).

Elimination of unnecessary predicates Suppose we fold origami Oi−1 along the fold-line  and construct Oi at Step i. The fold causes the constructed points belonging to Oi−1 either to move or to remain at the same location. In the former case, the points move by the reflection across . For each point P, we have the following equalities: Pi−1 when Pi−1 is moved Pi = Pi−1 when Pi−1 is not moved If Pi is not used further at any subsequent steps i + 1, . . ., the above equalities are unnecessary. To eliminate those unnecessary equalities, we are going to define a weakly needed atomic formula. To prepare for the definition of the weakly neededness, we introduce the following notations. • We denote by T ( A) the set of all the terms occurring in an atomic formula A. • We denote by A the set of all the atomic formulas occurring in the assumption Φ1 ∧ · · · ∧ Φk of formula (5.3). Definition 5.1 (Weakly needed atomic formula). Given a goal Ψ, the set W N (Ψ) of weakly needed atoms is the least set satisfying the following clauses. 1. An atom A ∈ W N (Ψ) if A is a sub-formula of goal Ψ. 2. Let e ∈ A be si = t j or t j = si . e ∈ W N (Ψ), if j > i ∧ t j ∈ T ( A) for some A ∈ W N (Ψ). 3. Let e ∈ A be (si ) = t j or t j = (si ) . e ∈ W N (Ψ), if j > i ∧ t j ∈ T ( A) for some A ∈ W N (Ψ). 4. An atom A ∈ W N (Ψ) if A is other than the forms in the clauses 2. and 3., and satisfies T ( A) ∩ T ( B) = ∅ for some atom B(= A) ∈ W N (Ψ). We call an element of W N (Ψ) weakly needed atom. We note the adjective “weakly” since the atom in W N (Ψ) is not necessarily needed for the proof. In other words, we set the criteria of “needed-ness” to be on the safer side. Example 5.1. We show the part of the ProofDoc of the simple example in Subsection 5.3. Figures 5.2 and 5.3 show the atoms accumulated during the

122

5 Verification of Origami Geometry

construction, and the goal. The atoms in Step i corresponds to atoms of Φi for i = 1, . . . , 4. Each line shows one atom. The predicates corresponding to HO rules are translated to the statements in natural language (English). In this simple example, we have six atoms that are not in W N (Ψ), where Ψ|DG|2 = |AG|2 . Those atoms that are not weakly needed are eliminated. We denote the resulting formula after the elimination by Φφ1 ∧ · · · ∧ φj , where φi , i = 1, . . . , j is either an atomic formula or a literal. Formula Φ ∧ ¬Ψ is subjected to the algebraic translation.

Geometric operations and relations at each step step 1 step 2 Superpose A1 and D1 over $fline11 A2 ⩵ D1 E2 ∈ $fline11 E2 ∈ A1 D1 F2 ∈ $fline11 F2 ∈ B1 C1 A2 ⩵ A1 $fline11 B2 ⩵ B1 $fline11 C2 ⩵ C1 D2 ⩵ D1

step 3 Unfold along $fline11 A3 ⩵ A2 $fline11 B3 ⩵ B2 $fline11 C3 ⩵ C2 D3 ⩵ D2 E3 ⩵ E2 F3 ⩵ F2

Note: $flinei is used instead of i. Fig. 5.2: Geometric operations and relations at each step -1-

5.4 Method of proving

123

step 4 Fold along $fline23 passing through A3 and C3 G4 ∈ $fline23 G4 ∈ E3 F3 A4 ⩵ A3 B4 ⩵ B3 C4 ⩵ C3 D4 ⩵ D3 $fline23 E4 ⩵ E3 $fline23 F4 ⩵ F3

Negated goal ! SquaredDistance[D4, G4 ]==SquaredDistance[A4, G4 ]

Fig. 5.3: Geometric operations and relations at each step - 2 Elimination of unnecessary predicates We eliminated 6 out of 27 predicates.

Eliminated predicates B2 ⩵ B1 $fline11 B4 ⩵ B3 B3 ⩵ B2 $fline11 C 4 ⩵ C3

E4 ⩵ E3 $fline23 F4 ⩵ F3

Fig. 5.4: Eliminated atoms

Forming quotient sets and collinear relations At the end of geometric transformation, we collect the equalities from the formula Φ ∧ ¬Ψ, and generate the equivalence classes of points and lines. Furthermore, we detect the collinearity relations on the points. The equivalence classes of the points play the central role in reducing the number of the dependent variables. The collinearity relations are added to the formula Φ ∧ ¬Ψ for optimization purposes.

124

5 Verification of Origami Geometry

5.4.3 Translation to algebraic expressions We use the Cartesian coordinate system and proceeds as follows. • For assigning the coordinates to the points, we consider the equivalence relations among the points, to ensure that the superposing points have the same coordinates. • For each fold-line and line extended from the segment, we assign value Lη a b c, where a, b, c and η are freshly generated (dependent) variables of sort R. Recall that

Lη a b c x y  ( ax + by + c = 0) ∧ ζ η ( a, b) The part ζ η ( a, b)b(b − 1) = 0 ∧ ( a − 1)(b − 1) = 0 ∧ η ( a2 + 1) − 1 = 0. is the line constraint condition (LCC) for ensuring that the line is an abstract line. The variables are ordered for Gröbner basis computation, as its efficiency is very sensitive to the variable ordering. The variables are ordered according to the order of the generation by default. We call a sequence of variables x generation ordered, if for every pair of variables xi and x j in the sequence x, x j  xi if x j is generated before or at the same construction step of xi . This ordering empirically gives better performance of Gröbner basis computation in many examples of the origami geometry. The algebraic expressions that we obtain by the preceding logical and algebraic transformations/translations is of the form:

¬F 



{ q i = 0},

(5.7)

i

where qi s are polynomials in k [v], and k is a field. In this monograph, we treat the examples when k is Q, C, or fields of rational functions.

5.4.4 Gröbner basis computation Since we only deal with equalities, as we see in Eq. (5.7), we treat the set of polynomials, instead of equations. Corresponding to ¬F in Eq. (5.7), we define S{q1 , . . . , qi , . . .}, (5.8) By Ideal(S ), we denote the ideal generated by S . Formula F is true if 1 ∈ Ideal(S).

(5.9)

5.5 Example - proof of a regular pentagon construction

125

We can solve this ideal membership problem by computing Gröbner bases of S . Namely, Relation (5.9) is true iff the reduced Gröbner basis of S is {1}. Hence, F is true if the reduced Gröbner basis of S is {1}. To summarise, we have deduced the following. 1 Let F be ∀(Φ⇒Ψ), and hence ¬F be ∃(Φ ∧ ¬Ψ). 2 From ¬F , we obtain S by the algebraic translation. 3 We compute Gröbner bases of S to see if the reduced Gröbner basis is {1}. 4 If it is {1}, we have proved ∀(Φ⇒Ψ). We also say that the proof is successful. If the reduced Gröbner basis is not {1}, we say that the proof fails. The latter does not mean that F is false, but we fail to prove that F is true. It might as well be the case that if further analysis of the resulting computation of the Gröbner bases shows that F is true, or other proof methods can prove that F is true.

5.5 Example - proof of a regular pentagon construction In this chapter, we give two examples of proving the correctness of the constructions. One is the proof of the correctness of the construction of the regular pentagon that we treated in Chapter 2. The other one is the construction of Morley’s triangle, which we discuss in the next section.

Fig. 5.5: Construction of a regular pentagon

126

5 Verification of Origami Geometry

The red shape shown in Fig. 5.5 is a regular pentagon. The construction of this regular pentagon was discussed in Section 2.2.5. We only constructed the five vertices Q, P, L, K and N, since the rest of the construction to make the shape a regular pentagon is straightforward. A proof by synthetic (geometry) reasoning is discussed in Chapter 2, where we need geometric intuition at the level of high school geometry. Nevertheless, serendipity at the level of high school is required to find the construction and the correctness proof. In this section, we are interested in streamlined construction and verification in such a way that once we give an O RIKOTO program to E OS, E OS does all the work and returns the result of the construction together with the proof document. So far, we have been discussing from the specification of the construction to the algebraic execution of the specification. Our next task is to define the formula, i.e., goal, to describe the properties of a regular pentagon. Recall that a regular pentagon is a simple polygon of five sides of equal length (regular), and whose five interior angles are equal (equiangular). To specify the equilateral part of the pentagon is easy. The equilateral property of the regular pentagon is expressed by

| QP| = | PL| = | LK | = |KN | = | NQ|.

(5.10)

Since relations (5.10) are not translated to polynomial equalities, we square each terms of the equalities:

| QP|2 = | PL|2 = | LK |2 = |KN |2 = | NQ|2 .

(5.11)

Since ¬Eq. (5.11) ⇒ ¬ Eq. (5.10), we can use Eq. (5.11) instead of Eq. (5.10) as the equilateral part sub-formula of the goal. This deduction was used in the proof of the equal distance in the simple example of Section 5.3, where we use goal (5.2) instead of goal (5.1). As for the equiangular property, the angle cannot be used as a term of polynomials, directly. We employ, here, (i) the rational geometry of Wildberger [18]. The basic idea of the rational geometry is to define rational functions that correspond to the trigonometric functions and build geometric functions in general in rational function form. In this example, we use a function cross that corresponds to square of the cosine function. Given three points P( x1 , y1 ), Q( x2 , y2 ) and R( x3 , y3 ), satisfying P = Q and P = R, cross( Q, P, R) is related to an angle θ = ∠QPR, such that

5.5 Example - proof of a regular pentagon construction

127

cross( Q, P, R) = cos2 θ  −→ − → 2 PQ · PR = | PQ|| PR|

=

(( x2 − x1 ) ( x3 − x1 ) + (y2 − y1 ) (y3 − y1 )) 2 (( x2 − x1 ) 2 + (y2 − y1 ) 2 ) (( x3 − x1 ) 2 + (y3 − y1 ) 2 ) (5.12)

where “·” is the dot product operator. We execute commands Goal and Prove to prove the correctness of the construction of the regular pentagon. We first declare the goal. Goal[ SquaredDistance["Q","P"]== SquaredDistance["P","L"] ∧ SquaredDistance["P","L"] ==SquaredDistance["L","K"] ∧ SquaredDistance["L","K"]==SquaredDistance["K","N"] ∧ SquaredDistance["K","N"]==SquaredDistance["N","Q"] ∧ Cross["Q","P","L"]==Cross["P","L","K"] ∧ Cross["P","L","K"]==Cross["L","K","N"] ∧ Cross["L","K","N"]== Cross["K","N","Q"] ∧ Cross["K","N","Q"]== Cross["N","Q","P"]]; Function call cross(X, Y, Z), where X, Y and Z are points, is written as Cross["X","Y","Z"] in O RIKOTO.1 Then, we execute Prove["Pentagon Construction", Tactics -> Split] Here, the parameter Tactics->Split is important to speed up the Gröbner basis computation. When this parameter is specified, the prover splits the proposition Φ⇒(Ψ1 ∧ Ψ2 ∧ · · · ∧ Ψk ) into k propositions Φ⇒Ψ1 , . . ., Φ ⇒ Ψk , and prove each, separately. If all the sub-proofs are successful, the whole proof is successful. Without splitting the goal, the proof in this case would take a long time. Even when we split the proposition, the proof takes the order of 1000 seconds in total.2 Note that the values of Cross(Q,P,R) and Cross(P,R,S), where P, Q, R, and S are of type Points, are not polynomials, when evaluated during the proof. They are rational functions with coefficients of Q. GroebnerBasis function of Mathematica accepts, as an input parameter, a set that may contain a term of a rational function as in this example. The term of a rational function is converted to a polynomial(s) by GroebnerBasis function. The expression 1

Running E OS on Mathematica 12 causes the clash of names of System`Cross and O RIKOTO Cross functions. To make sure that we use O RIKOTO Cross, we put context Orikoto in front of Cross; we write Orikoto`Cross. Package Orikoto is used in E OS to accommodate E OS original symbols. 2 Eos3.3 running on Mathematica 12.1.0.0, macOS 10.15.5, MacBook Pro (Processor 2.3GHz Intel Core i9, Memory 16MB)

128

5 Verification of Origami Geometry

Cross(Q, P, R) − Cross(P, R, S)

(5.13)

can further be simplified since there is the common term | PR|2 in the denominators. We can either leave this conversion entirely to the task of GroebnerBasis function, or define a new function to convert the rational functions to a polynomial (see Problem 5.8). Usually, the latter saves much computing time of the Gröbner bases. A more concise and faster method is to describe the goal in the C-plane that is equipped with the real and imaginary axises. Any regular n-gon has the property that all the n vertices lie on the circumference of the same circle. Let Q1 Q2 · · · Qn be a sequence of the edges that forms the regular n-gon and M be the center of the circle in the R2 -Euclidean space. We translate all the above points to P1 P2 · · · Pn and O(0, 0), respectively. Utilizing the bijectivity between the R2 -Euclidean space and the C-plane, both equipped with the Cartesian coordinates, we take the bijection f to be a function satisfying f ( M )  0, where 0 ∈ C f ( Qi ( x, y))  pi , where pi = x + iy for i = 1, 2, . . . , n. Then, we have pi+1 = ωpi , for i = 1, . . . , , n − 1 and ω = exp(2πi/n) if the sequence of edges Q1 Q2 · · · Qn forms a regular simple n-gon. The value 2π/n is the angle of the counterclockwise rotation of an edge around the origin of the R2 -Euclidean space to the neighboring edge. We further define function ToC as ToC( X, Y )(u1 − u2) + i(v1 − v2), (5.14) for arbitrary points X (u1, v1) and Y (u2, v2) in the Cartesian coordinate system of the Euclidean R2 space. The bijection f ( Q) that we want to use is defined as f ( Q)ToC( Q, M ), for any point Q in the R2 Euclidean space. Using function ToC, we obtain goal (5.15). Since the bijection f preserves the equilateral and equiangular properties of the shape, the goal below is what we want to prove. Goal[∀ω ∈C (ToC["P","M"]==ω ToC["Q","M"]⇒ ToC["L","M"]==ω ToC["P","M"] ∧ ToC["K","M"]==ω ToC["L","M"] ∧ ToC["N","M"]==ω ToC["K","M"] ∧ ToC["Q","M"]==ω ToC["N","M"])];

(5.15)

5.6 Morley’s theorem by origami

129

The proof command is the same as the previous one. However, the speed of the proof is significantly different. The CPU time used for Gröbner basis computation in the case of the goal expressed in the C-plane is over 200 times faster than the goal in the rational geometry. The reason is that the latter generates lower degree polynomials (the highest total degree of the monomials is 4), whereas the former generates a monomial of total degree 9.

5.6 Morley’s theorem by origami 5.6.1 Morley’s theorem Morley’s theorem is about the triangle that we construct inside an arbitrarily given triangle. We construct the triangle by connecting the three intersections of the adjacent trisectors of the interior angles of the given triangle. The remarkable property of the formed triangle is that it is always regular, regardless of the shape of the given triangle.

Fig. 5.6: Morley’s triangle Let us look at triangle IJK in Fig 5.6. The given triangle is EAB. Lines AK and AI are the trisectors of ∠EAB, lines BI and BJ are the trisectors of ∠ABE, and lines EJ and EK are the trisectors of ∠BEA. Points I, J and K are the intersections of adjacent trisectors AI and BI, BJ and EJ, and EK and AK, respectively. The constructed Morley’s triangle is  I JK.

130

5 Verification of Origami Geometry

We can generalize Morley’s theorem. Let θ (0 < θ < π ) be one of interior angles of the given triangle. Besides angle θ, we can consider the other two kinds of angles, i.e., π − θ and 2π − θ, related to θ. We trisect the three kinds of the angles and thus make nine trisectors for each interior angle of the given triangle. We connect the intersections of the adjacent trisectors of one of those three kinds of the interior angles. Thus, we end up with constructing 27 triangles. We see them in Fig. 5.14. Some of the triangles are regular, and the others are not. The generalized Morley’s theorem states that out of the 27 triangles, the 18 triangles that satisfy the particular criterion (condition (5.17), to be given later) are regular. Those 18 regular triangles are called Morley’s triangles. In this section, we explain an origami construction of Morley’s triangles and a proof of the generalized Morley’s theorem by the same methodology as we discussed with the regular pentagon origami. To construct the trisectors, we use Abe’s method [1].

5.6.2 Construction by Abe’s angle trisection We show in Fig. 5.7 the O RIKOTO program to construct Morley’s triangle, and in Figs. 5.8 - 5.13 we show the origamis at each end of the important steps of the construction. At Step 1, we create the initial origami ABCD and construct an arbitrary point E on it. At Steps 2 - 5, we construct ABE, in which we will construct Morley’s triangle (see Fig. 5.8). We trisect ∠EAB from Steps 6 to 13, ∠ABE from Steps 14- to 19, and ∠BEA from Steps 20 to 29. We see the points of intersections I, J and K in Fig. 5.13. Connecting them yields Morley’s triangle IJK. Since we explained Abe’s method of trisection in Chapters 3 and 4, in this Subsection, we sketch the construction of the three trisectors used in constructing Morley’s triangle. To trisect angle ∠EAB, we need (i) the perpendicular m to AB at point A, (ii) an arbitrary point X on m and (iii) the perpendicular bisector of XA. We use point D for X. Line AD serves as m. At Steps 6 and 7, we construct line (iii) and mark it with FG. At Steps 8- and 8, we apply rule O6 to origami O7 with parameters point A, line FG, point D and line AE. At Step 8, we fold O7 along the selected fold-line. Then, we project the points A and F onto the base plane by executing the command ProjectPoint[{"A"->"A2","F"->"F2"}]!. At Step 9, by unfolding O8 , we see the projections A2 and F2 of point A and point F, respectively. Lines AA2 and AF2, which we construct from Step 10 to Step 13, are the trisectors of ∠EAB.

5.6 Morley’s theorem by origami

131

EosSession["Morley’s triangle"]; 1. NewOrigami[10] NewPoint["E" -> {5,9}] 2. HO["AE"]! 4. HO["BE"]! 6. HO["A","D",Mark->{{"AD","F"},{"BC","G"}}]! 8-. HO["A","FG","D","AE"] 8. HO["A","FG","D","AE"],FoldLine->3] ProjectPoint[{"A"->"A2","F"->"F2"}]! 10. HO["AA2"]! 12. HO["AF2"]! 14-. HO["B","FG","C","BE"] 14. HO["B","FG","C","BE",FoldLine->1] ProjectPoint[{"B"->"B2","G"->"G2"}]! 16. HO["BB2",Mark->{{"AA2", "I"}}]! 18. HO["BG2"]! 20. HO["BE","E",Mark->{{"AD","L"}}]! 22. HO["E","L",Mark->{{"EL","M"}, {"AB","N"}}]! 24-. HO["E","MN","L","EA"] 24. HO["E","MN","L","EA",FoldLine->2] ProjectPoint[{"E"->"E2","M"->"M2}]! 26. HO["EE2",Mark->{{"BG2","J"}}]! 28. HO["EM2",Mark->{{"AF2","K"}}]! EndSession[]; Fig. 5.7: O RIKOTO program to construct Morley’s triangle using Abe’s method

Fig. 5.8: Construction of Morley’s triangle: Step 5

We can construct the trisectors of ∠ABE, similarly. We already have the preparatory lines and points for applying rule O6 to construct trisectors of ∠ABE. We superpose point B and point C onto line FG and line BE, respec-

132

5 Verification of Origami Geometry

(a) Step 8

(b) Step 9

Fig. 5.9: Morley’s triangle: Steps 8 and 9

tively. We select the first fold-line from the possible fold-lines, along which we fold origami O13 . The resulting origami O14 is shown in Fig. 5.10(a). By executing command ProjectPoint[{"B"->"B2","G"->"G2"}]!, we obtain O15 . By executing Steps 16 and 17, we obtain the intersection I of trisectors AA2 and BB2 (see Fig.5.10(b)). The construction of the trisectors of ∠BEA is more involved than the preceding two angles. We need to construct (i) the perpendicular to BE at E, (ii) a point (let this be point L) on the perpendicular and (iii) the perpendicular bisector of EL. Let the intersections of the perpendicular bisector with line EL and line AB be M and N, respectively, as shown in Fig. 5.11(a). Now, we are ready to apply rule O6. The rest of the constructions, i.e., those of Step 24- to Step 29, to obtain the trisectors EE2 and EM2 of ∠BEA are similar to the constructions of angles ∠EAB and ∠ABE. Point J is constructed at the the intersection of line EE2 and BG2, and point K is constructed at the the intersection of line EM2 and AF2 (see Figs. 5.12 and 5.13). We already saw IJK in the final origami O29 shown in Fig. 5.6. We prove in Subsection 5.6.3 that IJK is indeed a regular triangle.

5.6 Morley’s theorem by origami

133

(a) Step 14

(b) Step 17

Fig. 5.10: Origami construction of Morley’s triangle: Steps 14 and 17

5.6.3 Proof of the generalized Morley’s theorem In order to prove the generalized Morley’s theorem, we have to prove the following. (i) The six fold-lines constructed at Steps 10, 12 , 16, 18, 26 and 28 are the trisectors of ∠EAB, ∠EAB, ∠ABE, ∠ABE, ∠BEA and ∠BEA, respectively. (ii) IJK (see Fig. 5.6) is a regular triangle formed by the intersections of the adjacent trisectors. We omit the proof of (i) since we already showed the correctness proof of Abe’s trisection by synthetic reasoning in Chapter 3. See also Problem 5.6 for the automated proof by E OS. We prove the following goal after the construction, | I J |2 = | JK |2 ∧ | JK |2 = |KI |2 . (5.16)

134

5 Verification of Origami Geometry

(a) Step 23

(b) Step 25

Fig. 5.11: Construction steps 23 and 25

However, we need a careful analysis of the premise. The construction of Morley’s triangle that we have shown is one particular instance of the construction. The geometric constraints accumulated during the construction are general, in that they allow all the possible constructions. Abe’s trisection method realizes the trisection of the three kinds of angles. To see this point, let us recall that we selected one fold-line during the construction, where the other two fold-lines are feasible to proceed with (at Steps 8-, 14-, and 24-). We choose one fold-line to move to the next step of the construction. However, the other two fold-lines are also feasible to proceed. The geometric constraints accumulated during the construction contain all the three cases shown by the E OS. Therefore, as we observed in Subsection 5.6.1, given EAB, we can construct 27 triangles if we connect all the intersections of the adjacent trisectors. Figure 5.14 shows all the triangles.

5.6 Morley’s theorem by origami

135

Fig. 5.12: Origami construction of Morley’s triangle: Steps 27

Fig. 5.13: Origami construction of Morley’s triangle: Steps 29

Wu investigated the criteria for constructing the regular triangles and articulated the following condition that can single out the 18 regular triangles [20]. ∠IAB + ∠ABI + ∠BEJ = ±π/3 (mod 2π ). (5.17) From Eq. (5.17) we obtain tan2 (∠IAB + ∠ABI + ∠BEJ) = 3.

(5.18)

Let t1 = tan ∠IAB, t2 = tan ∠ABI and t3 = tan ∠BEJ, and we obtain the following condition in polynomial equality from Eq. (5.18) (see Problem 5.10).

X  (t1 + t2 + t3 − t1 t2 t3 )2 − 3(1 − t1 t2 − t2 t3 − t3 t1 )2 = 0. We now express the generalized Morley’s theorem by the following formula

∀(Φ ∧ X ⇒ Ψ).

(5.19)

136

5 Verification of Origami Geometry

The triangles drawn in the bold black lines are given ones, and the triangles in red are constructed ones. The red triangles whose interior is colored reddish are regular, otherwise not regular. The dotted lines are (part of) trisectors. To see the constructed triangles clearly, we draw the initially given triangles in such a way that they are varied in size, but are similar. We understand that the eighteen constructed triangles are regular out of the 27 constructed triangles.

Fig. 5.14: The 27 triangles constructed by all the trisectors

When we completed the construction detailed in Subsection 5.6.2, we had the premise Φ of the theorem ready to be used for proving. We next add the auxiliary condition ∃X by command Assume. Assume[∃t1,t2,t3 ∈ R (t1==ToTangent["I","A","B"] ∧ t2==ToTangent["A","B","I"] ∧ t3==ToTangent["B","E","J"] ∧

5.6 Morley’s theorem by origami

137

(t1+t2+t3-t1t2t3)2 ==3(1-t1t2-t2t3-t3t1)2 )]; where ToTangent[X,Y,Z] gives tan(∠XYZ ) as a rational function of the locations of points X, Y and Z in the Cartesian coordinates (see Problem 5.9). Φ ∧ X is the revised premise of the generalized Morley’s theorem. We next give the conclusion (5.16) by command Goal. Goal[ SquaredDistance["I","J"] ==SquaredDistance["J","K"] ∧ SquaredDistance["J","K"]== SquaredDistance["K","I"]]; Next, we fix the locations of points A, B, C, D and I in the Cartesian coordinate system. We set the initial origami to be a unit square with point A at (0,0), without loss of generality. We still have one degree of freedom; assigning the arbitrary coordinates to one of point E, I, J, and K. The choice is either (i) E or (ii) I. We have no reason to prefer J, and K over I. To let E be at (u1, u2) is more natural than case (ii). However, our experience with the Gröbner basis computation revealed that case (i) is not computationally desiarable. The Gröbner basis computation amounts to check whether or not the constructed 27 triangles are regular. It takes a huge amount of time and memory. It may exceed the capacity of ordinary laptop personal computers. When we let I be at (u1, u2), the Gröbner basis computation checks only three cases of constructed triangles, since the trisectors at A and B are fixed automatically when we pick up I. The three cases arise since the trisector at E can be that of ∠BEA, π − ∠BEA or 2π − ∠BEA. The above analysis leads us to fix the coordinate assignment as follows. map = { "A" → {0,0}, "B" → {1,0}, "C" → {1,1}, "D" → {0,1}, "I" → {u1, u2}}; Finally, we compute the Gröbner basis of the algebraic translation of Φ ∧ X ∧ ¬Ψ and see if the reduced Gröbner basis is {1} by executing Prove[”GeneralizedMorleyTh”, Mapping → map]

(5.20)

The execution of command (5.20) returns the list of Success, CPU time used for Gröbner basis computation, and the hyperlink to proofDoc [10], e.g., {Success,17.8815,Generalized MorleyTh.nb}.2 The proofDoc describes the details of the proof process. See also Problems 5.11 and 5.12 about the other proofs using different parameters. We proved the following version of the generalized Morley’s Theorem. Let trisector† of angle θ be a trisector of angle θ, or a trisector of angle π − θ or a trisector of angle 2π − θ. Theorem 5.1 (Generalized Morley’s Theorem) For any points A, B, E, I, J, and K forming a triangle ABE, such that 2

Eos3.3 running on Mathematica12.1.0.0, macOS 10.14.9, MacBook Pro (Processor 2.3GHz Intel Core i9, Memory 16MB)

138

5 Verification of Origami Geometry

(i) point I is the intersection of the adjacent trisector† of ∠EAB and the trisector† of ∠ABE, (ii) point J is the intersection of the adjacent trisector† of ∠ ABE and the trisector† of ∠BEA, and (iii) point K is the intersection of the adjacent trisector† of ∠BEA and the trisector† of ∠EAB, the triangle IJK that satisfies condition (5.17) are regular.

5.7 Historical notes Although the history of the research on the automated theorem proving is long, the automated theorem proving focussing on origami is relatively new. One of the earliest attempts was the design of a system [16] communicating among an origami constructor, a geometric theorem prover, and a general theorem prover Theorema[6]. It worked as follows. A specialized constraint solver interactively constructs a virtual origami and sends the geometric data to the geometric prover. The geometric prover generates the algebraic representation of the origami and sends it to Theorema. Theorema performs the further logical and algebraic translation and computes the Gröbner bases. In the end, it produces a human-readable proof text. As the three software modules are implemented in Mathematica[19], they could easily share the algebraic expressions and their data structures. Computational origami system E OS was built from these experiences. The use of Gröbner bases in automated theorem proving was suggested by Buchberger and Kutzler and Stifter of RISC (Research Institute of Symbolic Computation) realized Buchberger’s idea. They confirmed 65 elementary geometric theorems [15]. Independently, Kapur studied Gröbner bases to reason about geometric theorems and demonstrated the effectiveness of Gröbner bases in automated geometric theorem proving [14]. Kapur’s algorithm Incorporates Rabinowitsch trick and thus he could handle negation of equality systematically (hence the formula of the form “premise ⇒ conclusion”). The method we explained in this monograph derives from Kapur’s method. When we broaden our view on systems of automated (computer-assisted) synthetic and analytic geometric theorem proving in general, we find many solid works. It is outside of the scope of this monograph to list them. We recommend the readers to search the bibliography in the series of (Post)Proceedings of Automated Deductions in geometry [13], and Journal of Automated Reasoning, Springer (Vol. 1/1985 - Vol. 63/2019), for example. The geometric construction of the regular triangle inside a triangle by the angle trisections, now called Morley’s triangle, was discovered by Frank Morley in 1899. Coxeter’s textbook Introduction to Geometry [9] gave Morley’s theorem in the first chapter (on triangles) as one of the exciting propo-

5.8 Summary

139

sitions of elementary geometry. Nevertheless, it remained undiscovered for about 22 centuries after the establishment of the Euclidean geometry. Morley’s discovery is sometimes coined Morley’s miracle. The reason why the ancient Greek mathematicians did not discover or possibly were not interested in the construction might be attributed to the non-constructibility of the angle trisection by their authentic tool of geometric construction, i.e., a straightedge and a compass. However, with a ruler and a compass, the Greeks could construct a trisector of an arbitrary angle. So the above reason might not be compelling. In any case, it is a miracle that such a fundamental geometric construction remained undiscovered for so many centuries. Although Morley’s construction looks simple, it took a decade to give a simple proof of his observation. Bogomolny gives a comprehensive explanation of Morley’s work together with many proofs on the web site [2]. Wu [20] first published the algebraic proof of the generalized Morley’s theorem using (later called) Wu-Ritt method. Chou’s collection of theorems proven by automated theorem prover implementing the Wu-Ritt method includes the generalized Morley’s theorem [7]. Wang in [17] gives a concise explanation of Wu’s proof. Ida et al give the computational origami construction and the streamlined automated proof by Gröbner basis computation. [12, 11].

5.8 Summary • We discussed the proof methodology for origami theorems. The method is entirely automatic using the data accumulated during the origami construction. • We explained the constructions using Huzita-Justin folds (HO folds), first in logical formulas, then in algebraic expressions, and finally in the set of multivariate polynomials for Gröbner basis computation. • We explained how Gröbner basis computation is used as the proof engine of the origami theorem proving. • As examples of the application of the proof methodology, we showed the constructions of a unit square sheet, a regular pentagon, and Morley’s triangle. Using the computational origami system E OS, we perform not only the origami construction with rigor and ease, but also prove the correctness of the construction automatically.

140

5 Verification of Origami Geometry

Problems 5.1. Transformation of logically equivalent formula (i) Let Ψ be ∀v : τ Ψ , where Ψ is a quantifier-free formula. Show that the following formula

∀ v : τ (Φ⇒Ψ), where variables v, v are distinct, is logically equivalent to the formula of the form

∀ v : τ, v : τ (Φ⇒Ψ ). (ii) Let Ψ be ∀v : τ Ψ , where Ψ is a quantifier-free formula. Show that the following formula

¬(∀ v : τ (Φ⇒Ψ)), where Φ is a quantifier-free formula and variables v, v are distinct, is transformed to the logically equivalent formula

∃ v : τ, v : τ (Φ ∧ ¬Ψ ). 5.2. Addition of a premise and a conclusion We assume that the clashes of the variable names are to be avoided by appropriate renaming of the variables. Show the following. (i) ∃χ ∧ ∀(Φ⇒Ψ) is logically equivalent to ∀(Φ ∧ χ⇒Ψ). (ii) ∀(Φ⇒Ψ1 ) ∧ ∀(Φ⇒Ψ2 ) is logically equivalent to ∀(Φ⇒(Ψ1 ∧ Ψ2 )). 5.3. Observation on fold-lines We do not generate indexed line mi from mi−1 when Oi−1 is folded by foldline , i.e., mi = mi−1 . Explain why the generation of equality mi = mi−1 is unnecessary. 5.4. Proof of a regular triangle In Subsection 2.2.2 of Chapter 2, we discussed how we program the construction of a regular triangle in O RIKOTO. Show by running E OS the following commands successfully prove the constructed triangle is regular. Goal[SquaredDistance["A","B"]==SquaredDistance["B","G"] ==SquaredDistance["G","A"]]; Prove["Regular triangle"] Note: e1==e2==e3 is the abbreviation of e1==e2 ∧ e2==e3. 5.5. Regular pentagon - proof In this problem we are concerns with the verification of a regular pentagon in Section 5.5. Show by running E OS the following goal is successfully

5.8 Summary

141

proved. Goal[∀ω ∈C (ωToC["Q","M"]-ToC["P","M"] == 0 ⇒ ω 5 − 1 == 0)]; 5.6. Proof of the trisectors in Morley’s triangles In the construction of Morley’s triangle shown in Fig. 5.6, prove by E OS that (i) Lines EK and EJ are the trisectors of ∠ BEA. (ii) Lines AK and AI are the trisectors of ∠EAB. (iii) Lines BI and BJ are the trisectors of ∠ ABE. 5.7. Trisectors of angles At Step 8- of the program in Fig. 5.7, we have three possible fold-lines. In the program, to construct the trisectors of angleEAB, we selected the one shown in the rightmost origami of Fig. 5.15. Show that the selection of the fold-line in the leftmost origami leads to the construction of the trisectors of angle (π − ∠EAB), and that the selection of the fold-line in the middle one leads to the trisectors of angle (2π − ∠EAB).

Fig. 5.15: Three fold-lines computed by HO["A","FG","D","AE"]

5.8. Conversion from a rational function to a polynomial Given P( x1 , y) , Q( x2 , y2 ), R( x3 , y3 ), and S( x4 , y4 ), convert the term (5.13) to a polynomial. 5.9. Tangent in terms of Cartesian coordinates Given P( x1 , y) , Q( x2 , y2 ) and R( x3 , y3 ), show that function ToTangent(P, Q, R) which computes tan(∠ PQR) is defined by ToTangent( P, Q, R) = −

( x2 − x1 )(y2 − y3 ) − ( x2 − x3 )(y2 − y1 ) . ( x2 − x1 )( x2 − x3 ) + (y2 − y1 )(y2 − y3 )

x 5.10. Generation of the filtering condition of Morley’s triangles Let t1 , t2 and t3 be tan(θ1 ), tan(θ2 ) and tan(θ3 ), respectively, where θ1 + θ2 + θ3 = π/3. Show the following. tan(θ1 + θ2 + θ3 ) =

− t1 t2 t3 + t1 + t2 + t3 1 − t1 t2 − t2 t3 − t3 t1

142

5 Verification of Origami Geometry

5.11. Proof of Morley’s Theorem After the construction of Morley’s triangle by the program shown in Fig. 5.7, try to prove one instance of Morley’s Theorem with the following command: map = { "A" → {0,0}, "B" → {1,0}, "C" → {1,1}, "D" → {0,1}, "E" → {5/10, 9/10}}; Prove[" Morley Th (1)", Mapping → map] 5.12. Proof of the generalize Morley’s Theorem After the construction of Morley’s triangle, as in the previous problem, try to prove the generalized Morley’s Theorem with the following command: map = { "A" → {0,0}, "B" → {1,0}, "C" → {1,1}, "D" → {0,1}, "E" → {u1, u2}}; The symbols u1 and u2 are independent variables. Prove[" Generalized Morley Th ", Mapping → map]

References

143

References 1. H. Abe. Trisecting an Angle by Origami. Sugaku Seminar, page cover page, July 1980. http://www.phoenix-c.or.jp/ tokioka/n!/suu(underscore)semi.html. 2. Alexander Bogomolny. Morley’s Miracle from Interactive Mathematics Miscellany and Puzzles. http://www.cut-the-knot.org/triangle/Morley, 1996. 3. B. Buchberger. An algorithm for finding a basis for the residue class ring of a zerodimensional polynomial ideal. PhD thesis, University of Innsbruck, Institute for Mathematics, 1965. 4. B. Buchberger. Ein algorithmisches Kriterium für die Lösbarkeit eines algebraischen Gleichungssystems. Aequationes mathematicae, 4(3):374–383, 1970. English translation in: Bruno Buchberger and Franz Winkler (eds.), Gröbner Bases and Applications, Proceedings of the International Conference "33 Years of Gr¥"obner Bases", 1998, London Mathematical Society Lecture Note Series, Vol. 251, Cambridge University Press, 1998, pp. 535 -545. 5. B. Buchberger. Introduction to Gröebner Bases, pages 3–31. Cambridge University Press, 1998. 6. B. Buchberger, C. Dupre, T. Jebelean, F. Kriftner, K. Nakagawa, D. V. asaru, and W. Windsteiger. The Theorema Project: A Progress Report. In M. Kerber and M. Kohlhase, editors, Symbolic Computation and Automated Reasoning : The Calculemus2000 Symposium, pages 98–113, August 2000. 7. S.-C. Chou. Mechanical Geometry Theorem Proving. D. Reidel Publishing Co., 1988. 8. G. E. Collins. Quantifier elimination by cylindrical algebraic decomposition. In H. Brakhage, editor, Automata theory and formal languages, volume 33 of Lecture Notes in Computer Science, pages 134–183, 1996. 9. H. S. M. Coxeter. Introduction to Geometry. Joh Wiley and Sons, Inc, 2nd edition edition, 1969. 10. F. Ghourabi, T. Ida, and A. Kasem. Proof Documents for Automated Origami Theorem Proving. In Automated Deduction in Geometry, volume 6877 of Lecture Notes in Computer Science, pages 78–97. Springer, 2011. 11. T. Ida, A. Kasem, F. Ghourabi, and H. Takahashi. Morley’s Theorem Revisited: Origami Construction and Automated Proof. Journal of Symbolic Computation, 46(5):571 – 583, 2011. 12. T. Ida, M. Marin, and H. Takahashi. Computational Origami of a Morley’s Triangle. In M. Kohlhase, editor, Proceedings of the International Symposium on Symbolic Computation in Software Science (SCSS2013) 4th International Conference on Mathematical Knowledge Management (MKM 2005), volume 3863 of Lecture Notes in Computer Science, pages 267–282. Springer, 2005. 13. I. S. Julien Narboux, Pascal Schneck, editor. Proceedings of ADG 2016: Eleventh International. Workshop on Automated Deduction in Geometry Strasbourg, France. pp.224, Strasbourg, France, June 2016. https://hal.inria.fr/hal-01334334/file/ADG2016Proceedings 14. D. Kapur. Using gröbner bases to reason about geometry problems. Journal of Symbolic Computation, 2:399 – 408, 1986. 15. B. Kutzler and S. Stifter. On the application of buchberger’s algorithm to automate geometry theorem proving. Journal of Symbolic Computation, 2:389 – 397, 1986. 16. J. Robu, D. Tepeneu, T. Ida, H. Takahashi, and B. Buchberger. Computational origami construction of a regular heptagon with automated proof of its correctness. In Proceedings of ADG 2004, the 5th International Workshop on Automated Deduction in Geometry, volume 3763 of Lecture Notes in Computer Science, pages 19–33. Springer Berlin / Heidelberg, 2006. 17. D. Wang. Elimination Practice: Software Tools and Applications. Imperial College Press, London, 2004.

144

5 Verification of Origami Geometry

18. N. J. Wildberger. Divine Proportions - rational trigonometry to universal geometry. Wild Egg Pty Ltd, 2005. 19. I. Wolfram Research. Mathematica 4.0. Wolfram Research, Inc., Champaign, IL, USA, version 4.0 edition, 1999. 20. W. Wu. Basic Principles of Mechanical Theorem Proving in Elementary Geometry. Journal of Automated Reasoning, 2:221–252, 1986.

Chapter 6

Polygonal Knot Origami

Abstract We discuss computer-assisted construction and automated verification of regular polygonal knots by origami. Given a rectangular origami or a tape of an adequate length, we can construct the simplest knot by three folds. We can make the shape of the knot a regular pentagon if we fasten the knot rigidly. We analyze the knot fold formally so that we can construct it rigorously and verify the correctness of the construction by algebraic methods. In particular, we show the construction and verification of regular pentagonal and heptagonal knots. The knot folds differ from the traditional origami folds. The knot folds are the combination of superpositions of faces and insertions of faces into the slits between the face layers. The inserts enable the knot to be rigid. We use Huzita-Justin folds as the basis of the knot folds and extend them to allow for the knot folds.

6.1 Introduction In this chapter, we discuss polygonal knots constructed by origami. Knots by origami are always polygonal since we can only construct lines (creases) and points by origami. Figure 6.1 is the simplest rigid constructible knot. We construct it with a tape-like origami of adequate length and by three folds, as illustrated by Fig. 6.2(a) - (d). We further make the shape of the knot a regular pentagon if we fasten the knot tightly to make the knot rigid. We can achieve this operation by pulling both ends of the

Fig. 6.1: Regular pentagonal knot

© Springer Nature Switzerland AG 2020 T. Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation, https://doi.org/10.1007/978-3-319-59189-6_6

145

146

6 Polygonal Knot Origami

tape in Fig. 6.2 (d) outwards until the knot becomes rigid. We treat a knot fold as a sequence of basic folds, each constructing an isosceles triangle, terminated by pulling both ends of the tape outwards to ensure the rigidity. The regular pentagonal knot EHGIF in Fig. 6.1 is constructed by partially overlapping the five congruent isosceles triangles EGF, GFH, FHI, IEG and HIE, which are constructed by the three basic folds. By superposing the isosceles triangles appropriately, we can construct a regular 2n(n ≥ 2)+1-gonal knot in general. If we relax the rigidity of the constructed shape, but yet without breaking the origami, we can make more kinds of regular n-gons, some with a hole in the center. See Problem 6.2.

(a) Initial tape

(c) Second fold

(b) First fold

(d) Third fold

Fig. 6.2: The simplest knot constructed by three folds Since we can construct a tape of a rectangular shape from a square sheet of paper easily, we consider a rectangular origami from the outset. Subsequently, we call it a tape origami or simply a tape. The knot fold is based on physical constraints, i.e., the solidity and foldability of Huzita-Justin rule [3, 6]. From a computational point of view, the knot fold lends itself to a constraint problem-solving. When we formulate the knot fold algebraically, we gain mathematical rigor and a new perspective on the subject. We describe the knot folds in origami language O RIKOTO. O RIKOTO programs are translated to algebraic expressions, which are solved numerically for the construction (i.e., visualization) of the knots, and transformed further for the verification of the geometric properties of the knot origami.

6.2 Analysis of knot folds

147

6.2 Analysis of knot folds 6.2.1 Basics Let us look at again the process of constructing the knots in Figs. 6.2 and 6.1 carefully. In the figures, we make a simple knot by the three folds. We see that a knot with three crossings is the most basic. Each fold creates a crossing. The three crossings, which overlap each other, form a polygonal shape when projected onto the underlying plane. We call the configured collection of the crossings a polygonal knot, and the folds by which we construct the polygonal knot from the tape knot folds. Since neither one crossing made by one fold nor two crossings made by two folds form a knot, we need at least three folds to make a knot. Among the polygonal knots made by the three folds, the rigid one is pentagonal. Thus, the pentagonal knot is the most basic. It is even regular. We construct a pentagonal knot, following the synthetic geometry proof of a regular pentagonal knot of Sakaguchi [8]. We focus on the formalization of computational construction and verification of the pentagonal knot. The following lemma expresses the most fundamental properties of the crossing of the knot fold. Lemma 6.1 (Isosceles crossing [8, 4]) For all initial tape ABCD, point E ∈ AB, point F ∈ CD, and point G ∈ CD satisfying O5Q(G, AB, E, EF), EGF is isosceles with |FG| = |EG|. Figure 6.2(b) shows the fold by which we construct the isosceles triangle GFE. We perform fold O5 in the construction. Namely, we fold initial tape O1 along fold-line EF passing through point E to superpose point G and line AB. Note that to superpose point G and line AB, we move half-line EA. We can achieve the same fold by fold O1 along the line passing through points E and F. For the sake of the symmetry that we observe in Lemma 6.2, we use fold O5 here. The proof of Lemma 6.1 is straightforward by elementary geometric reasoning (see Problem 6.1). After the first fold, we perform the second fold to construct another isosceles triangle GFH. Triangles EGF and GFH are congruent and share segment FG, as observed from Fig. 6.2(c). Lemma 6.2 expresses the involved construction and the resulting geometric property. Lemma 6.2 (Isosceles trapezoid lemma [4]) For all initial tape ABCD, point E ∈ AB, point F ∈ CD, point G ∈ CD satisfying O5Q(G, AB,E, EF), point H ∈ AB satisfying O5Q(F, AB, G, GH), and point I satisfying I ∈ DEF F ∧ I ∈ CGH G,

|EF| = |GH|. Namely, FEHG is an isosceles trapezoid. Furthermore,

|IG| = |IF|.

(6.1)

148

6 Polygonal Knot Origami

Note: The expression DEF F is parsed as (DEF ) F. It denotes the line passing through point F and the reflection of point D across line EF. Proof. We perform fold O5 twice. The first application of rule O5 yields only one fold-line as it reduces to rule O1. The second application of rule O5 would give rise to two fold-lines, We show the two possible cases in Figs. 6.4(a) and 6.4(c). However, for any I satisfying I ∈ DEF F ∧ I ∈ CGH G, we do not have the second case. In the first case, since segment FG is shared, |EF| = |GH| by Lemma 6.1. Thus, FEHG is an isosceles trapezoid. By symme try, we have |IG| = |IF|.  Equation (6.1) shows that polygon FEHG is an isosceles trapezoid.

Fig. 6.3: Isosceles trapezoid FEHG in O3

(a) One possible O3

(b) Complete unfold of O3 of (a)

(c) The other possible O3 (E and F coincide, and ED and CG are parallel)

(d) Complete unfold of O3 of (c)

Fig. 6.4: Two possible shapes of origami O3

6.2 Analysis of knot folds

149

On tape O3 shown in Fig. 6.3, we perform the third fold O5 along a foldline that passes through F, to superpose H and C3 G. Again we have two possible fold-lines m1 and m2 shown in Fig. 6.5. We first examine the case when m1 is selected. Figure 6.6 shows tape O4 when we have folded tape O3 along fold-line m1 . In the other case that we select fold-line m2 , we cannot construct the desired shape.

(a) Tape O3 with fold-line m1

(b) Tape O3 with fold-line m2

Fig. 6.5: Two fold-lines by rule O5 applied to tape O3

Fig. 6.6: Loose pentagonal knot EHGJF after the fold along m1

6.2.2 Construction of a regular pentagonal knot by O RIKOTO We extend the syntax of O RIKOTO to allow the statements in L (cf. Chapter 4) to be the argument of HO. This extension, which we call L-extension of HO, enables us to write an O RIKOTO program succinctly, and more importantly, to write a program that we cannot describe in HO rules so far discussed alone. In Program P1 below, we show the construction of a loose pentagonal knot in Fig. 6.6 in four steps, whereas in (non-extended) HO rules, we would need eight steps.

150

6 Polygonal Knot Origami

At Steps 2 and 3, we use an existential formula of the following form as the first argument of command HO.

∃ x1 :τ1 ··· xk :τk Φ, where Φ is a quantifier-free formula. Symbols τ1 , . . . , τk are the sorts of variables x1 , . . . , xk , respectively. We now make a short detour and discuss this extension in more detail.

L-extension of HO As we have seen in Chapter 4, we can translate HO commands into logical formulas, it is natural to extend the syntax of HO in a way that accepts the same class of logical formulas. The k-fold method (or multi-fold method) [1] is an example of L-extension. It is realized by command HO that takes the following formula as an argument. HO [ ∃1 ,...,k

1

∈Lines

∃v1 ∈τ1 ,...,vk

2

∈τk2

Φ ],

(6.2)

where τ1 , . . . , τk2 are sorts other than Lines and Φ is a quantifier-free formula. Formula (6.2), if proved successfully, yields the binding of the quantified variables along with the values bound to the variables v1 , . . . , vk2 . The variables 1 , . . . , k of sort Lines give the fold-lines to be used at this step. Command (6.2) performs k folds along the fold lines 1 , . . . , k sequentially in this order. A good example of k-fold is the trisection of an angle, which we give at Problem 6.8. With this understanding, we return to the construction of the pentagonal knot. Program P1 [construction of a loose pentagonal knot] EosSession["Loose pentagonal knot"] 1. NewOrigami[{110,10}] NewPoint[{"E"→ {35,0},"F"→{Rationalize[32.8],10}}] 2. HO[∃1,2∈Lines, g,h,i∈Points (O5Q[g,"AB","E",1] ∧ 1 = "EF"∧ O5Q["F","AB",g, 2] ∧ 2 = g h ∧ g ∈ "CD" ∧ h ∈ "AB"∧ i ∈ "D"1 "F" ∧ i ∈ "C"2 g), MarkAt→{"G","H","I"},Handle→{"A","B"}] 4. HO["H", "CG", "F", Handle → "B", FoldLine → 1, Direction → Mountain, InsertFace → Bottom, Mark → {{"CG","J"}}] EndSession[];

6.2 Analysis of knot folds

151

The construction proceeds as follows. (i) At Step 1, we create the origami tape of size 110 × 10. (ii) Then, we construct new points E and F at locations (35, 0) and (32.8, 10), respectively. The locations can be arbitrary subjected to the constraints that they lie on sides AB and CD, respectively, and that the length specified at (i) ensures the construction of a knot at the end.1 (iii) At Step 2, we perform the construction described in Lemma 6.2. The command HO of this step is a straightforward transcription of the statement of Lemma 6.2. The argument of HO is an L-extesion that is the existential statement of the corresponding universal statement of Lemma 6.2. The execution of the command performs a multi-fold. In this case it is a 2-fold. The two fold-lines used for the multi-fold are declared 1,2: Lines. The points of intersections of the constructed lines are declared g, h, i: Points. To execute the command is to prove the existential formula of the form ∃1 2 g h i.Φ where we omitted the type declaration and Φ is a quantifier-free formula. The values instantiated to these variables are "solutions" that are used for the construction of the isosceles trapezoid. Variable g is instantiated to the point of the intersection of lines C1 D1 and A2 E1 . This point is marked with G by the named argument MarkAt and is retained in origami O3 . Variable h is instantiated to the point of the intersection of lines 1 and A1 B1 . This point is marked with H by the named argument MarkAt and is retained in origami O3 . Variable i is instantiated to the point of the intersection of lines D 1 F and C 1 G. This point is marked with I by the named argument MarkAt and is retained in origami O3 . (iv) Finally, at Step 4 we perform fold O5 along the fold-line passing through F3 to superpose H3 and C3 G3 (see Fig. 6.5(a)). We mark with J the intersection of segment C3 G3 and the fold-line. To make the knot, we have to perform a mountain-fold and insert the moving part of the tape in between the existing non-moving part of the tape, i.e., in this case, immediately above the bottom face. In the following, we briefly explain the meaning of the named arguments used for the first time in this chapter. For details, see Appendix B.2. • MarkAt→{"G","H","I"} at Step 2 specifies name G, H and I for corresponding existential variable g, h, i of sort Points introduced in the existentially quantified formula. In this way, the points bound to the variables become accessible at the subsequent steps of the construction. • InsertFace→ f specifies that the moved faces are to be placed above (below) face f for the mountain(valley)-fold. We define the notion of a 1

To avoid numerical errors during the computation, we use rational numbers, here.

152

6 Polygonal Knot Origami

face in Chapter 7. The above example is one particular case that the moving part is inserted above the bottom part. The pentagon EHGJF that we construct in the above is not regular in general as we take points E and F arbitrarily on each horizontal side (edge) of the tape. However, we have the following theorem. Theorem 6.1 (Loose regular pentagonal knot) Referring to Fig. 6.6, if points I and J coincide, pentagon EHGJF is regular. The automated proof of Theorem 6.1 is discussed in Section 6.4. To satisfy the condition J = I, we have to fasten the knot by pulling both ends of sides AD and BC of the tape outwards in Fig. 6.6. This operation is contained in none of Huzita-Justin folds. Then, we have a question whether we can make the knot using Huzita-Justin rules. We address to this problem in the next section.

6.3 Analysis of the construction 6.3.1 Traditional knot folds Figure 6.2 shows that the relative position of points E (on side AB) and F (on side CD) completely determines the subsequent shapes if we employ the same folds that we discussed in the preceding section. What is essential in determining the final shape of the knot is the slope τ of line EF. We may slide point F along side CD until τ = tan(3π/5), while fixing E. Alternatively, we could slide point E while fixing F. Pulling both edges of the tape by hand after Step 3 amounts to one of those manipulations (or combination of them) by trials and errors. When the pentagonal knot becomes rigid by fastening, the shape of the knot is a regular pentagon. Since segment EF is one of the sides of  the con√ structed regular pentagon, the slope of line EF is tan(3π/5) = − 5 + 2 5 when the pentagon is regular. The line with this slope is constructible by E OS, using HO (even EO) rules. It is shown in the construction of the regular pentagon in Chapter 2. Therefore, we have the following theorem. Theorem 6.2 A regular pentagonal knot is HO constructible. However, the method of construction is not preferred in practice since it requires several preparatory steps. More importantly, it lacks the simplicity of the idea behind the traditional knot fold.

6.3 Analysis of the construction

153

6.3.2 Geometric constraint solving approach

Fig. 6.7: Unknotted regular pentagonal knot EHGIF From Fig. 6.7, we can infer the following. Fix an arbitrary point E on AB, we can find out the locations of the vertices of the pentagon on the sides of the tape relative to E. Let f , g, h, and i be the variables of sort Points that correspond to F, G, H and I in Fig. 6.7. They have a geometric relation that can be expressed in a form of constraints. By solving the constraints for those variables, we can find the locations of points F, G, H and I. Let m, n and  be the fold-lines used in Steps 2, 3 and 4 of Program P1, respectively. Using Lemma 6.2, we only need the following conditions to find those fold-lines: 1. incidence relations h ∈ AB, f ∈ CD, g ∈ CD, i ∈ CD, f ∈ m, h ∈ n and in ∈  2. folds

O5Q( g, AB, E, m), O5Q( f , AB, g, n), O5Q h, in gn , f ,  3. property of i (from Lemma 6.2) i n ∈ Dm f 4. equality of side length |E h | = | f E| Note that the preceding folds move some points on the tape. The points given above are those on the initial tape. Specifying the location of points in this way is in contrast to the situations in Program P1, where at each execution of the HO commands, we only need to consider the geometric configurations immediately before and after the execution od each HO command. In O RIKOTO, we can describe the construction in the following three commands. Program P2 [Regular pentagonal knot - geometric constraint] EosSession["Regular pentagonal knot"]; 1. NewOrigami[{110,10}] NewPoint[{"E"→{35, 0}}]

154

6 Polygonal Knot Origami

2. HO[ ∃m,n,∈Lines, f ,g,h,i∈Points (h ∈"AB"∧i ∈"CD"∧ f ∈"CD"∧ g ∈ "CD" ∧ f ∈ m ∧ h ∈ n ∧ in ∈ ∧ O5Q[g,"AB","E" ,m] ∧ O5Q[ f ,"AB", g, n] ∧ O5Q[h, in gn , f , ] ∧ in ∈ "D"m f ∧ SquaredDistance["E",h]==SquaredDistance[ f ,"E"]), MarkAt→{"F","G","H","I"}, InsertFace→{0,0,Bottom}, Direction→{Valley,Valley,Mountain},Case→4, Handle→{"A","B","B"}]] EndSession[]; We have 4 possible cases of the folds at Step 2. Only the 4th case makes the regular pentagon. Named argument Case is synonymous with FoldLine in use. When more than one fold-lines are selected (in this example, three fold-lines) in one HO command, Case is a more appropriate word than FoldLine.

6.3.3 Algebraic constraint solving approach We observed that the slope of line EF determines the locations of the points F, G, H, and I. Instead of stating the geometric relations, we express directly in the constraint the algebraic relations that determine the slope. We erect a perpendicular FX to line AB, whose foot X lies on AB. Let us consider EFX. Let |FX|, |XE| and |EF | be ht,√ht × x, and ht × y, respectively. Recalling that 1/x = tan(2π/5) = 5 + 2 5, we see that x and y satisfy the system of equations {5x4 − 10x2 + 1 = 0, x2 + 1 = y2 }. Program P3 below incorporates these algebraic relations. Program P3 [regular pentagonal knot - algebraic] EosSession["Regular pentagonal knot - algebraic"]; 1. NewOrigami[{110,10}] NewPoint[{"E" → {35,0}}] 2. HO[ ∃m,n,∈Lines,x,y,ht,ex∈R, f ,g,h,i∈Points (ht == Ordinate["D"]∧ ex == Abscissa["E"]∧ "E" ∈ m ∧ f ∈ m ∧ g ∈ n ∧ h ∈ n ∧ f ∈  ∧ in ∈ ∧ f ==Point[ex − x ht, ht]∧ g==Point[ex + ( x + y)ht, ht] ∧ h ==Point[ex + y ht, 0]∧i ==Point[ex + ( x + 2y) ht, ht]∧ 5x4 − 10x2 + 1 = 0 ∧ x2 + 1 = y2 ),

6.4 Verification

155

MarkAt → {"F","G","H","I"}, InsertFace → {0,0,Bottom}, Direction → {Valley,Valley,Mountain}, Case → 1, Handle → {"A","B","B"}] EndSession[]; As observed in Programs P2 and P3, it is hard to tell in advance the number and order of possible combinations of the fold-lines. We run the same command twice unless the number of solutions is one. We issue the first command without the named argument Case. When the execution of the command yields more than one solutions of the combinations of the foldlines, E OS interacts with the users in the following way. It displays the list of origamis with the possible combinations of the fold-lines, without folding the origami. We select one of the displayed origamis and execute the same command with necessary named arguments. As long as we use seven HO rules, we have at most three cases of the folds with which we proceed. However, when we state the recipe of the origami construction in L-extended HO, as we have seen in Programs P2 and P3, the number of possible folds can be unexpectedly large. In the case of Program P3, we have eight origamis, and in this program, the only one, i.e., the first one, leads to the intended construction.

6.4 Verification We apply the verification method explained in detail in Chapter 5 to the constructions of the preceding sections and the proofs of Lemmas 6.1 and 6.2, and Theorem 6.1 of this chapter. In the following Subsection, we first summarize the verification method.

6.4.1 Summary of the verification method The propositions that we prove are of the following form:

∀ x ∀y(Φ[ x, y]⇒Ψ[ x, y]).

(6.3)

For brevity, in this subsection, we omit the sorts of the quantifying variables. To construct a desired object, we choose some specific values for x, say a0 , and prove ∃yΦ[ a0 , y]. (6.4)

156

6 Polygonal Knot Origami

We prove this by translating proposition (6.4) to the following algebraic form ∃ y ( p1 ( a0 , y ) = 0 ∧ · · · ∧ p j ( a0 , y ) = 0), (6.5) and solve the system of equations (6.5) for y . Let b0 be the solutions of y . The geometric objects that we construct are the collection of the objects formed from the set { a0 , b0 }. To prove proposition (6.3), we take arbitrary but fixed a for x, and to prove

∀y(Φ[ a, y]⇒Ψ[ a, y]).

(6.6)

We prove formula (6.6) by contradiction. Assume

∃y (Φ[ a, y] ∧ ¬Ψ[ a, y]).

(6.7)

To subformula ¬Ψ[ a, y] in formula (6.7), we apply the same algebraic translation as the one from (6.4) to (6.5). The result is the following formula

∃y ( p j+1 ( a, y ) = 0 ∧ · · · ∧ pk ( a, y ) = 0). We then compute the Gröbner bases of

{ p1 ( a, y ), . . . , p j ( a, y ), p j+1 ( a, y ), . . . , pk ( a, y )},

(6.8)

in order to prove

∃y ( p1 ( a, y ) = 0 ∧ · · · ∧ p j ( a, y ) = 0 ∧ p j+1 ( a, y ) = 0 ∧ · · · ∧ pk ( a, y ) = 0). (6.9) If the reduced Gröbner basis of (6.8) is {1}, then the proposition (6.9) is false (unsolvable). Hence, proposition (6.3) is successfully proved. If the proposition (6.9) is true (solvable), we need to check whether none of the solutions delivers points and lines in the R2 Euclidean space. If the check is successful, we have proved proposition (6.3). Otherwise, the goal Ψ is not confirmed. In other words, the proposition (6.3) is not proved.

6.4.2 Proof of Isosceles crossing lemma and Isosceles trapezoid lemma Let us first discuss the proof of Isosceles crossing lemma. The construction of the isosceles crossing is implicit in the statement of the lemma. In O RIKOTO we describe the construction as follows.

6.4 Verification

157

EosSession["Isosceles crossing"] 1. NewOrigami[{110,10}]; NewPoint[{"E"→{35, 0},"F"→{Rationalize[32.8,10}}] 2. HO[∃∈Lines,g∈Points ( =="EF" ∧O5Q[g,"AB","E",] ∧ g ∈ "CD") MarkAt→"G", Handle→"A"] EndSession[]; The property that we want to verify is |FG| = |EG|. Squaring both sides of the above equation, we obtain the polynomial equality. Using it, we specify the goal: Goal[SquaredDistance["F","G"] == SquaredDistance["E","G"]]; after the construction. Then, we specify the initial point mapping. map1 = {"A" → {w1,0},"B" → {w2,0},"C" → {w2,ht}, "D" → {w1,ht},"E" → {0,0},"F" → {v,ht}}

(6.10)

Finally, to prove the lemma, we execute command Prove: Prove["Isosceles Crossing Lemma",Mapping→map1] The execution of Prove[...] returns a list of Success/Fail, CPU time of the Gröbner basis computation and the hyperlink to the proof document [2]. The first parameter of Prove is the (optional) label attached to the proposition to be proved, and the named argument Mapping is an initial point mapping. We let the size of the initial origami tape be (w2 − w1) × ht, the location of point E be {0, 0}, and the location of point F be {v, ht}. The variables w1, w2, ht and v in the mapping are arbitrary variables, called independent variables. This mapping corresponds to fixing a in formula (6.6). We can prove Lemma 6.2 in the shtame way. For the construction of the isosceles trapezoid, we use the commands of program P1 that execute Steps 1 - 3. Then we specify the goal of the proof as follows. Goal[SquaredDistance["H","G"]==SquaredDistance["E","F"]] The proof command is the same as that for Lemma 6.1 (apart from label of the proposition).

6.4.3 Proof of regular pentagonal knot constructed by constraints In this subsection, we explain the proof of the pentagonal knot construction by the constraint solving fold discussed in SubSection 6.3.2. We use Program P2 in Subsection 6.3.2 for the construction. Now the goal of the proof is as follows.

158

6 Polygonal Knot Origami

Goal[∀ω ∈C

(ToC["E","H"] == ω ToC["G","H"]⇒ ToC["H","G"] == ω ToC["I","G"]∧ ToC["G","I"] == ω ToC["F","I"]∧ ToC["I","F"] == ω ToC["E","F"]∧ ToC["F","E"] == ω ToC["H","E"])]

(6.11)

Here, we use ω to denote the value eθi , where θ is the interior angle of each vertex of the pentagon. Indeed, from the goal we can deduce ω 5 = −1, and θ = 3π/5. In Section 5.5 of Chapter 5, we discussed the use of the C-domain to describe the goal of the proof of the regular pentagon construction by EO folds. The use of the C-domain is particularly effective when the goal involves the relations among the angles in the geometric configuration. To facilitate the use of function ToC that converts point locations to complex numbers, we use the following lemma. Lemma 6.3 Let X, Y and Z be distinct points on the 2D Euclidean plane equipped with the Cartesian coordinate system. Furthermore, let ω be reθi (r > 0), where θ is ∠XYZ. Then, the following relation holds. ToC( X, Y ) = ωToC( Z, Y ), if | XY | = r | ZY |,

(6.12)

where function ToC is defined in page 128, Chapter 5. The proof is by simple algebraic computation using the definition of function ToC. We can immediately grasp the meaning of the lemma by the correspondence between a vector space and C-domain (see Problem 6.4). Using function ToC, we obtain the goal (6.14). After specifying the goal, we define the initial point mapping map2 = { "A" → {w1,0},"B" → {w2,0},"C" → {w2,ht}, "D" → {w1,ht},"E" → {0,0}} (6.13) similarly to the proof of Isosceles crossing lemma, and execute command Prove. Prove["Theorem ofRegular Pentagonal Knot", Mapping → map2], which returns “success”. This shows that we have constructed a regular pentagonal knot.

6.5 Regular heptagonal knot

159

6.4.4 Proof of regular pentagonal knot constructed by fastening The same construction and proof method is used in the proof of Theorem 6.1. The premise Φ is computed using the record of the construction from the beginning to the end of the construction. What we have to do is to set up a proper goal. For the proof of the loose regular pentagonal knot, we call: Goal[∀ω ∈C

("I" == "J"⇒ ToC["E","H"] == ω ToC["G","H"]⇒ ToC["H","G"] == ω ToC["I","G"]∧ ToC["G","I"] == ω ToC["F","I"]∧ ToC["I","F"] == ω ToC["E","F"]∧ ToC["F","E"] == ω ToC["H","E"])]

(6.14)

and then execute Prove["Fasten regular pentagonal knot",Mapping→map1] where map1 is defined in mapping (6.10). The execution of command Prove[...] returns “success.”

6.5 Regular heptagonal knot We can construct a heptagonal knot similarly to the pentagonal knots. We first consider a method similar to the method for constructing a loose pentagonal knot. We construct arbitrary new points E and F on the initial origami tape; E on line AB and F on CD of the initial tape. We take the angle ∠FEB slightly larger than 5π/7, so that we have wide enough slits through which we insert the part of the tape. When the construction of the rigid heptagon completed, it is regular and hence ∠FEB = 5π/7. We then construct a loose pentagonal knot by performing fold O5 three times, as we did by program P1. We obtain pentagon EHGJF shown in 6.8(a). Let 1 , 2 and 3 be the fold-lines used (in this order) in the three O5 folds. The 4th fold O5 along fold-line 4 is defined by O5Q(E, D1 F, G, 4 ) and the 5th fold O5 by O5Q(J, (D1 )4 E, E, 5 ). We need to pay attention to the named arguments Handle, Direction and InsertFace, to make the knot rigid. They are as follows:

160

6 Polygonal Knot Origami

Handle → {"A", "B", "B", "A","A"} Direction → {Valley, Valley, Mountain, Mountain, Valley} InsertFace → {0, 0, Bottom, Bottom, 6} Note • The points A and B in the list of named argument Handle denote the points marked with "A" and "B" (respectively) at the time of the use as the handle. • Each face is assigned a face id (identifier) during the origami construction. We can retrieve the face id from the origami by the visualization tools. We discuss the face id in Chapter 7. • The value 6 in the last item in InsertFace is the face id. Together with the last item Valley in the list of Direction, we specify that the moved face is inserted below face 6. The condition SquaredDistance(E, F) = SquaredDistance(K, J)

(6.15)

realizes logically the fastening of the tape to make the heptagonal knot rigid. Figures 6.8(b) and (c) show the further two steps of the construction of the heptagonal knot (d) from the loose pentagonal knot (a). When we locate point F at the position satisfying ∠FEB = 5π/7 − ε(> 0), the shape of the knot looks like a heptagon close to the regular one. Similarly to the case of the regular pentagonal knot, to computationally construct the regular heptagon ELHGKJF , we remove point F and add further constraints of the equalities of the sides. We redo the construction after adding the constraints as we did in Subsection 6.3.2. We obtain the regular heptagon shown in Fig. 6.8(d). As for the proof, we have different goals in both cases of loose and regular heptagons. However, each of them is similar to the pentagonal knots. We leave the proofs as an exercise to the readers (see Problem 6.7). The assumption (6.15) should be added as the assumption of the implication in the goal, as in the case of the proof of the loose heptagonal knot. Recall when we worked on the loose pentagonal knot, we used the assumption I==J.

6.6 Bibliographic and historical notes This chapter is based on the results published by this author et al. [4]. In this monograph, we concisely discussed the subject of knot folds both in theory and practice; the new version of E OS assists the construction and verification of the knots folds. We included the O RIKOTO programs so that the readers

6.7 Summary

161

(a) Third (insert) fold

(b) Fourth (insert) fold

(c) Loose heptagonal knot

(d) Regular heptagonal knot

Fig. 6.8: Construction of a regular heptagonal knot

can experiment with those programs and further extend the results to more complex polygonal knots. The method of the knot fold is so simple that it should be familiar to ordinary people since the age of early human civilization with materials different from pieces of paper. However, only from the middle of the 20th-century mathematical investigations of the knot folds started to appear (e.g., see [5, 8, 9]). Brunton showed several interesting examples, although without giving detailed construction and verification. In 1982, Sakaguchi published a short note giving simple proofs of pentagonal and heptagonal knots. He remarked that his synthetic proofs could easily be extended to (2n+1)-gonal knots [8]. More recently, Maekawa revisited the polygonal knot folds by an origami tape and indicated topics of a future research [7].

6.7 Summary • We discussed a method of the knot fold. The knot fold uses an origami of tape-like shape. We can construct a knot of a polygonal shape by the knot fold. Besides Huzita-Justin folds, we use the language extension of O RIKOTO to describe a finer specification of the construction of points and lines on the tape. At the final step of the construction of the polygo-

162









6 Polygonal Knot Origami

nal knot, we fasten the tape tightly, by pulling both ends of the tape outwards, so that the final knot becomes rigid and regular in the case of a 2n + 1-gonal knot. We do not specify this fastening as the last command of the knot fold program. We neither model logically the movement of the edges of the knot triggered by fastening, nor simulate the moves. Instead, we formulate the final rigid regular polygonal knots with algebraic constraints. We analyzed the knot fold rigorously, employing the theorem-proving capability of E OS. The prover uses the method of Gröbner basis computation. The geometric construction by the knot fold is different from the 2D geometric construction by a straightedge and a compass, and by HuzitaJustin folds. The knot fold requires the overlapping (origami) faces and the insertion of a face through the slits created by the layers of the overlapping faces. To realize the knot fold computationally, we extended O RIKOTO to enable the programmer to write the specification of the folding operations in the underlying logic language L introduced in Chapter 3. The Lextension is realized by command HO taking a logical formula as an argument. We mainly discussed a pentagonal knot as it is the simplest rigid polygonal knot. However, the methodology we explained is general enough. We briefly discussed the streamlined construction and verification of a regular heptagonal knot, as well.

Problems 6.1. Proof of Lemma 6.1 Prove Lemma 6.1 by synthetic reasoning of the Euclidean geometry. 6.2. Construction of a dodecagonal knot Construct a dodecagonal knot shown in Fig. 6.9. Note that in the figure, we have a hole in the center of the dodecagon. Design a method of constructing a regular dodecagon that has not a hole in the center. 6.3. Construction of a loose pentagonal knot Convince yourself that the following program constructs a loose pentagonal knot, and verify using E OS prover that if J is made to coincide to I, the knot becomes regular pentagonal. EosSession["Loose pentagonal knot"]; $$lTape = {110,10}; $$posE = {35, 0};

6.7 Summary

163

(a) Dodecagonal front side

knot:

(b) Dodecagonal knot: upside-down view of (a)

Fig. 6.9: Dodecagonal knot

$$posF = {Rationalize[32.8],10}; 1. NewOrigami[$$lTape] NewPoint[{"E"->$$posE,"F"->$$posF}] 2. HO[ "EF",Handle->"A"] 3. HO[ "FC",Mark->{{"EA","G"}},Handle->"A"]! 5. HO["F","EB","G",Mark->{{"EB","H"}}, FoldLine->1,Handle->"B"] 6. HO["FD",Handle->"C",Mark->{{"CG","I"}}]! 8. HO["H","CG","F",FoldLine->1,Direction->Mountain, InsertFace->Bottom,Mark->{{"CG","J"}}, Handle->"B"] EndSession[]; 6.4. Extension of function ToC We overload function ToC, defined in page 128, to include vectors in its domain, such that   x − → − → and x, y ∈ R. ToC( v ) x + yi, where v is a location vector y

→ Let− u =



 cos θ − sin θ − → v. sin θ cos θ

→ → Namely, vector − u is the result of rotating − v by an angle θ counterclockwise around the origin of the Cartesian coordinate system of the R2 Euclidean plane. Show that → → u ) = eθi ToC(− v ). ToC(− 6.5. Collinearity in the algebraic representation Prove the following. For all points P( x1 , y1 ), Q( x2 , y2 ) and R( x3 , y3 ) on the 2D Euclidean plane equipped with the Cartesian coordinate system,

164

6 Polygonal Knot Origami

P, Q and R are collinear ⇔ − x2 y1 + x3 y1 + x1 y2 − x3 y2 − x1 y3 + x2 y3 = 0. This representation is usually more efficient, in than it does not nvolved the notion of a line. In O RIKOTO, "P" ∈ "QR" is transformed to CollinearQ["P", "Q", R"]. 6.6. Construction of heptagonal knot In FIg.6.8(d), suppose that point E is located at ( x, 0). When the (simple) polygon ELHGKJF is a regular heptagon, show that point F is located at ( x − w cot(3π/7), w), where w is the width (vertical direction) of the tape. 6.7. A program to construct and verify a heptagonal knot Write an O RIKOTO program to construct and verify a loose heptagonal knot, when fastened, becomes a regular heptagonal knot. Use the goal in the program of the loose pentagonal knot as a hint. Try the construction and verification of a regular heptagonal knot, similarly to the case of the pentagonal knot in Subsection 6.3.2. 6.8. Construction of angle trisection by L-extension The following is an O RIKOTO program of constructing trisectors of ∠EAB which uses L-extension. EosSession[ ]; NewOrigami[10];NewPoint["E"->{7,9}]; HO["AE"]! HO["BE"]! HO[∃m,n∈Lines (O5Q["B",n,"A",m] ∧ O5Q["E",m,"A",n])] HO[∃m,n∈Lines (O5Q["B",n,"A",m] ∧ O5Q["E",m,"A",n]), Mark->{1->{{"BC","A1"}}, 2->{{"BC","A2"}}}, Handle -> {"B","E"},Case->1] 8. UnfoldAll[] EndSession[]

1. 2. 4. 6-. 6.

This example shows that the multi-fold method can be realized by Lextension (see Fig. 6.11(c)). To trisect an angle, we perform a 2-folding operation. To trisect ∠EAB shown in Fig. 6.10(a), we use fold-lines m and n that are the trisectors, such that we superpose point B and line n by fold-line m, and point E and line m by fold-line n. The fold-lines m and n are the ones that are generated by rules O5. The commands at Steps 6- and 6 determine the lines m and n. The result of the execution of the command at Step 6- is shown in Fig. 6.10. We select the case 1 in the command of Step 6. We can understood the rest of the program easily with reference to Figs. 6.10 and

6.7 Summary

165

Fig. 6.10: Three cases of 2-fold-lines shown at Step 6-

(a) Step 6

(b) Step 7

(c) Step 9

Fig. 6.11: Trisectors of ∠EAB by 2-fold method 6.11, where we see the trisectors m = AA1 and n = AA2. There are three cases of the pair of (m, n). (a) Discuss the foldability by hand of this 2-fold method of trisection. (b) Prove that for arbitrary point E on the given origami, the two lines AA1 and AA2 are the trisectors of ∠EAB both by synthetic geometric reasoning and by E OS prover.

166

6 Polygonal Knot Origami

6.9. Letter fold by L-extension of HO Suppose you are given a US standard business envelope and a standard

(a) Letter fold

(b) Unfold

Fig. 6.12: Letter fold US business letter paper. Fold the letter paper in a standard manner, so that it is inserted into the business envelope using the 2-fold method given by L-extension of HO. See Fig. 6.12.

References

167

References 1. R. C. Alperin and R. J. Lang. One-, two, and multi-fold origami axioms. In Origami 4, Proceedings of the Fourth International Meeting of Origami Science, Mathematics, and Education (4OSME), pages 371–393. A K Peters Ltd., 2009. 2. F. Ghourabi, T. Ida, and A. Kasem. Proof Documents for Automated Origami Theorem Proving. In Automated Deduction in Geometry, volume 6877 of Lecture Notes in Computer Science, pages 78–97. Springer, 2011. 3. H. Huzita, editor. Proceedings of the First International Meeting of Origami Science and Technology, Ferrara, Italy, December 1989. 4. T. Ida, F. Ghourabi, and K. Takahashi. Formalizing Polygonal Knot Origami. Journal of Symbolic Computation, 2014. 5. J. K. Brunton. Polygonal Knots. The Mathematical Gazette, 45(354):299–301, 1961. 6. J. Justin. Résolution par le pliage de l’équation du 3e degré et applications géométriques. L’Ouvert, (42):9 – 19, 1986. 7. J. Maekawa. Introduction of the study of knot tape. In Origami5 , Proceedings of the Fourth International Meeting of Origami Science, Mathematics, and Education (5OSME), pages 395–403. CRC Press, 2011. 8. K. Sakaguchi. On Polygons Made by Knotting Slips of Paper. Technical Report of Research Institute of Education, Nara University of Education, 18:55–58, 1982. 9. D. Wells. The penguin dictionary of curious and interesting geometry. Penguin Books Ltd, 1991.

Chapter 7

Abstract Origami

Abstract We discuss an abstraction of origami. We formalize origami by the abstract rewriting. We describe an origami construction by abstract rewritings of a rewriting system (O, ), where O is the set of abstract origamis and  is a binary relation on O, that models a fold. An abstract origami is a structure (Π, , ), where Π is a set of faces constituting an origami, and  and  are binary relations on Π, each denoting adjacency and superposition relations between the faces. This view is one step forward towards our more profound understanding of 3D and semi-3D origami folds, where we have overlapping faces. We take a classical origami crane as an example of our discussion and show how the theories discussed in this chapter formally analyze it.

7.1 Introduction In this chapter, we explain an approach to formalize origami construction as a rewrite sequence of an origami. Intuitively, a single square origami is transformed by a fold to another shape. Then the transformed one is again transformed into a yet another one, and so on. Therefore, to formalize the origami construction by folds as a rewrite sequence is plausible. Our goal of this chapter is to obtain an abstract view of origami that leads us to develop a 3D origami model. Although an origami fold by hand appears to be a simple operation to humans, the anatomy of origami from the mathematical and computational point of view we have tried so far in this monograph revealed that it is not the case. The difficulty comes from the fact that there are two distinct kinds of operations in the origami fold, i.e., division and reflection of origami faces. These operations lend themselves to different modes of computations: algebraic and numeric computation on geometric objects on the one hand, and symbolic and combinatorial computation on discrete objects, on the other. For example, finding an intersection © Springer Nature Switzerland AG 2020 T. Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation, https://doi.org/10.1007/978-3-319-59189-6_7

169

170

7 Abstract Origami

of lines and checking the overlap of two faces are of the former kind, and computing the adjacency and superposition relations on faces are of the latter. These computations tend to get mixed when we analyze origami mathematically. The implementation of computational origami system E OS [5], for example, relies much on algorithms that resort to mixtures of algebraic, numeric, and symbolic computing. Sometimes the algorithms are hard to describe concisely in mathematical terms because of this complication. This chapter is the first step to a clear separation of computations of discrete (symbolic and algebraic) and continuous(numeric) attributes of origami. We focus on the former aspect of computational origami by abstracting origami folds.

7.2 Formalizing origami 7.2.1 Towards mathematical modeling of origami in 3D In this chapter, we treat two dimensional (2D) and three dimensional (3D) origami geometries, although we do not study the latter in full generality. Nevertheless, we need to be careful about the usage of fundamental terms that cover both 2D and 3D geometries. The term “side” has different meanings when used in 2D and 3D geometries; (i) an edge of a polygon in 2D geometry, and (ii) a face of a polyhedron. The latter usage of “side” is the generalization of the usage (i) in the higher dimension. Thus, when we discuss both 2D and 3D geometries simultaneously, the use of “side” may be confusing. In this chapter, we use “side” only to mean (ii). We use “edge” to mean (i). The term “face” is also used to express the meaning of (ii). We start an origami construction with a sheet of paper and repeat folding the sheet until it becomes a desired shape. We can model an origami, thus constructed as a set of faces with vertical and horizontal neighboring relations on them. During the construction, we divide the specified faces into pairs of sub-faces by a fold-line. Then, we move some of the sub-faces by reflection along the fold-line. As a result, some new faces become above or below the others. The faces become stratified. The layers of the faces often exhibit an unexpected and remarkable shape, which we may regard as a piece of artwork, such as illustrated in Fig. 7.1. We can imagine that this origami model is a crane. It is one of the most popular origami artworks. Figure 7.2 (a) is the top view of the constructed object. In this case, we see that all the visible surfaces are colored the same. However, some of the faces below the surfaces are differently colored. It is because the original origami has two sides, each colored differently. During the construction, some faces become up, and the others become down, resulting in the two-tone object

7.2 Formalizing origami

171

Fig. 7.1: Origami crane

in general. Figure 7.2(b) is a 3D view of the same origami after we stretch it vertically by taking the superposing faces slightly far apart. From the shapes in Fig. 7.2, we can see that an origami can be formalized as a set of faces together with the relations that express relative locations, vertically (above or below, overlapping or non-overlapping) and horizontally (adjacent or separated), among the faces. When some faces become non-parallel to other ones, as in Fig. 7.1, we need to divide the origami into three sub-origamis in which no faces are non-parallel each other. We model the sub-origamis separately.

172

7 Abstract Origami

(a) Flat crane

(b) Stratified and vertically stretched flat crane

Fig. 7.2: Origami crane artwork

7.2.2 Abstract origami system An origami can be modeled at several levels depending upon the intended applications. We start our modeling of an origami by taking an origami as an algebraic structure (A, R ), where A is a set, and R is a binary relation on A. Here, we consider A to be a set of faces that constitute an origami, and R to be a geometric relation on the faces. The origami construction is a transformation of the algebraic structure viewed as an abstract rewriting system. We begin with this abstract view of an origami and gradually make our models more concrete. At first, we take a finite set of faces Π as the objects A, and introduce two binary relations on Π, expressing horizontal and vertical arrangements of faces rather than a single binary relation R mentioned above. Then, we have the following definition of an abstract origami system [4]. Definition 7.1 (Abstract origami). Let Π be a finite set of (origami) faces,  be a symmetric and irreflexive binary relation on Π, called adjacency relation and  be an asymmetric and irreflexive binary relation on Π, called superposition relation. An abstract origami is a structure (Π, , ). An abstract origami is abbreviated to AO , hereafter. We denote the set of AOs by O in general.

7.2 Formalizing origami

173

We next view an origami construction as a rewrite sequence of an abstract rewriting system [1].1 Definition 7.2 (Abstract origami system). An abstract origami system is an abstract rewriting system (O, ), where  is a rewrite relation on O, called abstract fold. When O , O (∈ O) are related by , we write O  O , meaning that O is rewritten or abstractly folded to O . We start an origami construction with an initial AO and perform an abstract fold repeatedly until we obtain the desired AO. Usually, we start an origami construction with a square sheet of paper, but the sheet can be in any shape having strict convexity. This initial sheet of paper is abstracted as a structure having a single distinguished face to be denoted by f 1 . Then, we define the initial AO, denoted by O1 , to be a structure ({ f 1 }, ∅, ∅). We denote O1 also by I . Suppose that we are at the beginning of step i of the construction, having AO Oi−1 = (Πi−1 , i−1 , i−1 ). We perform an abstract fold and obtain a next AO Oi = (Πi , i , i ). Thus, we have the following -sequence. Definition 7.3 (Abstract origami construction). An abstract origami construction is a finite -sequence of AOs

O1  O2  · · ·  O n . Relation Oi  Oi+1 for 1 ≤ i ≤ (n − 1) is called a single step construction. We decompose an abstract fold into two sub-operations to enable modeling both mathematical origami and traditional origami. We decompose a fold into the following two sub-operations: (a) tentatively crease the sheet to form a line segment, and then (b) fold along the line to make the sheet flat (see the photos in Fig. 7.3). We call the operation (a) tentative crease and operation (b) flat fold. In (2D) mathematical origami, we are primarily interested in constructing points on the origami. Those points form the vertices of the shape that we want to construct. Therefore, we only need the following; (i) the creases, (ii) the edges of the origami, and (iii) the intersections of the creases and the edges. Whereas in other origami such as recreational and art origami, we are interested in a variety of shapes that are composed of layers of faces. There, folding the sheets in a variety of ways makes interesting shapes. in this chapter, we are concerned with two fundamental folds, i.e., mountainfold and valley-fold. Other typical classical folds are combinations of the mountain- and valley-folds simultaneously. A mountain fold bends a target face outwards, and a valley-fold bends the target face inwards. By the observation of Fig. 7.3, we have the relation of the abstract fold  as the composition of the relations tentative crease (denoted by →), and flat 1

abbreviated as ARS, is called an abstract reduction system in [1].

174

7 Abstract Origami

(a) Crease tentatively

(b) Fold flatly

This figure shows the change of the origami whose up and down sides are colored blue and white, respectively, by the single valley-fold. On the origami (a), we crease the sheet "softly." The constructed crease is the part of the fold-line. Then, we fold the origami flat along the crease. In this case, we pick the right top corner, for example, of the origami (a), pull it upward, and rotate the upper face of the origami by degree π counterclockwise around the tentative crease. The real crease will appear when we unfold the flat folded origami (b).

Fig. 7.3: Crease and fold the origami 

fold (denoted by →). The flat fold is a union of mountain-fold (→) and valley fold (→). Namely, we have 







=→ ◦ →, where → = → ∪ → . 



In the case of an unfold, the tentative crease is the identity relation. Example 7.1 (Abstract origami construction). Given the initial AO O1 , we define O2 and O2 as follows: O2 = (Π2 , 2 , 2 ), where Π2 = { f 2 , f 3 }, 2 = {( f 2 , f 3 )}, 2 = ∅, O2 = (Π2 , 2 , 2 ), where Π2 = Π2 , 2 =2 , 2 = {( f 3 , f 2 )}. Figure 7.4 shows the rewrites of the initial AO. O2 is the abstraction of the origami obtained by folding the initial origami once. We obtain O2 , first by tentatively creasing O1 , obtaining O2 , and then by performing a valley-fold. describe We this folding process by

O1 → O2 → O2 . 



We allow a fold along the edges of the faces. The fold along one of the four edges of the initial origami is simply turning over the initial origami. O1 and the abstraction of the upside-down ones of O1 are considered the same. Hence, we have another origami constructions 

O1 → O1 → O1 . 

7.3 Geometric structure of origami

175



→ (a) Initial

→ 

(b) Tentatively crease

(c) Flat fold

Fig. 7.4: A single step in -sequence in geometric interpretation -1-



→ (a) Initial

→ 

(b) Tentatively crease on edge AD

(c) Turn over

Fig. 7.5: Another single step in -sequence in geometric interpretation -2-

Figures 7.4 and 7.5 show that one side of the face is colored differently from the other side. This property is abstracted away during the abstraction process that leads to the concept of the abstract origami system. The attribute of sides reappears when we give more geometric structures to the abstract model in the next section.

7.3 Geometric structure of origami Since the notion of the fold is central in the origami geometry and the abstract origami systems, we first examine the fold. We gave the fold relation

176

7 Abstract Origami

 a priori in defining the abstract rewriting system. In the above formalization and the examples, we had a small clue to observe how one AO is -related to the other AO from the computational point of view. By giving geometric ingredients to the abstract origami system, we can relate the AOs.

7.3.1 Face We rely on the following geometric intuition about a face as defined in [4]. (I1 ) A face is a bounded flat plane in the sense of Euclid’s Elements2 , but with two sides. (I2 ) A face f contains a point P if P is in the interior or on the boundary of a face f . We also say that point P belongs to face f , if f contains P. (I3 ) A face can share a part of its boundary with a part of the boundary of the other face (see Figs. 7.6 and 7.7). (I4 ) A face can be placed above or below the other face, and all the faces are stratified (see Fig. 7.8). (I5 ) A point P belonging to a face f can overlay a point Q belonging to the other face g (see Fig. 7.9). We, then, attach more geometric structures to a face by appealing to the readers for the intuition (I1 ) and (I2 ), and represent a face as a strictly convex n-gon. We represent a strictly convex n-gon as a sequence ! P1 , P2 , . . . , Pn " of pairwise distinct points, where points P1 , P2 , . . . , Pn are vertices of the ngon.3 Any cyclic permutations of a given sequence could represent the same face, but we choose one distinguished sequence among them to represent the same face uniquely. Although we do not refer to the property of strict convexity in our subsequent discussions, it is indispensable in the design of the algorithms for dividing a face and for checking a face overlap. Pi Pi+1 , where i = 1, . . . , n − 1, and Pn P1 are the edges of the face. When we say “directed edge”, the order of the two points matters. Otherwise, those edges are treated as undirected, i.e., as line segments. When points P1 , P2 , . . . , Pn are arranged counterclockwise, we say that the face is up, and when clockwise, down. This denotation confirms our intuition that a face has two sides. One is called the up side and the other the down side.4 Let us apply our intuition about the face to simple examples to confirm our perception about the face of an origami. Example 7.2 (Face). Figure 7.6 shows that two faces f 2 and f 3 lie on the same plane, and are connected by crease XY. The two faces share the edge XY. 2

See, for example, [6] as a reference of the translation from the original. We also write the sequence as P1 P2 · · · , Pn for short (see Appendix A). 4 In the figures of this monograph, we distinguish the two sides of faces by shading or colors, depending on the medium of the pages on which the figures are displayed. 3

7.3 Geometric structure of origami

177

Fig. 7.6: Faces sharing edge XY

Example 7.3 (Superposition of two faces). Figure 7.7 shows the two superposing faces.5 In Fig. 7.7 (a) two faces f 2 and f 3 share edge XY. If we fold the origami of Fig. 7.6 along line XY such that f 3 becomes above f 2 , we obtain the origami shown in Fig.7.7 (a). In Fig. 7.7(b), faces f 2 and f 3 are two parallel planes that are infinitesimally small gap δ > 0 apart. Yet, we consider that the two faces have the same edge XY.

(a) Origami after folding along line XY

(b) Vertically stretched folded origami

Fig. 7.7: Superposed faces sharing edge XY

Example 7.4 (Vertically arranged faces). Figure. 7.8 shows the result of an application of intuition (I4 ). The origami of Fig. 7.8(a) consists of four faces. The top face is f 3 . Below f 3 , there are two faces f 4 and f 5 . The bottom face is f 2 . The top view (a) shows only two faces f 3 and the part of f 2 . In Fig. 7.8(b), faces f 4 and f 5 become visible. We can arrange the four faces into three layers { f 3 }, { f 4 , f 5 } and { f 2 }. 5

Face superposition is the central notion that we define in Subsection 7.3.3. Until we come to Subsection 7.3.3, we use the term “face superposing” in a non-technical sense, but it coincides with our intuition.

178

7 Abstract Origami

(a) Top view of folded origami with four faces

(b) Folded origami stretched vertically

Fig. 7.8: Faces vertically arranged

Example 7.5 (Overlay of points). Figure 7.9 illustrates the application of intuition (I5 ). It amounts to state that we can superpose a point belonging to one face and the other point belonging to the other face. Figure 7.9 shows a straightforward example of such a configuration. Points P and Q belong to the different faces. We can observe that P overlays Q. Figure 7.10 shows the top views of the two folds to make P overlay Q.

Fig. 7.9: Point P overlays point Q

7.3.2 Face adjacency We can now define the adjacency relation as follows.

7.3 Geometric structure of origami

(a) Flat origami with points P, Q and R

(b) Fold to bring A to R

179

(c) Fold to bring Q to P

Fig. 7.10: Folds to make point P overlay Q

Definition 7.4 (Face adjacency). Two distinct faces are adjacent if they share an edge. We require that this adjacency relation holds between the two faces that have been constructed by the division of a face during the fold. We assume that the face division ensures the following properties, which we give as the axiom of face division. To describe the axiom, we introduce the following notation. When a face f is divided by a ray r into a pair of sub-faces ( f j , f k ), where f j is to the left of r and f k is to the right of r, we write f r ( f j , f k ). Here, we use a ray instead of a dividing line, since we need the notion of the direction of the line in order to determine whether the divided sub-faces are to the left or right of the tentative crease. Axiom 7.1 (Face division) Let (Π, , ) be an AO satisfying I ∗ (Π, , ), f be a face in Π and r be a ray. Suppose f r ( f j , f k ). Then, we have: 1. f j  f k 2. Let X and Y be the intersections of the edges of face f and ray r, and let XY be one of the directed edges of f j such that f j = ! X, Y, . . .". Then, f k = !Y, X, . . .". 3. The sides of faces f , f j and f k are the same. Example 7.6. We have I  O2 . O2 consists of two faces f 2 and f 3 . Face f 3 = ! P1 , P2 , P3 " and is shown in Fig. 7.11. Face f 2 is below f 3 and is not visible in the figure. We divide f 3 by ray r (= rayXY ). Then, we obtain faces f 4 = ! X, Y, P3 , P1 " and f 5 = !Y, X, P2 ". From the figure, we see that f 4 is adjacent to f 5 , i.e., f 4  f 5 , since edge XY is shared by f 4 and f 5 . Later, we also write f r f , where f is one of f j and f k , when we need only to specify one of the divided faces. We may omit the subscript r in r if the intended ray r is apparent from the context. We recall that the ngon ! P1 (= X ), P2 (= Y ), . . . , Pn " can be represented by any cyclic permutation of this sequence. However, we fix the representation as in Axiom 7.1. By !! X, Y "", we denote the set of all the finite sequences that have a sub-sequence ! X, Y ", and their cyclic permutations.

180

7 Abstract Origami

Fig. 7.11: Adjacency between divided faces

The following lemma is an immediate consequence of our construction. Lemma 7.1 Let (Π, , ) be an AO satisfying I ∗ (Π, , ). For all f , g ∈ Π ( f , g ∈ !! X, Y "" for some points X and Y ⇔ f = g). Proof. See Problem 7.3. Lemma 7.1 states that a directed edge of a face in a given Π uniquely identifies the face. As we have decided the denotation of a face, we have the following equivalence. Proposition 7.1 Let (Π, , ) be an AO satisfying I ∗ (Π, , ). For all f , g ∈ Π f  g ⇔ there exist points X and Y such that f ∈ !! X, Y "" ∧ g ∈ !!Y, X "". Proof. (⇐) Edge XY are shared by f and g. By definition, f  g. (⇒) We have either f ∈ !! X, Y "" ∧ g ∈ !!Y, X "", or f ∈ !! X, Y "" ∧ g ∈ !! X, Y "", for some points X and Y. The latter case is impossible by Lemma 7.1 and the irreflexiv ity of .

7.3.3 Superposition The superposition relation on the set of faces gives the vertical arrangement of faces. We have treated the superposition of lines and points in the 2D Euclidean geometry in the preceding chapters. The notion of superposition we introduce in this chapter is that of 3D. Furthermore, we restrict its use to the relation on faces. Whenever we use “superposition” in this chapter, we

7.3 Geometric structure of origami

181

refer to the face-face superposition, as we see no danger of the confusion of the two notions. In 2D, the superposition relation is reflexive, but in 3D, it is irreflexive, as we will see shortly. We first appeal to the readers for their intuition about the notion of above and below among faces (see Intuition (I4 )), where below is the inverse relation of above. We define formally the superposition relation that is consistent with this intuition. In brief, for two distinct faces f and g, g superposes f if g is above f and no face above f is below g. Example 7.7 (Face superposition). We use Example 7.1, again. Let us look at Fig. 7.4. We perform a valley-fold on face f 1 . Face f 1 is divided into ( f 2 , f 3 ). Face f 3 is rotated along ray EF by an angle π. Face f 3 is clearly above f 2 in O2 , and no face above f 2 is below f 3 . Hence, f 3 superposes f 2 . We now formalize the notion of superposition. We proceed as follows. First, we formalize the notion of overlap based on the intuition (I5 ). Then, we define relation over on the set of faces. Using the notion of over, we define relations above and superposition. Definition 7.5 (Overlap). Let (Π, , ) be an AO satisfying I ∗ (Π, , ), and f and g be faces in Π. Face f overlaps face g, denoted by f $ g, iff there exist points P and Q, each belonging to faces f and g respectively, such that P overlays Q. Example 7.8 (Overlap). Figure. 7.12 shows g1 $ g4 , since point P belonging to face g1 overlays point Q belonging to face g4 . One might imagine that there is a through-hole that penetrates the points P and Q.

Fig. 7.12: Overlap of faces

182

7 Abstract Origami

Defining the relation over requires more efforts. The difficulty comes from the fact that (i) the notion of over is inductively defined, and that (ii) we need to cope with several different geometric configurations. To analyze the fine geometric structures of AOs, we use the following denotations. We assume the context “Let (Π, , ) be an AO satisfying I ∗ (Π, , ).” =

r 

1 

ri

i =0

r  {( f , g) ∈ Π × Π | f ∈ !! X, Y "", g ∈ !!Y, X "", r = rayXY }   = r   \ r left(r)  {( f , g) ∈ Π × Π | f ∈ !! X, Y "", g ∈ !!Y, X "", X and Y are to the left of ray r }

¬left(r)   \ left(r) Each denotation has the following meaning. • Relation f r f describes the rewrite where ray r may not divide face f. • Relation r denotes the adjacency relation between the two faces that share the edge lying on ray r. • Relation =r denotes the adjacency relation between the two faces that share the edge lying on ray r different from ray r. • Relation left(r) denotes the adjacency relation between the two faces that share the edge to the left of ray r. • Relation ¬left(r) denotes the adjacency relation between the two faces that share the edge, not to the left of r. =

Example 7.9. Consider the origami shown in Fig. 7.13. We should note that the origami is constructible. From the figure, we can see the relations such as the following. f r g, f ¬left(r) g, f ¬left(s) g, g ¬left(s) h, g =r h, g left(r) h. To make creases on an origami, we need to specify a ray r and a set C of faces that we divide and crease afterwards. We call C a candidate set of face division. Origamists specify a set F (⊆ Π) of faces that they want to crease. Then, C is determined as   g ∈ Π | g ∗¬left(r) f . C= f ∈F

Whenever we discuss the fold , we give r and C either implicitly or explicitly.

7.3 Geometric structure of origami

183

Fig. 7.13: Adjacency relation on faces 

To perform the flat fold O → O after the tentative crease O → O (= (Π ,  ,  )), we need to determine set Π M of faces that are to be moved, i.e., rotated for the reflection, and set Π N of faces that are not moved. We compute Π M and Π N as follows: Let D (⊆ Π ) be the set of the faces that have been constructed by the divi sion in O → O and are to the right of ray r.    g ∈ Π | g ( =r ∪  )∗ f , and (7.1) Π M = 

f ∈D

Π N

= Π \ Π M .

(7.2)

Using this classification of the faces, we define a binary relation over on the set of faces. Definition 7.6 (Over [4]). Let O be an AO (Π, , ) satisfying I ∗ O . We define relation over, denoted by , on Π inductively on the construction of AOs. Suppose I ∗ O . Base case: O = I We define  = ∅. Inductive case:  We proceed in two sub-steps since one  is the composition of → and 

→. 

1. The first sub-step is I ∗ O → O , where O = (Π ,  ,  ), and O = (Π ,  ,  ). Relation  has been defined on Π . We define  on Π as follows.

184

7 Abstract Origami

For all f , g ∈ Π f  g if there exist f , g ∈ Π ( f  g ) ∧ ( f f )∧ =

( g g ) ∧ ( f $ g ). =

2. For the second sub-step, we distinguish two flat folds, i.e., valley   fold (→) and mountain fold (→).   (i) I ∗ O → O → O , where O = (Π ,  ,  ), and O = (Π ,  ,  ). Relation  has been defined on Π . We define  on Π as follows. Note that in both cases, we have Π = Π and that f $ g is geometrically well-defined for all f , g ∈ Π. For all f , g ∈ Π f  g if ( g  f ∧ f , g ∈ Π M ) ∨ ( f  g ∧ f , g ∈ Π N )∨

( f $ g ∧ f ∈ Π M ∧ g ∈ Π N ).



(ii) I ∗ O → O → O , where O = (Π ,  ,  ), and O = (Π ,  ,  ). Relation  has been defined on Π . We define  on Π as follows. 

For all f , g ∈ Π f  g if ( g  f ∧ f , g ∈ Π M ) ∨ ( f  g ∧ f , g ∈ Π N )∨

( f $ g ∧ g ∈ Π M ∧ f ∈ Π N ).

Definition 7.7 (Above). Let (Π, , ) be an AO satisfying I ∗ (Π, , ). A binary relation above on Π is the transitive closure of  ( i.e., + ) defined on Π. We also use > to denote + . The relation below is the inverse relation of above. Example 7.10 (over and above). Figure 7.14 illustrates the relations over and above. We have an abstract origami rewrite sequence

O1 → O2 → O2 → O3 → O3 , 







and O3 is an abstraction of the origami shown in the figure. The two arrows in the figure denote the rays used in the two folds. The left one is the ray used in the first tentative crease and the subsequent (mountain-)fold. We use the right ray in the second crease, and the subsequent (valley-)fold. We denote the three faces thus constructed by g1 , g2 and g3 , as shown in Fig. 7.14. We have g3  g2 and g2  g1 . Hence, face g3 is above g1 and g2 . Face g2 is above g1 . However, ¬( g3  g1 ) since g1 and g3 do not overlap. This shows that relation  is not transitive.

7.3 Geometric structure of origami

185

Fig. 7.14: Relations over and above

We now give a characterization of superposition relation  on faces using relation . Definition 7.8 (Superposition). Let (Π, , ) be an AO satisfying I ∗ (Π, , ), and f , g ∈ Π. f  g ⇔ (( f  g) ∧ (for all h ∈ Π ( f  h ∗ g ⇒ h = g))) . Example 7.11 (Superposition). In Example 7.10, we immediately see g3  g2  g1 . However, ¬( g3  g1 ) since g3  g2  g1 and g2 = g1 . We devote the remaining pages of this section for proving Theorem 7.1. The following lemma is used to prove Lemma 7.3. Lemma 7.2 Let (Π, , ) be an AO satisfying I ∗ (Π, , ). For all f , g ∈ Π ( f > g⇒there exists h ∈ Π ( f  h ∗ g)).

(7.3)

Proof. We prove the case that > is  in formula (7.3). It is straightforward to extend the proof to the case that > is + . Let f and g be arbitrary but fixed elements of Π, satisfying that f  g. Let G {k ∈ Π | f  k}. G is non-empty and is partially ordered by . We prove that there exists a face h ∈ Π such that ( f  h ∗ g) by the induction on the cardinality of G. Base case: The base case is that the cardinality of G is 1. We take h = g. By the definition of , f  h. Hence, formula (7.3) holds. Inductive case: Let H be the set of the maximal elements of G. Obviously, H = ∅. We distinguish the following two cases. (i) If g ∈ H, then f  g by definition of . Hence, formula (7.3) holds. (ii) If g ∈ H, then there exists h ∈ G satisfying h  g. We consider G G \ { g} and f  h for our inductive argument. The cardinality of G is one

186

7 Abstract Origami

less than the cardinality of G. By the induction hypothesis, there exists h ∈ Π such that f  h ∗ h. Thus, we obtain f  h ∗ h  g. Hence, formula (7.3) holds.

  Lemma 7.3 Let (Π, , ) be an AO satisfying I ∗ (Π, , ). For all f , g ∈ Π ( f > g ⇒ f + g).

(7.4)

Proof. Since the -sequence is acyclic (see Problem 7.6), the relation  on Π is a well-founded order. We prove formula (7.4) by the well-founded induction. Let f and g be arbitrary but fixed elements in Π. Assume that f > g. By Lemma 7.2, there exists h ∈ Π satis f ying f  h ∗ g. If h = g, i.e., h 0 g , formula (7.4) holds. Next, we consider the inductive case. We have f  h ∗ g and h = g. Since  ⊃ , f  h ∗ g implies f  h ∗ g. By the induction hypothesis, h + g.  Hence, we have f  h + g, and consequently f + g.  Theorem 7.1 ( above and superposition [4]) Let (Π, , ) be an AO satisfying I ∗ (Π, , ). For all f , g ∈ Π ( f > g⇔ f + g). Proof. By Lemma 7.3, we have + ⊃ >. We easily derive the relation > ⊃ + from the definition of .   From this theorem, we see that the relation  is the finest relation to compose the above relation. Namely, given faces f and g of an AO constructed from the initial origami, f > g can be expanded to the -sequence of g1 (= f )  g2  · · ·  gn (= g). We also convince ourselves that relation > is an adequate notion on which we base our cognition of the vertical arrangements of faces.

7.3.4 Summary of the relations on origami faces We summarize the basic properties of the relations defined in the preceding subsections. We can easily prove that properties (1) - (4) hold from the definitions of involved relations. We leave it readers’ exercise to show properties (5) - (7) hold. Properties of the basic binary relations on Π Let (Π, , ) be an AO satisfying I ∗ (Π, , ).

7.4 Examples

187

(1) Asymmetry of  For all f , g ∈ Π f  g⇒¬( g  f ). (2) Irreflexivity of  For all f ∈ Π ¬( f  f ). (3) For all f , g ∈ Π ( f  g⇒ f $ g). (4) For all f , g ∈ Π ( f  g⇒ f  g). (5) Acyclicity of -sequence See Problem 7.6. (6) Acyclicity of -sequence See Problem 7.7. (7) Asymmetry of > See Problem 7.8.

7.4 Examples 7.4.1 Over and superposition relations on faces By a simple example, we show how the superposition and over relations are generated. We construct the origami shown in Fig. 7.16 by the following program. Program: Over and Superposition EosSession["Over and Superposition"]; MarkOn[]; 1. NewOrigami[10] 2. HO["A","B"]! 4. HO["B","E"]! 6. HO["A","G",Direction-> Mountain] 7. Unfold[] 8. HO["A","I"] 9. HO["C","F"] 10. HO["B","G"] EndSession[]; We show the graphics expressions of O3 - O10 at Steps 3 - 10 in Fig. 7.15. We increased the gap between the superposing faces. Moreover, E OS tries to form the horizontal layers of the adjacent faces, wherever possible. We have subtle problems of visualization of origami artworks since there is a discrepancy between the mathematical entity of a face and physical one. The faces in the model have an infinitesimal thickness, whereas the physical ones have a certain tangible thickness. Therefore, we cannot completely determine whether or not we adjoin the neighboring non-overlapping faces to form a flat layer of faces. When we visualize the models of an origami,

188

7 Abstract Origami

(a) Step 3

(b) Step 5 (Step 4 is skipped)

(c) Step 6

(d) Step 7

(e) Step 8

(f) Step 9

(g) Step 10

Fig. 7.15: Origamis O3 - O10 illustrating -relation

7.4 Examples

189

we still have the freedom to change the value of the gaps between the face layers. We will come to this point after examining the graphs of the over relation. Let us now follow the Program "Over and Superposition" step-by-step. Figure 7.15 shows the graphics outputs of the executed commands of Steps 3 - 10. We can see that the numerals are attached to each face of the outputs. The attached numeral is called a face-id (identifier) that uniquely identifies each constructed face during the whole construction process. Hereafter, we denote a face whose id is n by face n. The face division algorithm of E OS returns a pair of sub-faces (face 2n, face 2n + 1) when face n is divided by the fold-line. Then, by default, face 2n + 1 is to be rotated along the fold-line by π (valley-fold, default) or by −π (mountain-fold) or even by an arbitrary angle when we are constructing a semi-3D origami. Bearing this convention in mind, we see how each command is executed to produce the graphics output. 1. At Step 1, AO O1 = ({1} , ∅, ∅) is produced. 2. The initial face 1 is divided into faces 2 and 3. By our convention, command HO["A","B"] at Step 2 is the same as HO["A","B",Handle->"A",Direction->Valley] This means that Ray(F,E) is used to divide face 1. After the fold at Step 2 and the unfold at Step 3, we have the origami shown in Fig. 7.15(a). We have

O2 = ({2, 3} , {(3, 2)} , {(3, 2)}) and O3 = ({2, 3} , {(3, 2)} , ∅). AO O3 consists of faces 2 and 3, but has empty  relation (hence empty  relation), although 3  2. Therefore, it is left to the system to design that the two faces lie on the same horizontal plane, forming a single layer of faces, or that they form a kind of a stair. E OS tries to minimize the height of the origami by squeezing the faces into smaller levels of layers. We call this process face stratification. Note, however, this is not always successful since the layers would become cyclic unless we make the two unfolded faces a stair. See one of such examples in Problem 7.11. 3. The HO commands at Steps 4, 6, 8, 9 and 10 are all fold O2. Only the HO command at Step 6 performs the mountain-fold. We leave the computation of AOs O4 - O9 to the readers’ exercise (see Problem 7.9). The final AO is

O10 = ( {4, 6, 14, 15, 10, 11} , {(15, 14), (14, 6), (6, 4), (4, 10), (10, 11)} , {(11, 10), (10, 4), (15, 14)}).

190

7 Abstract Origami

It is hard to see the vertical arrangements of the faces from the flattened origami. Figure 7.16 shows the vertically stretched view of the origami O10 , from which we can see the face ids.

Fig. 7.16: Vertically stretched view of O10

7.4.2 Graphs of an abstract origami We can grasp the relations of adjacency, over and superposition easily when we draw the graphs representing the relations. From AO (Π, , ), we define an -(undirected) graph by regarding relation  as the set of the (undirected) edges of the graph and Π as the set of the nodes of the graph. When we compute AO (Π, , ), we also obtain the relation  on Π. We define a directed graph (Π, ) from AO (Π, , ) by regarding Π as the set of the nodes of the directed graph and relation  as the set of the directed edges of the directed graph. We call this directed graph an -graph. We obtain the -graph by the transitive reduction of the -graph. The graph in Fig. 7.17 (a) is the -graph of O10 . The bottom of the graph corresponds to the bottom side of the origami. The label i of each node corresponds to face i. We recognize that this -graph is not a connected graph; it consists of three subgraphs. The subgraph consisting of Face 6 is isolated. We have no overlap with face 6. The edge from face 15 to face 14 forms a single (sub)graph. It corresponds to the left part of the face overlap in the origami of Fig. 7.16. The remaining subgraph (the rightmost one) corresponds to the right part of the overlaps of the three faces 11, 10, and 4. The graph in Fig. 7.17 (b) is the -graph transformed from the -graph. It is the transitive reduction of the -graph. We can see the directed edge from face 11 to face 4 has been removed. The other part of the graph is unchanged. Figure 7.18 shows the layers graph used to visualize the AOs using the geometric data linked from AOs. As noted earlier, we have the freedom of choice of the height of faces 4, 6, and 14. In Fig. 7.16, we place faces 4, 6,

7.4 Examples

191 11

10

15

11

15

14

10

14

6

6

4

4

(b)  -graph

(a) -graph

Fig. 7.17: -graph and -graph representing O10

11

10, 15

4, 6, 14

Fig. 7.18: Layers graph representing O10

and 14 at the same height and set the gap between the faces that are related by the superposition relation to one unit. This design choice is reflected in Fig. 7.18. The layers graph in Fig. 7.18 shows the following. (i) The leftmost node denotes the top layer, i.e., the level-2 layer. It consists only of one face 11. (ii) The second node from the left is the next layer that is one layer below, i.e., the level-1 layer. It consists of faces 10 and 15. (iii) Faces 4, 6, and 14 are at the same level , i.e., level-0, and form the bottom layer. (iv) When visualizing the AO as an origami artwork, The gaps between level-i and level-(i + 1), for i =0 and 1, are set equal.

192

7 Abstract Origami

7.4.3 Example - construction of an origami crane In this subsection, we take the popular classical origami as an example to see more complex graphs. In Fig. 7.19 we show the program for constructing the crane.6 To fold the crane by the traditional method, we need the inside-reverse folds. To realize the inside-reverse fold, we split the origami into two suborigamis and perform a mountain-fold and a valley-fold separately on each sub-origami, and then merge the folded sub-origamis. These operations substantially complicate the modeling of an origami.7 In Figs. 7.20 and 7.21, we show the graphics outputs in Steps 1 - 19. The outputs at Steps 18 and 19 are different kinds from other ones since those are not the results of the flat folds. The commands at Steps 18 and 19 have the parameter of face rotationπ/2. By those commands, we construct the openings of the right and left feathers of the crane. Thus, we make the origami three dimensional. To handle 3D origamis, we need to extend the model of AO for 3D. We do not discuss this extension in this monograph. The last one is a snapshot of the interactive transformation of the image with the Mathematica built-in graphics manipulation tools. In Figs. 7.23 and 7.24, we show the -graph and the -graph of the origami crane O15 , respectively. The graphics representation of O15 is shown in Fig. 7.21(f). We observe that each edge of the -graph corresponds a crease. However, the polygons formed by the edges do not reflect the real shapes of the faces of the development (called crease pattern) of the completed origami. The shapes of the graphs are automatically computed by the builtin Mathematica graph drawing algorithm (unless we specify the parameters that affect the shapes).

7.5 From abstract origami to computational origami This section is devoted to the algorithmic description of the folds based on the abstract origami system. When an (abstract) origami consists of the faces with non-empty superposition relations, the computation involved in the 6

designed by H. Takahashi The current version of E OS incorporates more sophisticated classical methods of folds such as the inside-reverse, outside-reverse, and squash folds, which play essential roles in constructing intricate art and recreational origamis.

7

7.5 From abstract origami to computational origami

193

EosSession["Crane"]; NewOrigami[4] ValleyFold[Ray[{4, 4}, {0, 0}]] InsideReverseFold[{2, 3}, Ray[{4, 2}, {2, 2}]] InsideReverseFold[{4, 6}, Ray[{2, 2}, {2, 0}]] InsideReverseFold {13, 12}, Ray

2 - 2 , {4, 0}

2, 2

InsideReverseFold {24, 7}, Ray {4, 0}, 6 - 2 InsideReverseFold {8, 9}, Ray

2,2

2 - 2 , {4, 0}

2, 2

InsideReverseFold {5, 16}, Ray {4, 0}, 6 - 2 ValleyFold Ray

2 -2 , 6-2

2, 2

MountainFold Ray

2, 2 - 2

ValleyFold Ray

2 +2

ValleyFold Ray {4, 0}, 2 + 2 MountainFold Ray

2,2

2 -2 , 6-2

2, 2

2, 2 - 2

2,2

4-2 2 -2

2 +2

MountainFold Ray {4, 0}, 2 + 2

2,2

2

, {4, 0}

4-2

2 ,2

4-2

2

, {4, 0}

2 -2

4-2

2 ,2

10 - 7

2 ,2

InsideReverseFold {20, 28}, Ray

4-

2,

2 +2

2 , 2

InsideReverseFold {36, 52}, Ray

2, 4 - 2

2 -2

10 - 7

2

, 4-

2,

2

InsideReverseFold {41, 57}, Ray {3, 4}, 2, 2 ValleyFold Ray 2, 2 - 2

2 +2

2+2

2 -2

4-2

MountainFoldRay2 + 2 2, 2 - 2

2 +2

4-2

2 2 -2

4-2

2

2 ,2 ,

, π  2 4-2

2 , 2,

2 , π  2

EndSession[];

Fig. 7.19: O RIKOTO program of constructing a crane

construction becomes more complicated. It does not admit the same algebraic interpretation as we had in the 2D origami geometry. We briefly discuss the relationship between the origami folds and the AO rewrites and try to fill the gap of the description between the implementation (as in E OS) and

194

7 Abstract Origami

(a) Step 1

(b) Step 2

(c) Step 3

(d) Step 4

(e) Step 5

(f) Step 6

(g) Step 7

(h) Step 8

(i) Step 9

Fig. 7.20: Origami crane construction: Steps 1 - 9

the theories of AO rewriting systems. Computationally, an origami fold is a composite operation consisting of the following actions. 1. Decide the fold method and set F of the faces that we want to perform a fold. We can specify the fold method by one of Huzita-Justin rules [3, 7] or classical fold methods, with constructed points and lines as arguments together with the direction (mountain or valley) and the angle of the rotation. 2. Compute a fold-line and define the ray r. 3. Compute set C of the faces that are the candidates for the face division, from F. 4. Divide all the faces in C by ray r and classify the newly constructed faces into the divided and non-divided ones. 5. Obtain a new set Π of all the faces that constitute the origami.

7.5 From abstract origami to computational origami

195

(a) Step 10

(b) Step 11

(c) Step 12

(d) Step 13

(e) Step 14

(f) Step 15

(g) Step 16

(h) Step 17

Fig. 7.21: Origami crane construction: Steps 10 - 17

Compute the adjacency relation  on Π.  Compute the →-relation on Π. Rotate the selected faces to the right of ray r along r. Compute a new -relation on Π caused by the rotation. Compute a new -relation from -relation. (Π, , ) is the new origami constructed by the fold. 11. Compute the layers relation for the visualization of the new origami.

6. 7. 8. 9. 10.

As we saw in Section 7.2.2, a fold is functionally decomposed into two sub-operations. Steps 1 - 7 constitute one sub-operation which corresponds to the tentative crease, and Steps 8 - 10 constitute the other sub-operation

196

7 Abstract Origami

(a) Step 18

(b) Step 19

(c) Step 19 - viewpoint changed

Fig. 7.22: Origami crane construction: completed

corresponding to the flat fold. After Step 10, we have a new well-defined origami. Step 11 is for the visualization of the constructed origami.

7.6 Bibliographic and historical notes This chapter derives in part from work by T. Ida and H. Takahashi in which they developed a computational origami system, a version of E OS, based on the algebraic graph theory [4].

7.7 Summary

197

Fig. 7.23: -graph of origami crane O15

Methods of folding origami cranes (by hand) were published in 1797 in a booklet written by T. Yoshinoya [9]. The booklet is the oldest existing publication that describes the methods of origami in art and recreational contexts. It describes 49 methods of folding sophisticated connected cranes. To fold thousand cranes was to construct connected many cranes to form a sequence of cranes as if a flock of cranes is flying in the sky. A mathematical study of the origami folds of cranes was first published by Fushimis [2] (in Japanese). Chapter 5 (Models of flying origami crane recommendation of origami geometry, pp. 82 - 97), Chapter 7 (Fundamental theorems of origami geometry, pp. 98 - 106) and Chapter 7 (Ultimate version of a flying origami crane) are the in-depth geometric analysis of origami cranes. Miyazaki et al. published the work on the visualization of an origami crane on a computer display. They designed specialized data structures [8].

7.7 Summary • We studied an abstract origami system, which can be regarded as an abstract rewriting system. • An abstract origami system is an abstract rewriting system (O, ), where O is a set of abstract origamis (abbreviated to AO), and  is an abstract fold. • An AO is a structure (Π, , ), where Π is a finite set of origami faces,  is an adjacency relation on Π, and  is a superposition relation on Π.

198

7 Abstract Origami

Fig. 7.24: -graph of origami crane O15

• The relation of superposition  determines the vertical arrangement of the faces constructed by the folds. • An abstract origami construction is a finite sequence of abstract origamis

O1  O2  · · ·  On , where O1 , O2 , . . . , On ∈ O. • We elaborated on the abstract origami system by giving it more geometric meaning and analyzing the internal structures of origamis. • The abstract origami system can serve as a computation model of a computational origami system such as E OS.

7.7 Summary

199

• We take an origami crane as an example of modeling origami construction in our approach. The graph representations of the AO of the crane reveal the structure of the AOs of the origami crane.

Problems 7.1. Faces overlapped and stratified Fold the origami shown in Fig. 7.8 both by hand and by an O RIKOTO program. Pay attention to the property that the constructed origami has only four faces. 7.2. Properties concerning the overlay relation Show that the overlay relation on the set of points is irreflexive, transitive and asymmetric. 7.3. Proof of Lemma 7.1 Prove Lemma 7.1. 7.4. Transitive closure of  and  Prove the following proposition. Let (Π, , ) be an AO satisfying I ∗ (Π, , ).

¬(For all f , g ∈ Π ( f + g⇒ f  g)). 7.5. Properties of overlap relation ($) Prove the following proposition. Let Π be a set of faces satisfying I ∗ (Π, , ). Overlap relation ($) on Π is irreflexive, intransitive, and symmetric. 7.6. Acyclicity of -sequence Prove the following proposition. Let Π be a set of faces satisfying I ∗ (Π, , ). All the -sequences on Π is acyclic [4]. 7.7. Acyclicity of -sequence Prove the following proposition. Let Π be a set of faces satisfying I ∗ (Π, , ). All the -sequences on Π is acyclic [4]. 7.8. Asymmetry of > Prove the following proposition. Let Π be a set of faces satisfying I ∗ (Π, , ). Relation > on Π is asymmetric. 7.9. Exercises for Subsection 7.4.1 Compute AOs O4 - O9 of the example in Subsection 7.4.1.

200

7 Abstract Origami

7.10. Construction of relation  Write an O RIKOTO program to construct the origami, or fold by hand the origami that is the same shape and the same creases as the one in Fig. 7.13. The creases are constructed by valley-folds. 7.11. Acyclicity of layers of faces Given an origami tape ABCD, construct a pentagon-like knot with a hole in the middle shown in Fig. 7.25 without the use of the insert fold (see Chapter 6). Note that there is a crease GH between faces 6 and 7, which are adjacent. Show that if faces 6 and 7 are on the same plane, the layers graph is cyclic. (Hence, to avoid the cycle of the -sequence in the visualized origami, E OS inserts a horizontal gap between faces 6 and 7.)

Fig. 7.25: Avoidance of the cyclicity of a layers graph

References

201

References 1. M. Bezem and J. W. Klop. Abstract reduction systems, volume Term Rewriting Systems, chapter 1, pages 7 – 23. Cambridge University Press, 2003. 2. K. Fushimi and M. Fushimi. Geometry of Origami. Nippon Hyoron sha Co. Ltd., July 1979. (in Japanese). 3. H. Huzita, editor. Proceedings of the First International Meeting of Origami Science and Technology, Ferrara, Italy, December 1989. 4. T. Ida and H. Takahashi. Origami fold as algebraic graph rewriting. J. Symb. Comput., 45(4):393–413, 2010. 5. T. Ida, H. Takahashi, M. Marin, F. Ghourabi, and A. Kasem. Computational Construction of a Maximal Equilateral Triangle Inscribed in an Origami. In Mathematical Software - ICMS 2006, volume 4151 of Lecture Notes in Computer Science, pages 361–372. Springer, 2006. 6. D. E. Joyce. Euclid’s elements. http://aleph0.clarku.edu/ djoyce/java/elements/toc.html, 1996. 7. J. Justin. Résolution par le pliage de l’équation du 3e degré et applications géométriques. L’Ouvert, (42):9 – 19, 1986. 8. S. Miyazaki, T. Yasuda, S. Yokoi and J. Toriwaki. An origami playing simulator in the virtual spaceo. Journal of Visualization and Computer Annimation, 7(1):25–42, 1996. 9. T. Yoshinoya. HIden Semba Duru Orikata (Secret Folding Methods of Connected Origami Cranes). published in Kyoto, Japan, 1797.

Appendix A

Geometric and logical notations

We use the following notations throughout this monograph. Given an arbitrary set A, we denote by ! a1 , . . . , an " a sequence of elements a1 , . . . , an ∈ A. If n = 1, the sequence is written as a1 . If n is immaterial in the discussion, we write ! a", or a. If the context disambiguates the meaning from other usages, we denote ! a1 , . . . , an " by the juxtaposition of the elements, i.e., a1 · · · an . Let R be a binary relation on an arbitrary set A. A sequence ! a1 , . . . , an " is called an R-sequence if a1 R a2 ∧ · · · ∧ an−1 R an . For an irreflexive R, an R-sequence ! a1 , . . . , an " is called acyclic if ∀i < j ¬( a j R ai ). An n-fold Cartesian product of sets A1 , . . ., An is denoted by A1 × . . . × An . An element of A1 × . . . × An , i.e., n-tuple, is denoted by ( a1 , . . . , an ), where ai ∈ Ai for i = 1, . . . , n. Other notations are summarized in the following tables.

© Springer Nature Switzerland AG 2020 T. Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation, https://doi.org/10.1007/978-3-319-59189-6

203

204

A Geometric and logical notations

Table A.1: Notation 1 All chapters P( x, y) PQ PQ P X ∈ PQ | PQ| | P, Q| | P, m|

≡ 

Chapter 2 O1, O2, . . ., O5 O , O1 , O2 , . . . Chapter 3 O = {O1 , O2 , . . .} ζ ( a, b) Labc α β α  β m ⊥ m IP Im Im⊥ IP,m

point P at location ( x, y) of the Cartesian coordinates line segment between a point P and a point Q line passing through a point P and a point Q reflection of a point P across a line  Point X being incident to a line PQ length of line segment PQ distance between a point P and a point Q, | P, Q| = | PQ| distance from a point P to a line m logical equivalence definitional equality; least binding among the logical connectives (“=” is also used as the definitional equality when it is clear from the context)

EO-rules (digital) origamis

set of origamis O1 , O2 , . . . line coefficient constraints abstract line superposition of α and β, where α and β are either a line or a point superposition of α and β by a fold-line  line m is properly superposed set of the fold-lines that superpose a point P and itself set of fold-lines that superpose a line m and itself Im \ {m} set of fold-lines that superpose a point P and a line m

A Geometric and logical notations

205

Table A.2: Notation 2 Chapter 3 continued O1, O2, . . ., O7 HO-rules φi non-degeneracy condition of HO-rulei, i = 1, 2, 3, 6 see Table 3.1 ψi non-incidence condition of HO-rulei, i = 5, 6, 7 see Table 3.1 O [S] set of all HO-constructible objects with initial set S ΠO set of all HO-constructible points ΛO set of all HO-constructible lines E set of EO-constructible objects E set of EO-constructible numbers (points) O set of HO-constructible numbers (points) U set of SC-constructible numbers (points) ξ fold-line function Chapter 4 A[[φ] ρ ζ η ( a, b) Lη a b c

algebraic translation of formula φ line coefficient constraints (only equalities) abstract line (only equalities)

206

A Geometric and logical notations

Table A.3: Notation 3 Chapter 7 continued Π C F O = {O1 , O2 , . . .} (Π, , )   → 

→  →  → f  f  f  f > f $

g g g g g

set of faces set of candidate faces set of faces that origamists specify a set of abstract origamis abstract origami abstract fold tentative crease flat fold flat mountain fold flat valley fold face f being adjacent to face g face f superposing face g face f being over face g face f + face g face f overlapping face g

Appendix B

E-Origami System E OS

B.1 Availability The current version of E OS 3.3 runs on Mathematica. Besides, the hashrelated classes of Java are accessed using J/Link of Mathematica. To run E OS, all we need in addition to E OS packages is Mathematica 12. As for the system resource requirement, stock hardware is all right for constructing origamis. However, note that the complexity of origami constructions is exponential. According to our experiences, we need at least 4 MB of main memory for comfortable conversation with E OS. For the verification of the constructed origamis’ geometric properties, it is not easy to estimate the memory requirement in advance without analyzing the generated polynomials. E OS 3.3 is available at the Eos Project web cloud server, which we can access via Eos project site https://www.i-eos.org/sc-mono-origami or via RISC (Research Institute of Symbolic Computation), JKU(Johannes Kepler University of Linz), https://www.risc.jku.ac.at/sc-mono-origami. All the example programs are available in Mathematica notebook (nb) files at the Eos web site. To run the programs, Mathematica is necessary. However, only to view the execution results of example programs given in the monograph, Wolfram player is sufficient. Wolfram player is downloadable free (Google search: wolfram.com, Wolfram player).

© Springer Nature Switzerland AG 2020 T. Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation, https://doi.org/10.1007/978-3-319-59189-6

207

208

B E-Origami System E OS

B.2 Language O RIKOTO HO commands We give the summary of HO commands in Table B.1. Table B.1: HO commands Fold command

Meaning

O1

HC(PQ)

Fold along the line PQ.

O2

HO(P, Q)

Fold to superpose points P and Q.

O3

HO(m, n)

Fold to superpose lines m and n.

O4

HO(m, P)

Fold along the line passing through point P to properly superpose line m and itself .

O5

HO(P, m, Q)

Fold along a line passing through point Q to superpose point P and line m.

O6

HO(P, m, Q, n)

Fold to superpose point P and line m, and point Q and line n.

O7

HO(P, m, n)

Fold to superpose point P and line m, and to properly superpose line n and itself.

Besides, HO takes, as an argument, an existential formula of the form

∃ x1 :τ1 ··· xk :τk Φ, where Φ is a quantifier-free formula. Symbols τ1 , . . . , τk are the sorts of variables x1 , . . . , xk , respectively. The variables of sort Lines denote the fold-lines.

B.2 Language O RIKOTO

209

Named argument of HO We give a summary of the named arguments of HO frequently used in the examples of this monograph. We use several other name arguments, whose meanings we explain where they occur in O RIKOTO programs. Let O be the origami to be operated on by the command, where we specify the following named arguments. Handle “Handle → P” determines one of the moved faces f when O is folded. The face f is designated by any point P that belongs to f . The other faces moved together with f are inferred by E OS. When k fold-lines 1 , . . . , k are used in the fold, a list of k points P1 , . . . , Pk has to be specified. Point Pi , where 1 ≤ i ≤ k, is used for the fold along fold-line i . FoldLine “FoldLine → k” specifies that E OS should select the k-th fold-line. When named argument FoldLine is unspecified, and E OS computes more than one candidate fold-lines, E OS displays the candidate foldlines and asks the user to select a desired one among them. To determine the value k without the interaction with E OS, we have to set the E OS session to be in the non-interactive mode (default) and run the same HO command twice. The first HO command without the named argument FoldLine displays the multiple origamis with the different computed fold-lines. The second HO command should specify the argument FoldLine → k to select the k-th fold-line along which we fold O . Mark “Mark → {{s1 , P1 }, . . . , {sk , Pk }}” assigns names P1 , . . . , Pk to the intersections of the segments s1 , . . . , sk and the selected fold-line, respectively). The k intersections are marked as P1 , . . . , Pk . For each {si , Pi }, i = 1, . . . , k, we can omit Pi and specify si only. In this case, E OS automatically generates a new name for missing Pi . MarkAt “MarkAt → { P1 , . . . , Pk }” specifies names for corresponding k existentially quantified variables of sort Points introduced in the existential formula in HO. The points bound to the existentially quantified variables are assigned their names, i.e. marked, and become accessible in the subsequent steps of the computation. Direction “Direction → Mountain” specifies that the fold is a mountain-fold. The default value is Valley. The specified value may be a list of Mountain/Valley values, since a single call of HO may invoke multiple folds, and each fold needs the value of Direction. InsertFace “InsertFace → list-of-faces” is to insert the moving faces below (above in the case of the mountain-fold) the face in the list. When the fold is

210

B E-Origami System E OS

valley (mountain), Top (Bottom) can be used to specify the face. The argument may be a list of faces for the same reason of named argument Direction. Number 0 in the list means “no insert.”

Algebraic interpretation of auxiliary commands We summarize the algebraic interpretation of the commands that we do not explicitly treat in the chapters. We explain here the commands when they take only position-dependent required arguments. Some commands take more than 80 named arguments that share with Mathematica. It is not feasible to explain those named arguments in this appendix. NewOrigami Only basic functionalities are given. Besides the basic function below, NewOrigami can specify the colors of front and back sides of the origami, and the shape of the initial origami (an arbitrary polygon).

A[[NewOrigami(n)]] ρ = A[[ ] (ρ  {A → (0, 0), B → (0, n), C → (n, n), D → (0, n)}) where n can be omitted, in which case all the occurrences of n of the right-hand side are 1. NewPoint(s)

A[[NewPoint(P → ( x, y))]] ρ = A[[ ] (ρ  {P → ( x, y)}) DuplicatePoint(s) We duplicate a point P to a point P1 , . . . , Pk , each belonging to a face below the face to which P belongs, at the same location of P. Pi overlays Pi+1 and is above Pi+1 , for i = 0, . . . , k − 1 where P0  P.

A[[DuplicatePoint(P)]] ρ = A[[ ] (ρ  {P1 → ( x, y), . . . , Pk → ( x, y)}) where( x, y) is the location of P. ProjectPoint(s) We project a point P to a point P’ that lies on the base 2D plane on which the origami is placed. P’ is placed at the same location of P. Unlike the duplicated points constructed by DuplicatePoint, P’ is never moved by the subsequent folds. Point P’ is treated differently from marked points, which belong to a face of the origami.   A[[ProjectPoint(P)]] ρ = A[[ ] (ρ  P → ( x, y) ) where ( x, y) is the location of P.

Appendix C

Lill’s method for finding real roots of a polynomial

Lill’s method is for finding diagrammatically the real roots of a univariate polynomial. It consists in the construction of two polygonal (line) segments. One is a sequence of line segments that represents a univariate polynomial p( x ) in variable x with coefficients in the field of R. The other is the trajectory for finding a root. The trajectories are as many as the real roots of the polynomial p( x ). In the following, we note the existence of a bijection between the Euclidean plane equipped with the Cartesian coordinate system and the complex plane, e.g., a point at ( x, y) in the Euclidean plane and complex number x + yı in the complex plane. We use both points and complex numbers interchangeably. For a polynomial of degree n p( x )an x n + an−1 x n−1 + . . . + a1 x + a0 , where an = 1 its polygonal segments are given by a sequence of points

! Q1 , Q2 , . . . , Q n +1 " 

1

∑ı

k =1

k −1

2

a n − k +1 , ∑ ı

k −1

n +1

a n − k +1 , . . . ,

k =1

∑ı

k −1

! a n − k +1 .

k =1

Lill’s trajectory is the locus of a point (call it X) that moves along line segments. It starts at the origin (0,0) and moves straight, with the slope τ, towards the line that passes through Q1 and is parallel to the y-axis. When it hits the line, it turns, with the right angle, towards the line parallel to the x-axis that passes through Q2 . It moves in the same way until it hits the line parallel to the x- or y- axis that passes through Qn . When X successfully reaches Qn , −τ is the root of the polynomial p( x ). For the ease of understanding the method, we show a concrete example: p( x ) x3 + 2x2 − 5x − 6

(C.1)

The polygonal segments are Q1 Q2 Q3 Q4 , where Q1 , Q2 , Q3 , Q4 are 1, 1 + 2ı, 6 + 2ı, 6 + 8ı, respectively. There are three trajectories that end at Q4 . The tangents © Springer Nature Switzerland AG 2020 T. Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation, https://doi.org/10.1007/978-3-319-59189-6

211

212

C Lill’s method for finding real roots of a polynomial

of the first segment (extended to the line) are -2, 1 and 3. Hence, the roots of the polynomial (C.1) are 2, -1 and -3.

Q4

8

6

4

Q2

2

Q0

Q1

Q3

2

4

6

8

-2

Fig. C.1: Polygonal segments of polynomial (C.1) and the trajectories for finding the roots

Glossary

In this Glossary, we list a small number of technical terms related to the main themes of this monograph, but we use them without explanation. We briefly explain them. Some of the terms are defined rigorously in other domains. We recommend the readers to check textbooks that match their interest. If the readers find an unfamiliar technical term, try, for instance, WolframAlpha (www.wolframalpha.com) or Wikipedia(www.wikipedia.org) to start with. Binary relation and its properties A binary relation R from a set A to a set B is a set of ordered pairs ( a, b), where a ∈ A and b ∈ B. In this monograph, we consider the case that A = B. In this case, we call a binary relation R is on a set A. R is reflexive if for all a ∈ A a R a; R is irreflexive if for all a ∈ A ¬( a R a); R is symmetric if for all a, b ∈ A ( aRb ⇒ b R a); R is asymmetric if for all a, b ∈ A ( a R b ⇒ ¬(b R a)); R is transitive if for all a, b, c ∈ A ( a R b ∧ b R c ⇒ a R c). The transitive closure of R (denoted by R + ) is the smallest relation on A that contains R and is transitive. The inverse of relation R is denoted by R −1 . Convex polygon, Strictly convex polygon A convex polygon is a polygon that has the following property. For any point X and any line segment PQ satisfying X ∈ PQ, and points P and Q are either on the boundary or the interior of the polygon, X is on the boundary or the interior of the polygon. A strictly convex polygon is a polygon all of whose interior angles are less than π. Λ calculus and λ-term Λ-terms are objects of the Λ calculus. Syntactically, they are classified into three categories; variables, applications, and abstractions. A λ-term of the form λx. M is the abstraction. It corresponds to a standard mathematical function f , defined by f ( x ) M. Expression λx. M is a nameless function whose formal parameter is x, and M is the body that defines the rule of computation. Thus, we separate the computation rule

© Springer Nature Switzerland AG 2020 T. Ida, An Introduction to Computational Origami, Texts & Monographs in Symbolic Computation, https://doi.org/10.1007/978-3-319-59189-6

213

214

Glossary

part and the name, when we define a function. The name is unnecessary. We apply a rule of reduction of λ-terms by juxtaposing λx. M and a parameter a. Syntactically, this is one example of the Λ calculus application. We obtain a new λ-term which corresponds to f ( a) in the standard mathematical notation. A function with n formal parameters, say g( x1 , . . . , xn ), is defined by (n − 1)-fold nesting of the abstraction formation. Namely, it is defined by λx1 . (λx2 . (· · · (λxn .M) · · · )). We may abbreviate this λ-term to λ x1 x2 · · · xn . M. Applying λx1 x2 · · · xn .M to n arguments a1 , . . . , an , which we denote by (λx1 x2 · · · xn . M) a1 a2 · · · an , we obtain a new λ-term representing g( a1 , . . . , an ) in standard mathematical notation. We have subtle issues caused by the clash of variable names, when a free occurrence of a variable moves into the scope of a bound variable of the same name as a result of a reduction. In the classical λ-calculus, we avoid the problem of the name clash by appropriately changing the name of the bound variables, so-called α-conversion, or ingenious mechanisms like de Bruijn notation. However, these issues do not appear in our discussion of this monograph, as we create fresh new variables during the transformation to algebraic expressions whenever name clashes may occur. Line segment A line segment, denoted by XY, where X and Y are distinct points, is a part of a line, and both ends of that part are X and Y. Note that line XY is a line passing through two distinct points X and Y. Therefore, XY is a part of line XY. Polygon, Simple polygon, N-gon, Regular n-gon A polygon is a bounded plane figure consisting of a finite number of distinct line segments. An ngon is a polygon enclosed by n line segments. It is called simple if no two constituent line segments intersect. An n-gon is regular if it is equilateral and equiangular. Prenex normal-form A formula of the first-order predicate logic is a prenex normal-form if it is of the form

Q1 v1 . . . Qn vn Φ, where Q1 · · · Qn is a sequence of quantifiers ∀ or ∃ and Φ is a quantifier-free formula. Ray A ray XY is a half-line of line XY, having the property that its initial point is X and that the point Y is on the half-line. Ray XY is denoted by Ray( X, Y ) in the context of programming in this monograph. The direction −→ of ray XY is the same as that of vector XY. Once we fix the direction, the notion of the left/right side of the ray is defined naturally as the left-/righthand side of us when we move forward in the direction of the ray. Sorts first-order types (of languages for a typed predicate logic or typed programming languages)

Glossary

215

Transitive reduction of a binary relation The transitive reduction of a binary relation R on a set X is the minimum binary relation R on X with the same transitive closure as R. For example, let X = { a, b, c}, R = {(b, c), ( a, b), ( a, c)}. Then we have R = {(b, c), ( a, b)} since R + = R + = R. Transitive reduction of a directed graph Let X and R be a set of the nodes and a set of the directed edges, respectively, of a directed graph G (X, R ). The transitive reduction of the directed graph G (X, R ) is the smallest graph G (X, R ) such that G + (X, R ) = G + (X, R ), where G + (X, R ) and G + (X, R ) are the transitive closure of graphs G (X, R ) and G (X, R ), respectively. Since any pair ( a, b) ∈ R (⊆ X × X) is regarded as a directed edge a → b, the binary relation R on a set X are naturally represented by a directed graph G (X, R ). The notion of transitive reduction of a binary relation R can be transferred to that of the directed graph G (X, R ).

216

Glossary

Reference textbooks When the readers have difficulty in understanding some parts of this monograph, the following textbooks are of great help. Geometry Geometric construction: G. E. Martin, Springer, 1998. Abstract algebra Abstract algebra and Famous Impossibilities (second edition): A. Jones, S. A. Morris and K. R. Pearson, Springer, 1994. Mathematical Logic Introduction to Mathematical Logic (Discrete Mathematics and Its Applications), sixth edition: E. Mendelson, CRC Press, 2015. Gröbner bases Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra (fourth edition): D. Cox, J. Little and D. O’Shea, Springer, 2015. There are many other excellent textbooks on those subjects for the readers to expnd their knowledge. They should choose a textbook, depending on their background and their objectives. We assume that typical readers are students of computer science and engineering with mathematical background knowledge (the second-year and higher level of undergraduate education). When the readers have little difficulty in understanding some examples given in this monograph, we strongly recommend trying to run E OS while reading this monograph. It is great fun to construct origamis on computers. Moreover, the use of the computer algebra systems, i.e., Mathematica in our case, improves the skills of applying algebraic and symbolic computation techniques. The Wolfram documentation also serves as an excellent knowledge source.

Computer algebra systems for Gröbner basis computation The proof engine of E OS is the Gröbner basis computation (GB). Besides Mathematica, there are (free) good libraries of GB. The reader can obtain a GB library for their needs. To use the external GB libraries, we can get a list of variables and a list of the polynomials that we use for the Gröbner basis computation for the verification from the generated proofDoc. We used Maple (commercial product, Google search: maplesoft.com) and Cocoa (Computations in Commutative Algebra, Google search: cocoa.dima.unige.it ) for ex-

Glossary

217

perimentation. The CPU time to compute Gröbner bases varies very much depending on the parameters of Gröbner basis computation.