A Structural Approach to Reversible Computation

Reversibility is a key issue in the interface between computation and physics, and of growing importance as miniaturization progresses towards its physical limits. Most foundational work on reversible computing to date has focussed on simulations of low-level machine models. By contrast, we develop a more structural approach. We show how high-level functional programs can be mapped compositionally (i.e. in a syntax-directed fashion) into a simple kind of automata which are immediately seen to be reversible. The size of the automaton is linear in the size of the functional term. In mathematical terms, we are building a concrete model of functional computation. This construction stems directly from ideas arising in Geometry of Interaction and Linear Logic--but can be understood without any knowledge of these topics. In fact, it serves as an excellent introduction to them. At the same time, an interesting logical delineation between reversible and irreversible forms of computation emerges from our analysis.

[1]  Giuseppe Longo,et al.  Categories, types and structures - an introduction to category theory for the working computer scientist , 1991, Foundations of computing.

[2]  Arnon Avron,et al.  The Semantics and Proof Theory of Linear Logic , 1988, Theor. Comput. Sci..

[3]  Samson Abramsky,et al.  Full Abstraction for PCF * ( Extended Abstract ) , 1994 .

[4]  David Turner,et al.  Research topics in functional programming , 1990 .

[5]  Samson Abramsky,et al.  Linear realizability and full completeness for typed lambda-calculi , 2005, Ann. Pure Appl. Log..

[6]  J. van Leeuwen,et al.  Theoretical Computer Science , 2003, Lecture Notes in Computer Science.

[7]  Simon Peyton Jones,et al.  The Implementation of Functional Programming Languages (Prentice-hall International Series in Computer Science) , 1987 .

[8]  Gordon D. Plotkin,et al.  Call-by-Name, Call-by-Value and the lambda-Calculus , 1975, Theor. Comput. Sci..

[9]  Vincent Danos,et al.  Reversible, Irreversible and Optimal λ-machines: Extended abstract , 1996 .

[10]  Samson Abramsky,et al.  Retracing some paths in Process Algebra , 1996, CONCUR.

[11]  J. Girard Geometry of interaction III: accommodating the additives , 1995 .

[12]  Alfred J. van der Poorten,et al.  Automatic sequences. Theory, applications, generalizations , 2005, Math. Comput..

[13]  AbramskySamson,et al.  Games and full completeness for multiplicative linear logic , 1994 .

[14]  Charles H. Bennett,et al.  Logical reversibility of computation , 1973 .

[15]  M. Nivat Fiftieth volume of theoretical computer science , 1988 .

[16]  Esfandiar Haghverdi,et al.  A categorical approach to linear logic, geometry of proofs and full completeness. , 2000 .

[17]  Dominic R. Verity,et al.  Traced monoidal categories , 1996, Mathematical Proceedings of the Cambridge Philosophical Society.

[18]  J. Roger Hindley,et al.  Introduction to combinators and λ-calculus , 1986, Acta Applicandae Mathematicae.

[19]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[20]  Avron Arnon The semantics and proof theory of linear logic , 1988 .

[21]  Roy L. Crole,et al.  Categories for Types , 1994, Cambridge mathematical textbooks.

[22]  Radha Jagadeesan,et al.  Games and Full Completeness for Multiplicative Linear Logic , 1994, J. Symb. Log..

[23]  Robin Milner,et al.  Definition of standard ML , 1990 .

[24]  Ian Craig Mackie The geometry of implementation , 1994 .

[25]  Samson Abramsky,et al.  A Fully Complete PER Model for ML Polymorphic Types , 2000, CSL.

[26]  J. Girard,et al.  Advances in Linear Logic , 1995 .

[27]  Vincent Danos,et al.  Reversible, Irreversible and Optimal lambda-Machines , 1999, Theor. Comput. Sci..

[28]  R. Landauer,et al.  Irreversibility and heat generation in the computing process , 1961, IBM J. Res. Dev..

[29]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[30]  Radha Jagadeesan,et al.  Full Abstraction for PCF , 1994, Inf. Comput..

[31]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[32]  Pasquale Malacaria,et al.  Some results on the interpretation of lambda -calculus in operator algebras , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[33]  Chang Liu,et al.  Term rewriting and all that , 2000, SOEN.

[34]  C. Pollard,et al.  Center for the Study of Language and Information , 2022 .

[35]  Nissim Francez,et al.  Basic simple type theory , 1998 .

[36]  Radha Jagadeesan,et al.  New foundations for the geometry of interaction , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

[37]  Jean-Yves Girard,et al.  Geometry of interaction 2: deadlock-free algorithms , 1990, Conference on Computer Logic.

[38]  Harry Buhrman,et al.  Time and Space Bounds for Reversible Simulation , 2001, ICALP.

[39]  J. Girard,et al.  Proofs and types , 1989 .

[40]  A. Troelstra Lectures on linear logic , 1992 .

[41]  Peter Hines The catgorical theory of self-similarity. , 1999 .

[42]  Samson Abramsky,et al.  Geometry of Interaction and linear combinatory algebras , 2002, Mathematical Structures in Computer Science.

[43]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[44]  Enno Ohlebusch,et al.  Term Rewriting Systems , 2002 .

[45]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.

[46]  M. Lawson Inverse Semigroups, the Theory of Partial Symmetries , 1998 .

[47]  Charles H. Bennett,et al.  The thermodynamics of computation—a review , 1982 .

[48]  Norbert Kuhn,et al.  A method for enumerating cosets of a group presented by a canonical system , 1989, ISSAC '89.

[49]  Patrick Baillot,et al.  Elementary Complexity and Geometry of Interaction , 1999, Fundam. Informaticae.

[50]  David B. A. Epstein,et al.  Word processing in groups , 1992 .

[51]  Anil Nerode,et al.  Automatic Presentations of Structures , 1994, LCC.

[52]  Samson Abramsky,et al.  The Lazy λ−Calculus , 1990 .

[53]  Vincent Danos,et al.  Local and asynchronous beta-reduction , 1993, LICS 1993.

[54]  Wallace W. Tourtellotte,et al.  Interaction , 1988 .

[55]  Jean-Yves Girard,et al.  Geometry of Interaction 1: Interpretation of System F , 1989 .

[56]  Harry G. Mairson,et al.  Database Query Languages Embedded in the Typed Lambda Calculus , 1996, Inf. Comput..

[57]  Harold T. Hodes,et al.  The | lambda-Calculus. , 1988 .

[58]  Ralf Hinze,et al.  Haskell 98 — A Non−strict‚ Purely Functional Language , 1999 .