Join inverse categories and reversible recursion

Abstract Recently, a number of reversible functional programming languages have been proposed. Common to several of these is the assumption of totality, a property that is not necessarily desirable, and certainly not required in order to guarantee reversibility. In a categorical setting, however, faithfully capturing partiality requires handling it as additional structure. Recently, Giles studied inverse categories as a model of partial reversible (functional) programming. In this paper, we show how additionally assuming the existence of countable joins on such inverse categories leads to a number of properties that are desirable when modeling reversible functional programming, notably morphism schemes for reversible recursion, a †-trace, and algebraic ω -compactness. This gives a categorical account of reversible recursion, and, for the latter, provides an answer to the problem posed by Giles regarding the formulation of recursive data types at the inverse category level.

[1]  Brett Gordon Giles An investigation of some theoretical aspects of reversible computing , 2014 .

[2]  Kasper Stoy,et al.  Robust and reversible execution of self-reconfiguration sequences , 2011, Robotica.

[3]  Peter Selinger,et al.  Idempotents in Dagger Categories: (Extended Abstract) , 2008, QPL.

[4]  Kenichi Morita,et al.  Two-Way Reversible Multi-Head Finite Automata , 2011, Fundam. Informaticae.

[5]  J. Robin B. Cockett,et al.  Restriction categories as enriched categories , 2012, Theor. Comput. Sci..

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

[7]  Chris Heunen,et al.  On the Functor ℓ2 , 2010, Computation, Logic, Games, and Quantum Foundations.

[8]  Daniele Varacca,et al.  A Compositional Semantics for the Reversible p-Calculus , 2013, 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science.

[9]  Robert Glück,et al.  A reversible programming language and its invertible self-interpreter , 2007, PEPM '07.

[10]  Robert Glück,et al.  Principles of Inverse Computation and the Universal Resolving Algorithm , 2002, The Essence of Computation.

[11]  Edmund Robinson,et al.  Categories of Partial Maps , 1988, Inf. Comput..

[12]  J. Robin B. Cockett,et al.  Restriction categories III: colimits, partial limits and extensivity , 2007, Mathematical Structures in Computer Science.

[13]  F. Jung,et al.  Products , 1968, ADHESION ADHESIVES&SEALANTS.

[14]  Peter Selinger,et al.  Finite Dimensional Hilbert Spaces are Complete for Dagger Compact Closed Categories (Extended Abstract) , 2011, QPL/DCM@ICALP.

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

[16]  Masahito Hasegawa,et al.  Models of Sharing Graphs , 1999, Distinguished Dissertations.

[17]  Masahito Hasegawa,et al.  Recursion from Cyclic Sharing: Traced Monoidal Categories and Models of Cyclic Lambda Calculi , 1997, TLCA.

[18]  Robert Glück,et al.  Towards a Reversible Functional Language , 2011, RC.

[19]  Ross Street,et al.  Traced monoidal categories , 1996 .

[20]  Jirí Adámek Recursive Data Types in Algebraically omega-Complete Categories , 1995, Inf. Comput..

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

[22]  Ulrik Pagh Schultz,et al.  Towards a Domain-Specific Language for Reversible Assembly Sequences , 2015, RC.

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

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

[25]  T. Toffoli,et al.  Conservative logic , 2002, Collision-Based Computing.

[26]  Robert Glück,et al.  A Program Inverter for a Functional Language with Equality and Constructors , 2003, APLAS.

[27]  Markus Schordan,et al.  Reverse Code Generation for Parallel Discrete Event Simulation , 2015, RC.

[28]  Lars Birkedal Foundations of Software Science and Computational Structures , 2012, Lecture Notes in Computer Science.

[29]  X. Guo Join restriction categories and the importance of being adhesive , 2007 .

[30]  D. B. Benson,et al.  The inverse semigroup of a sum-ordered semiring , 1985 .

[31]  Jacques Carette,et al.  Computing with Semirings and Weak Rig Groupoids , 2016, ESOP.

[32]  Robert Glück,et al.  Fundamentals of reversible flowchart languages , 2016, Theor. Comput. Sci..

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

[34]  J. Robin B. Cockett,et al.  Restriction categories II: partial map classification , 2003, Theor. Comput. Sci..

[35]  Rasmus Ejlers Møgelberg,et al.  Linear-use CPS translations in the Enriched Effect Calculus , 2012, Log. Methods Comput. Sci..

[36]  Esfandiar Haghverdi,et al.  Unique decomposition categories, Geometry of Interaction and combinatory logic , 2000, Mathematical Structures in Computer Science.

[37]  J. Robin B. Cockett,et al.  Restriction categories I: categories of partial maps , 2002, Theor. Comput. Sci..

[38]  J. Cockett,et al.  Restriction categories III: colimits, partial limits, and extensivity , 2006, math/0610500.

[39]  Roshan P. James Theseus : A High Level Language for Reversible Computing , 2014 .

[40]  Naohiko Hoshino,et al.  A Representation Theorem for Unique Decomposition Categories , 2012, MFPS.

[41]  Martin Kutrib,et al.  Reversible Limited Automata , 2017, Fundam. Informaticae.

[42]  Robin Kaarsgaard,et al.  Join Inverse Categories as Models of Reversible Recursion , 2016, FoSSaCS.

[43]  Robert Glück,et al.  What Do Reversible Programs Compute? , 2011, FoSSaCS.

[44]  Amr Sabry,et al.  Information effects , 2012, POPL '12.

[45]  Prakash Panangaden,et al.  Computation, Logic, Games, and Quantum Foundations. The Many Facets of Samson Abramsky , 2013, Lecture Notes in Computer Science.

[46]  Michael Barr,et al.  Algebraically compact functors , 1992 .

[47]  Marcelo P. Fiore Axiomatic domain theory in categories of partial maps , 1994 .

[48]  P. Selinger A Survey of Graphical Languages for Monoidal Categories , 2009, 0908.3347.

[49]  Robert Glück,et al.  Derivation of Deterministic Inverse Programs Based on LR Parsing , 2004, FLOPS.

[50]  M. Laplaza,et al.  Coherence for distributivity , 1972 .