Join Inverse Categories as Models of Reversible Recursion

Part of the Lecture Notes in Computer Science book series (LNCS, volume 9634)

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 modelling reversible functional programming, notably morphism schemes for reversible recursion, a \(\dagger \)-trace, and algebraic \(\omega \)-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.

References

  1. 1.
    Abramsky, S.: Retracing some paths in process algebra. In: Montanari, U., Sassone, V. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 1–17. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  2. 2.
    Abramsky, S., Haghverdi, E., Scott, P.: Geometry of interaction and linear combinatory algebras. Math. Struct. Comput. Sci. 12(5), 625–665 (2002)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Adámek, J.: Recursive data types in algebraically \(\omega \)-complete categories. Inf. Comput. 118, 181–190 (1995)MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Axelsen, H.B., Glück, R.: What do reversible programs compute? In: Hofmann, M. (ed.) FOSSACS 2011. LNCS, vol. 6604, pp. 42–56. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  5. 5.
    Barr, M.: Algebraically compact functors. J. Pure Appl. Algebra 82(3), 211–231 (1992)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Bennett, C.H.: Logical reversibility of computation. IBM J. Res. Dev. 17(6), 525–532 (1973)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Bowman, W.J., James, R.P., Sabry, A.: Dagger traced symmetric monoidal categories and reversible programming. In: Proceedings of RC 2011, pp. 51–56. Ghent University (2011). http://www.cs.indiana.edu/~sabry/papers/cat-rev.pdf
  8. 8.
    Cockett, J.R.B., Guo, X.: Join restriction categories and the importance of being adhesive (2007). http://www.mat.uc.pt/~categ/ct2007/slides/cockett.pdf, presentation at Category Theory 2007
  9. 9.
    Cockett, J.R.B., Lack, S.: Restriction categories I: categories of partial maps. Theoret. Comput. Sci. 270(1–2), 223–259 (2002)MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    Cockett, J.R.B., Lack, S.: Restriction categories II: partial map classification. Theoret. Comput. Sci. 294(1–2), 61–102 (2003)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Cockett, J.R.B., Lack, S.: Restriction categories III: colimits, partial limits and extensivity. Math. Struct. Comput. Sci. 17(4), 775–817 (2007)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Cockett, R., Garner, R.: Restriction categories as enriched categories. Theoret. Comput. Sci. 523, 37–55 (2014)MathSciNetCrossRefMATHGoogle Scholar
  13. 13.
    Cristescu, I., Krivine, J., Varacca, D.: A compositional semantics for the reversible \(\pi \)-calculus. In: LICS 2013, pp. 388–397. IEEE Computer Society (2013)Google Scholar
  14. 14.
    Fiore, M.P.: Axiomatic Domain Theory in Categories of Partial Maps. Ph.D. thesis, University of Edinburgh (1994)Google Scholar
  15. 15.
    Fredkin, E., Toffoli, T.: Conservative logic. Int. J. Theor. Phys. 21(3–4), 219–253 (1982)MathSciNetCrossRefMATHGoogle Scholar
  16. 16.
    Giles, B.G.: An Investigation of some Theoretical Aspects of Reversible Computing. Ph.D. thesis, University of Calgary (2014)Google Scholar
  17. 17.
    Guo, X.: Products, Joins, Meets, and Ranges in Restriction Categories. Ph.D. thesis, University of Calgary (2012)Google Scholar
  18. 18.
    Haghverdi, E.: A Categorical Approach to Linear Logic, Geometry of Proofs and Full Completeness. Ph.D. thesis, Carlton University and University of Ottawa (2000)Google Scholar
  19. 19.
    Hasegawa, M.: Models of Sharing Graphs. Ph.D. thesis, University of Edinburgh (1997)Google Scholar
  20. 20.
    Hasegawa, M.: Recursion from cyclic sharing: traced monoidal categories and models of cyclic lambda calculi. In: de Groote, P., Hindley, J.R. (eds.) TLCA 1997. LNCS, vol. 1210, pp. 196–213. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  21. 21.
    Heunen, C.: On the functor \(\ell ^{2}\). In: Coecke, B., Ong, L., Panangaden, P. (eds.) Computation, Logic, Games and Quantum Foundations. LNCS, vol. 7860, pp. 107–121. Springer, Heidelberg (2013)Google Scholar
  22. 22.
    Hines, P.M.: The Algebra of Self-Similarity and its Applications. Ph.D. thesis, University of Wales, Bangor (1998)Google Scholar
  23. 23.
    Hoshino, N.: A representation theorem for unique decomposition categories. In: Berger, U., Mislove, M. (eds.) MFPS XXVIII. Electronic Notes in Theoretical Computer Science, vol. 286, pp. 213–227. Elsevier (2012)Google Scholar
  24. 24.
    Hyland, M.: Abstract and concrete models for recursion. In: Grumberg, O., Nipkow, T., Pfaller, C. (eds.) Proceedings of the NATO Advanced Study Institute on Formal Logical Methods for System Security and Correctness, pp. 175–198. IOS Press (2008)Google Scholar
  25. 25.
    James, R.P., Sabry, A.: Theseus: a high level language for reversible computing, work-in-progress report at RC 2014 (2014). https://www.cs.indiana.edu/~sabry/papers/theseus.pdf
  26. 26.
    Joyal, A., Street, R., Verity, D.: Traced monoidal categories. Math. Proc. Camb. Philos. Soc. 119(3), 447–468 (1996)MathSciNetCrossRefMATHGoogle Scholar
  27. 27.
    Kutrib, M., Wendlandt, M.: Reversible limited automata. In: Durand-Lose, J., Nagy, B. (eds.) MCU 2015. LNCS, vol. 9288, pp. 113–128. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  28. 28.
    Landauer, R.: Irreversibility and heat generation in the computing process. IBM J. Res. Dev. 5(3), 183–191 (1961)MathSciNetCrossRefMATHGoogle Scholar
  29. 29.
    Lawson, M.V.: Inverse Semigroups: The Theory of Partial Symmetries. World Scientific, Singapore (1998)CrossRefMATHGoogle Scholar
  30. 30.
    Manes, E.G., Benson, D.B.: The inverse semigroup of a sum-ordered semiring. Semigroup Forum 31(1), 129–152 (1985)MathSciNetCrossRefMATHGoogle Scholar
  31. 31.
    Morita, K.: Two-way reversible multihead automata. Fundamenta Informaticae 110(1–4), 241–254 (2011)MathSciNetMATHGoogle Scholar
  32. 32.
    Robinson, E., Rosolini, G.: Categories of partial maps. Inf. Comput. 79, 95–130 (1988)MathSciNetCrossRefMATHGoogle Scholar
  33. 33.
    Schordan, M., Jefferson, D., Barnes, P., Oppelstrup, T., Quinlan, D.: Reverse code generation for parallel discrete event simulation. In: Krivine, J., Stefani, J.B. (eds.) RC 2015. LNCS, vol. 9138, pp. 95–110. Springer, Heidelberg (2015)Google Scholar
  34. 34.
    Schultz, U.P., Bordignon, M., Støy, K.: Robust and reversible execution of self-reconfiguration sequences. Robotica 29(1), 35–57 (2011)CrossRefGoogle Scholar
  35. 35.
    Schultz, U.P., Laursen, J.S., Ellekilde, L., Axelsen, H.B.: Towards a domain-specific language for reversible assembly sequences. In: Krivine, J., Stefani, J.B. (eds.) RC 2015. LNCS, vol. 9138, pp. 111–126. Springer, Heidelberg (2015)Google Scholar
  36. 36.
    Selinger, P.: Idempotents in dagger categories. In: Selinger, P. (ed.) QPL 2006. Electronic Notes in Theoretical Computer Science, vol. 210, pp. 107–122. Elsevier (2008)Google Scholar
  37. 37.
    Selinger, P.: A survey of graphical languages for monoidal categories. In: Coecke, B. (ed.) New Structures for Physics. Lecture Notes in Physics, vol. 813, pp. 289–355. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  38. 38.
    Selinger, P.: Finite dimensional Hilbert spaces are complete for dagger compact closed categories. Logical Methods Comput. Sci. 8(3), 1–12 (2012)MathSciNetCrossRefMATHGoogle Scholar
  39. 39.
    Yokoyama, T., Axelsen, H.B., Glück, R.: Towards a reversible functional language. In: De Vos, A., Wille, R. (eds.) RC 2011. LNCS, vol. 7165, pp. 14–29. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  40. 40.
    Yokoyama, T., Glück, R.: A reversible programming language and its invertible self-interpreter. In: Proceedings of the Partial Evaluation and Program Manipulation, pp. 144–153. ACM (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  1. 1.DIKU, Department of Computer ScienceUniversity of CopenhagenCopenhagenDenmark

Personalised recommendations