Categorical Semantics of Reversible Pattern-Matching

This paper is concerned with categorical structures for reversible computation. In particular, we focus on a typed, functional reversible language based on Theseus. We discuss how join inverse rig categories do not in general capture pattern-matching, the core construct Theseus uses to enforce reversibility. We then derive a categorical structure to add to join inverse rig categories in order to capture pattern-matching. We show how such a structure makes an adequate model for reversible pattern-matching.

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

[2]  Robert Wille,et al.  SyReC: A hardware description language for the specification and synthesis of reversible circuits , 2016, Integr..

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

[4]  Robin Kaarsgaard,et al.  Join inverse rig categories for reversible functional programming, and beyond , 2021, Electronic Proceedings in Theoretical Computer Science.

[5]  Juliana Kaizer Vizzotto,et al.  From Symmetric Pattern-Matching to Quantum Control , 2018, FoSSaCS.

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

[7]  Tetsuo Yokoyama,et al.  Reversible Computation and Reversible Programming Languages , 2010, RC@ETAPS.

[8]  Chris Heunen,et al.  Reversible Monadic Computing , 2015, MFPS.

[9]  Robert Glück,et al.  Join inverse categories and reversible recursion , 2017, J. Log. Algebraic Methods Program..

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

[11]  Charles H. Bennett Notes on the history of reversible computation , 2000, IBM J. Res. Dev..

[12]  Robin Kaarsgaard,et al.  En Garde! Unguarded Iteration for Reversible Computation in the Delay Monad , 2019, MPC.

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

[14]  Holger Bock Axelsen,et al.  Interpretation and programming of the reversible functional language RFUN , 2015, IFL '15.

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

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

[17]  Benoît Valiron,et al.  Toward a Curry-Howard Equivalence for Linear, Reversible Computation , 2020, RC.

[18]  Ivan Lanese,et al.  Reversible Computation: Extending Horizons of Computing: Selected Results of the COST Action IC1405 , 2020, Selected Results of the COST Action IC1405.

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

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

[21]  Robin Kaarsgaard,et al.  CoreFun : A Typed Functional Reversible Core Language , 2018 .

[22]  Robin Kaarsgaard,et al.  Inversion, Iteration, and the Art of Dual Wielding , 2019, RC.

[23]  Robin Kaarsgaard,et al.  Reversible effects as inverse arrows , 2018, MFPS.

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

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

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

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

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

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

[30]  Robin Kaarsgaard Condition/Decision Duality and the Internal Logic of Extensive Restriction Categories , 2019, MFPS.

[31]  Robert Glück,et al.  A categorical foundation for structured reversible flowchart languages: Soundness and adequacy , 2018, Log. Methods Comput. Sci..

[32]  Igor L. Markov,et al.  Synthesis and optimization of reversible circuits—a survey , 2011, CSUR.

[33]  Robert Glück,et al.  Foundations of Reversible Computation , 2020, Selected Results of the COST Action IC1405.

[34]  Robert Glück,et al.  Reversible Programs Have Reversible Semantics , 2019, FM Workshops.