skip to main content

Symmetries in reversible programming: from symmetric rig groupoids to reversible programming languages

Published:12 January 2022Publication History
Skip Abstract Section

Abstract

The Pi family of reversible programming languages for boolean circuits is presented as a syntax of combinators witnessing type isomorphisms of algebraic data types. In this paper, we give a denotational semantics for this language, using weak groupoids à la Homotopy Type Theory, and show how to derive an equational theory for it, presented by 2-combinators witnessing equivalences of type isomorphisms.

We establish a correspondence between the syntactic groupoid of the language and a formally presented univalent subuniverse of finite types. The correspondence relates 1-combinators to 1-paths, and 2-combinators to 2-paths in the universe, which is shown to be sound and complete for both levels, forming an equivalence of groupoids. We use this to establish a Curry-Howard-Lambek correspondence between Reversible Logic, Reversible Programming Languages, and Symmetric Rig Groupoids, by showing that the syntax of Pi is presented by the free symmetric rig groupoid, given by finite sets and bijections.

Using the formalisation of our results, we perform normalisation-by-evaluation, verification and synthesis of reversible logic gates, motivated by examples from quantum computing. We also show how to reason about and transfer theorems between different representations of reversible circuits.

Skip Supplemental Material Section

Supplemental Material

Auxiliary Presentation Video

This is a 5 minute presentation video for our POPL'22 paper, Symmetries in Reversible Programming: From Symmetric Rig Groupoids to Reversible Programming Languages.

References

  1. Scott Aaronson, Daniel Grier, and Luke Schaeffer. 2017. The Classification of Reversible Bit Operations. In 8th Innovations in Theoretical Computer Science Conference (ITCS 2017), Christos H. Papadimitriou (Ed.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 67). Schloss Dagstuhl– Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany. 23:1–23:34. isbn:978-3-95977-029-3 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ITCS.2017.23 Google ScholarGoogle ScholarCross RefCross Ref
  2. Samson Abramsky. 2005. Abstract Scalars, Loops, and Free Traced and Strongly Compact Closed Categories. In Algebra and Coalgebra in Computer Science, José Luiz Fiadeiro, Neil Harman, Markus Roggenbach, and Jan Rutten (Eds.) (Lecture Notes in Computer Science). Springer, Berlin, Heidelberg. 1–29. isbn:978-3-540-31876-7 https://doi.org/10.1007/11548133_1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Samson Abramsky. 2005. A Structural Approach to Reversible Computation. Theoretical Computer Science, 347, 3 (2005), Dec., 441–464. issn:03043975 https://doi.org/10.1016/j.tcs.2005.07.002 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Gadi Aleksandrowicz, Thomas Alexander, Panagiotis Barkoutsos, Luciano Bello, Yael Ben-Haim, David Bucher, Francisco Jose Cabrera-Hernández, Jorge Carballo-Franquis, Adrian Chen, Chun-Fu Chen, Jerry M. Chow, Antonio D. Córcoles-Gonzales, Abigail J. Cross, Andrew Cross, Juan Cruz-Benito, Chris Culver, Salvador De La Puente González, Enrique De La Torre, Delton Ding, Eugene Dumitrescu, Ivan Duran, Pieter Eendebak, Mark Everitt, Ismael Faro Sertage, Albert Frisch, Andreas Fuhrer, Jay Gambetta, Borja Godoy Gago, Juan Gomez-Mosquera, Donny Greenberg, Ikko Hamamura, Vojtech Havlicek, Joe Hellmers, Ł ukasz Herok, Hiroshi Horii, Shaohan Hu, Takashi Imamichi, Toshinari Itoko, Ali Javadi-Abhari, Naoki Kanazawa, Anton Karazeev, Kevin Krsulich, Peng Liu, Yang Luh, Yunho Maeng, Manoel Marques, Francisco Jose Martín-Fernández, Douglas T. McClure, David McKay, Srujan Meesala, Antonio Mezzacapo, Nikolaj Moll, Diego Moreda Rodríguez, Giacomo Nannicini, Paul Nation, Pauline Ollitrault, Lee James O’Riordan, Hanhee Paik, Jesús Pérez, Anna Phan, Marco Pistoia, Viktor Prutyanov, Max Reuter, Julia Rice, Abdón Rodríguez Davila, Raymond Harry Putra Rudy, Mingi Ryu, Ninad Sathaye, Chris Schnabel, Eddie Schoute, Kanav Setia, Yunong Shi, Adenilton Silva, Yukio Siraichi, Seyon Sivarajah, John A. Smolin, Mathias Soeken, Hitomi Takahashi, Ivano Tavernelli, Charles Taylor, Pete Taylour, Kenso Trabing, Matthew Treinish, Wes Turner, Desiree Vogt-Lee, Christophe Vuillot, Jonathan A. Wildstrom, Jessica Wilson, Erick Winston, Christopher Wood, Stephen Wood, Stefan Wörner, Ismail Yunus Akhalwaya, and Christa Zoufal. 2019. Qiskit: An Open-Source Framework for Quantum Computing. Zenodo. https://doi.org/10.5281/ZENODO.2562110 Google ScholarGoogle ScholarCross RefCross Ref
  5. Carlo Angiuli. 2019. Computational Semantics of CartesianCubical Type Theory. Ph. D. Dissertation. Carnegie Mellon University. Pittsburgh, PA. https://www.cs.cmu.edu/~cangiuli/thesis/thesis.pdfGoogle ScholarGoogle Scholar
  6. Carlo Angiuli, Evan Cavallo, Anders Mörtberg, and Max Zeuner. 2021. Internalizing Representation Independence with Univalence. Proceedings of the ACM on Programming Languages, 5, POPL (2021), Jan., 12:1–12:30. https://doi.org/10.1145/3434293 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. John C. Baez and James Dolan. 2001. From Finite Sets to Feynman Diagrams. In Mathematics Unlimited — 2001 and Beyond, Björn Engquist and Wilfried Schmid (Eds.). Springer, Berlin, Heidelberg. 29–50. isbn:978-3-642-56478-9 https://doi.org/10.1007/978-3-642-56478-9_3 Google ScholarGoogle ScholarCross RefCross Ref
  8. John C. Baez, Fabrizio Genovese, Jade Master, and Michael Shulman. 2021. Categories of Nets. arXiv:2101.04238 [cs, math], April, arxiv:2101.04238. arxiv:2101.04238Google ScholarGoogle Scholar
  9. John C Baez, Alexander E Hoffnung, and Christopher D Walker. 2010. HIGHER DIMENSIONAL ALGEBRA VII: GROUPOIDIFICATION. Theory and Applications of Categories, 24 (2010), 66. http://www.tac.mta.ca/tac/volumes/24/18/24-18abs.htmlGoogle ScholarGoogle Scholar
  10. Henry G. Baker. 1992. Lively Linear Lisp: “Look Ma, No Garbage!”. ACM SIGPLAN Notices, 27, 8 (1992), Aug., 89–98. issn:0362-1340 https://doi.org/10.1145/142137.142162 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Henry G. Baker. 1992. NREVERSAL of Fortune — The Thermodynamics of Garbage Collection. In Memory Management, Yves Bekkers and Jacques Cohen (Eds.) (Lecture Notes in Computer Science). Springer, Berlin, Heidelberg. 507–524. isbn:978-3-540-47315-2 https://doi.org/10.1007/BFb0017210 Google ScholarGoogle ScholarCross RefCross Ref
  12. Stephane Beauregard. 2003. Circuit for Shor’s Algorithm Using 2n+3 Qubits. Quantum Information & Computation, 3, 2 (2003), March, 175–185. issn:1533-7146Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Tibor Beke. 2011. Categorification, Term Rewriting and the Knuth– Bendix Procedure. Journal of Pure and Applied Algebra, 215, 5 (2011), May, 728–740. issn:0022-4049 https://doi.org/10.1016/j.jpaa.2010.06.019 Google ScholarGoogle ScholarCross RefCross Ref
  14. Richard Bellman and Marshall Hall. 1960. Combinatorial Analysis (Proceedings of Symposia in Applied Mathematics, Vol. 10). American Mathematical Society. isbn:978-0-8218-1310-2 978-0-8218-7334-2 978-0-8218-9225-1 issn:2324-7088, 0160-7634 https://doi.org/10.1090/psapm/010 Google ScholarGoogle ScholarCross RefCross Ref
  15. Charles H. Bennett and Rolf Landauer. 1985. The Fundamental Physical Limits of Computation. Scientific American, 253, 1 (1985), 48–57. issn:0036-8733 https://www.jstor.org/stable/24967723Google ScholarGoogle ScholarCross RefCross Ref
  16. Sebastian Berger, Andrii Kravtsiv, Gerhard Schneider, and Denis Jordan. 2019. Teaching Ordinal Patterns to a Computer: Efficient Encoding Algorithms Based on the Lehmer Code. Entropy, 21, 10 (2019), Oct., 1023. issn:1099-4300 https://doi.org/10.3390/e21101023 Google ScholarGoogle ScholarCross RefCross Ref
  17. Ilya Beylin and Peter Dybjer. 1996. Extracting a Proof of Coherence for Monoidal Categories from a Proof of Normalization for Monoids. In Types for Proofs and Programs, Gerhard Goos, Juris Hartmanis, Jan Leeuwen, Stefano Berardi, and Mario Coppo (Eds.). 1158, Springer Berlin Heidelberg, Berlin, Heidelberg. 47–61. isbn:978-3-540-61780-8 978-3-540-70722-6 https://doi.org/10.1007/3-540-61780-9_61 Google ScholarGoogle ScholarCross RefCross Ref
  18. Marc Bezem, Ulrik Buchholtz, Pierre Cagne, Bjørn Ian Dundas, and Daniel R. Grayson. 2021. Symmetry. https://github.com/UniMath/SymmetryBookGoogle ScholarGoogle Scholar
  19. R. Blackwell, G. M. Kelly, and A. J. Power. 1989. Two-Dimensional Monad Theory. Journal of Pure and Applied Algebra, 59, 1 (1989), July, 1–41. issn:0022-4049 https://doi.org/10.1016/0022-4049(89)90160-6 Google ScholarGoogle ScholarCross RefCross Ref
  20. William J. Bowman, Roshan P. James, and Amr Sabry. 2011. Dagger Traced Symmetric Monoidal Categories and Reversible Programming. In Workshop on Reversible Computation.Google ScholarGoogle Scholar
  21. Ulrik Buchholtz and Egbert Rijke. 2017. The Real Projective Spaces in Homotopy Type Theory. In Proceedings of the 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS ’17). IEEE Press, Reykjavík, Iceland. 1–8. isbn:978-1-5090-3018-7Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Ulrik Buchholtz, Floris van Doorn, and Egbert Rijke. 2018. Higher Groups in Homotopy Type Theory. In Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science. ACM, Oxford United Kingdom. 205–214. isbn:978-1-4503-5583-4 https://doi.org/10.1145/3209108.3209150 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Jacques Carette, Chao-Hong Chen, Vikraman Choudhury, and Amr Sabry. 2018. From Reversible Programs to Univalent Universes and Back. Electronic Notes in Theoretical Computer Science, 336 (2018), April, 5–25. issn:1571-0661 https://doi.org/10.1016/j.entcs.2018.03.013 Google ScholarGoogle ScholarCross RefCross Ref
  24. Jacques Carette, Roshan P. James, and Amr Sabry. 2021. Embracing the Laws of Physics: Three Reversible Models of Computation. Advances in Computers, 126 (2021), arxiv:1811.03678Google ScholarGoogle Scholar
  25. Jacques Carette and Amr Sabry. 2016. Computing with Semirings and Weak Rig Groupoids. In Programming Languages and Systems, Peter Thiemann (Ed.). 9632, Springer Berlin Heidelberg, Berlin, Heidelberg. 123–148. isbn:978-3-662-49497-4 978-3-662-49498-1 https://doi.org/10.1007/978-3-662-49498-1_6 Google ScholarGoogle ScholarCross RefCross Ref
  26. Chao-Hong Chen, Vikraman Choudhury, Jacques Carette, and Amr Sabry. 2020. Fractional Types. In Reversible Computation. Springer, Cham, 169–186. https://doi.org/10.1007/978-3-030-52482-1_10 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Chao-Hong Chen and Amr Sabry. 2021. A Computational Interpretation of Compact Closed Categories: Reversible Programming with Negative and Fractional Types. Proceedings of the ACM on Programming Languages, 5, POPL (2021), Jan., 9:1–9:29. https://doi.org/10.1145/3434290 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Vikraman Choudhury and Marcelo Fiore. 2019. The Finite-Multiset Construction in HoTT. Aug., 40. https://hott.github.io/HoTT-2019/conf-slides/Choudhury.pdfGoogle ScholarGoogle Scholar
  29. Vikraman Choudhury and Marcelo Fiore. 2021. Free Commutative Monoids in Homotopy Type Theory. Oct., arxiv:2110.05412v1Google ScholarGoogle Scholar
  30. Vikraman Choudhury, Jacek Karwowski, and Amr Sabry. 2021. Artifact for Symmetries in Reversible Programming. Zenodo. https://doi.org/10.5281/zenodo.5671746 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Vikraman Choudhury, Jacek Karwowski, and Amr Sabry. 2021. Symmetries in Reversible Programming: From Symmetric Rig Groupoids to Reversible Programming Languages. Oct., arxiv:2110.05404v1Google ScholarGoogle Scholar
  32. Dan Christensen. 2015. A Characterization of Univalent Fibrations. June, 53. http://sweet.ua.pt/dirk/ct2015/slides/Christensen.pdfGoogle ScholarGoogle Scholar
  33. Cyril Cohen, Thierry Coquand, Simon Huber, and Anders Mörtberg. 2018. Cubical Type Theory: A Constructive Interpretation of the Univalence Axiom. 34 pages. https://doi.org/10.4230/LIPICS.TYPES.2015.5 Google ScholarGoogle ScholarCross RefCross Ref
  34. Jonathan Asher Cohen. 2009. Coherence for Rewriting 2-Theories. arXiv:0904.0125 [cs, math], April, arxiv:0904.0125. arxiv:0904.0125Google ScholarGoogle Scholar
  35. 1980. To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism, Haskell B. Curry, J. Roger Hindley, and J. P. Seldin (Eds.). Academic Press, London ; New York. isbn:978-0-12-349050-6 lccn:QA9.2 .T6Google ScholarGoogle Scholar
  36. Vincent Danos and Jean Krivine. 2004. Reversible Communicating Systems. In CONCUR 2004 - Concurrency Theory, Philippa Gardner and Nobuko Yoshida (Eds.) (Lecture Notes in Computer Science). Springer, Berlin, Heidelberg. 292–307. isbn:978-3-540-28644-8 https://doi.org/10.1007/978-3-540-28644-8_19 Google ScholarGoogle ScholarCross RefCross Ref
  37. Alessandra Di Pierro, Chris Hankin, and Herbert Wiklicky. 2006. Reversible Combinatory Logic. Mathematical Structures in Computer Science, 16, 4 (2006), Aug., 621–637. issn:0960-1295 https://doi.org/10.1017/S0960129506005391 Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Catherine Dubois and Alain Giorgetti. 2018. Tests and Proofs for Custom Data Generators. Formal Aspects of Computing, 30, 6 (2018), Nov., 659–684. issn:0934-5043, 1433-299X https://doi.org/10.1007/s00165-018-0459-1 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Josep Elgueta. 2021. The Groupoid of Finite Sets Is Biinitial in the 2-Category of Rig Categories. Journal of Pure and Applied Algebra, 225, 11 (2021), Nov., 106738. issn:0022-4049 https://doi.org/10.1016/j.jpaa.2021.106738 Google ScholarGoogle ScholarCross RefCross Ref
  40. Richard P. Feynman. 1982. Simulating Physics with Computers. International Journal of Theoretical Physics, 21, 6 (1982), June, 467–488. issn:1572-9575 https://doi.org/10.1007/BF02650179 Google ScholarGoogle ScholarCross RefCross Ref
  41. M. Fiore, N. Gambino, M. Hyland, and G. Winskel. 2008. The Cartesian Closed Bicategory of Generalised Species of Structures. Journal of the London Mathematical Society, 77, 1 (2008), Feb., 203–220. issn:00246107 https://doi.org/10.1112/jlms/jdm096 Google ScholarGoogle ScholarCross RefCross Ref
  42. Marcelo Fiore and Ola Mahmoud. 2010. Second-Order Algebraic Theories. In Mathematical Foundations of Computer Science 2010, Petr Hliněný and Antonín Kučera (Eds.) (Lecture Notes in Computer Science). Springer, Berlin, Heidelberg. 368–380. isbn:978-3-642-15155-2 https://doi.org/10.1007/978-3-642-15155-2_33 Google ScholarGoogle ScholarCross RefCross Ref
  43. Marcelo P. Fiore, Roberto Di Cosmo, and Vincent Balat. 2002. Remarks on Isomorphisms in Typed Lambda Calculi with Empty and Sum Types. In Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science (LICS ’02). IEEE Computer Society, USA. 147. isbn:978-0-7695-1483-3Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Simon Forest and Samuel Mimram. 2018. Coherence of Gray Categories via Rewriting. 16 pages. https://doi.org/10.4230/LIPICS.FSCD.2018.15 Google ScholarGoogle ScholarCross RefCross Ref
  45. Michael P. Frank. 1999. Reversibility for Efficient Computing. Ph. D. Dissertation. Massachusetts Institute of Technology. USA.Google ScholarGoogle Scholar
  46. Edward Fredkin and Tommaso Toffoli. 1982. Conservative Logic. International Journal of Theoretical Physics, 21, 3 (1982), April, 219–253. issn:1572-9575 https://doi.org/10.1007/BF01857727 Google ScholarGoogle ScholarCross RefCross Ref
  47. Nick Gurski and Angélica M. Osorno. 2013. Infinite Loop Spaces, and Coherence for Symmetric Monoidal Bicategories. Advances in Mathematics, 246 (2013), Oct., 1–32. issn:0001-8708 https://doi.org/10.1016/j.aim.2013.06.028 Google ScholarGoogle ScholarCross RefCross Ref
  48. Håkon Robbestad Gylterud. 2020. Multisets in Type Theory. Mathematical Proceedings of the Cambridge Philosophical Society, 169, 1 (2020), July, 1–18. issn:0305-0041, 1469-8064 https://doi.org/10.1017/S0305004119000045 Google ScholarGoogle ScholarCross RefCross Ref
  49. 1999. Feynman and Computation: Exploring the Limits of Computers, Anthony J. G. Hey (Ed.). Perseus Books, USA. isbn:978-0-7382-0057-6Google ScholarGoogle Scholar
  50. Florent Hiver. 2021. Coq-Combi: The Coxeter Presentation of the Symmetric Group. Mathematical Components. https://github.com/math-comp/Coq-Combi/blob/1ba924ecc1a1c7714a9b3a2dbb23d91af2a1193a/theories/SymGroup/presentSn.vGoogle ScholarGoogle Scholar
  51. Lorenz Huelsbergen. 1996. A Logically Reversible Evaluator for the Call-by-Name Lambda Calculus. InterJournal Complex Systems, 46 (1996).Google ScholarGoogle Scholar
  52. Gérard Huet. 1980. Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems: Abstract Properties and Applications to Term Rewriting Systems. J. ACM, 27, 4 (1980), Oct., 797–821. issn:0004-5411 https://doi.org/10.1145/322217.322230 Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. J. M. E. Hyland. 2017. Classical Lambda Calculus in Modern Dress. Mathematical Structures in Computer Science, 27, 5 (2017), June, 762–781. issn:0960-1295, 1469-8072 https://doi.org/10.1017/S0960129515000377 Google ScholarGoogle ScholarCross RefCross Ref
  54. Martin Hyland and John Power. 2004. Symmetric Monoidal Sketches and Categories of Wirings. Electronic Notes in Theoretical Computer Science, 100 (2004), Oct., 31–46. issn:15710661 https://doi.org/10.1016/j.entcs.2004.09.004 Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Roshan P. James and Amr Sabry. 2012. Information Effects. In Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’12). Association for Computing Machinery, New York, NY, USA. 73–84. isbn:978-1-4503-1083-3 https://doi.org/10.1145/2103656.2103667 Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Roshan P. James and Amr Sabry. 2014. Theseus: A High-Level Language for Reversible Computation. In Reversible Computation.Google ScholarGoogle Scholar
  57. A. Joyal and R. Street. 1993. Braided Tensor Categories. Advances in Mathematics, 102, 1 (1993), Nov., 20–78. issn:0001-8708 https://doi.org/10.1006/aima.1993.1055 Google ScholarGoogle ScholarCross RefCross Ref
  58. Chris Kapulkin, Peter LeFanu Lumsdaine, and Vladimir Voevodsky. 2012. Univalence in Simplicial Sets. March, arxiv:1203.2553v1Google ScholarGoogle Scholar
  59. Krzysztof Kapulkin and Peter LeFanu Lumsdaine. 2021. The Simplicial Model of Univalent Foundations (after Voevodsky). Journal of the European Mathematical Society, 23, 6 (2021), March, 2071–2126. issn:1435-9855 https://doi.org/10.4171/JEMS/1050 Google ScholarGoogle ScholarCross RefCross Ref
  60. G. M. Kelly. 1974. Coherence Theorems for Lax Algebras and for Distributive Laws. In Category Seminar, Gregory M. Kelly (Ed.) (Lecture Notes in Mathematics). Springer, Berlin, Heidelberg. 281–375. isbn:978-3-540-37270-7 https://doi.org/10.1007/BFb0063106 Google ScholarGoogle ScholarCross RefCross Ref
  61. Werner Kluge. 2000. A Reversible SE(M)CD Machine. In Implementation of Functional Languages, Pieter Koopman and Chris Clack (Eds.) (Lecture Notes in Computer Science). Springer, Berlin, Heidelberg. 95–113. isbn:978-3-540-44658-3 https://doi.org/10.1007/10722298_6 Google ScholarGoogle ScholarCross RefCross Ref
  62. Donald Ervin Knuth. 1997. The Art of Computer Programming (3rd ed ed.). Addison-Wesley, Reading, Mass. isbn:978-0-201-89683-1 978-0-201-89684-8 978-0-201-89685-5 lccn:QA76.6 .K64 1997Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. DONALD E. Knuth and PETER B. Bendix. 1970. Simple Word Problems in Universal Algebras† † The Work Reported in This Paper Was Supported in Part by the U.S. Office of Naval Research.. In Computational Problems in Abstract Algebra, JOHN Leech (Ed.). Pergamon, 263–297. isbn:978-0-08-012975-4 https://doi.org/10.1016/B978-0-08-012975-4.50028-X Google ScholarGoogle ScholarCross RefCross Ref
  64. Nicolai Kraus and Jakob von Raumer. 2020. Coherence via Well-Foundedness: Taming Set-Quotients in Homotopy Type Theory. In Proceedings of the 35th Annual ACM/IEEE Symposium on Logic in Computer Science. ACM, Saarbrücken Germany. 662–675. isbn:978-1-4503-7104-9 https://doi.org/10.1145/3373718.3394800 Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Paul Krogmeier, Umang Mathur, Adithya Murali, P. Madhusudan, and Mahesh Viswanathan. 2020. Decidable Synthesis of Programs with Uninterpreted Functions. In Computer Aided Verification, Shuvendu K. Lahiri and Chao Wang (Eds.) (Lecture Notes in Computer Science). Springer International Publishing, Cham. 634–657. isbn:978-3-030-53291-8 https://doi.org/10.1007/978-3-030-53291-8_32 Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Yves Lafont. 2003. Towards an Algebraic Theory of Boolean Circuits. Journal of Pure and Applied Algebra, 184, 2 (2003), Nov., 257–310. issn:0022-4049 https://doi.org/10.1016/S0022-4049(03)00069-0 Google ScholarGoogle ScholarCross RefCross Ref
  67. C.-A. Laisant. 1888. Sur la numération factorielle, application aux permutations. Bulletin de la Société Mathématique de France, 2 (1888), 176–183. issn:0037-9484, 2102-622X https://doi.org/10.24033/bsmf.378 Google ScholarGoogle ScholarCross RefCross Ref
  68. R. Landauer. 1961. Irreversibility and Heat Generation in the Computing Process. IBM Journal of Research and Development, 5, 3 (1961), July, 183–191. issn:0018-8646 https://doi.org/10.1147/rd.53.0183 Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Miguel L. Laplaza. 1972. Coherence for Distributivity. In Coherence in Categories, G. M. Kelly, M. Laplaza, G. Lewis, and Saunders Mac Lane (Eds.) (Lecture Notes in Mathematics). Springer, Berlin, Heidelberg. 29–65. isbn:978-3-540-37958-4 https://doi.org/10.1007/BFb0059555 Google ScholarGoogle ScholarCross RefCross Ref
  70. F. William Lawvere. 1963. FUNCTORIAL SEMANTICS OF ALGEBRAIC THEORIES. Proceedings of the National Academy of Sciences, 50, 5 (1963), Nov., 869–872. https://doi.org/10.1073/pnas.50.5.869 Google ScholarGoogle ScholarCross RefCross Ref
  71. D. H. Lehmer. 1960. Teaching Combinatorial Tricks to a Computer. In Proceedings of Symposia in Applied Mathematics, Richard Bellman and Marshall Hall (Eds.). 10, American Mathematical Society, Providence, Rhode Island. 179–193. isbn:978-0-8218-1310-2 978-0-8218-9225-1 https://doi.org/10.1090/psapm/010/0113289 Google ScholarGoogle ScholarCross RefCross Ref
  72. Saunders MacLane. 1963. Natural Associativity and Commutativity. Rice Institute Pamphlet - Rice University Studies, 49, 4 (1963), Oct., https://scholarship.rice.edu/handle/1911/62865Google ScholarGoogle Scholar
  73. Dmitri Maslov. 2003. Reversible Logic Synthesis.Google ScholarGoogle Scholar
  74. Hideya Matsumoto. 1964. Générateurs et Relations Des Groupes de Weyl Généralisés. COMPTES RENDUS HEBDOMADAIRES DES SEANCES DE L ACADEMIE DES SCIENCES, 258, 13 (1964), 3419.Google ScholarGoogle Scholar
  75. Paul-André Melliès. 2019. Template Games and Differential Linear Logic. In 2019 34th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). 1–13. https://doi.org/10.1109/LICS.2019.8785830 Google ScholarGoogle ScholarCross RefCross Ref
  76. D.M. Miller, D. Maslov, and G.W. Dueck. 2003. A Transformation Based Algorithm for Reversible Logic Synthesis. In Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451). 318–323. https://doi.org/10.1145/775832.775915 Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Martin Molzer. 2021. Cubical Agda: Simple Application of Fin: Lehmer Codes. Agda Github Community. https://github.com/agda/cubical/blob/a1d2bb38c0794f3cb00610cd6061cf9b5410518d/Cubical/Data/Fin/LehmerCode.agdaGoogle ScholarGoogle Scholar
  78. Shin-Cheng Mu, Zhenjiang Hu, and Masato Takeichi. 2004. An Injective Language for Reversible Computation. In Mathematics of Program Construction, Dexter Kozen (Ed.) (Lecture Notes in Computer Science). Springer, Berlin, Heidelberg. 289–313. isbn:978-3-540-27764-4 https://doi.org/10.1007/978-3-540-27764-4_16 Google ScholarGoogle ScholarCross RefCross Ref
  79. Ian Orton and Andrew M. Pitts. 2018. Decomposing the Univalence Axiom. In 23rd International Conference on Types for Proofs and Programs (TYPES 2017), Andreas Abel, Fredrik Nordvall Forsberg, and Ambrus Kaposi (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 104). Schloss Dagstuhl– Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany. 6:1–6:19. isbn:978-3-95977-071-2 issn:1868-8969 https://doi.org/10.4230/LIPIcs.TYPES.2017.6 Google ScholarGoogle ScholarCross RefCross Ref
  80. Asher Peres. 1985. Reversible Logic and Quantum Computers. Physical Review A, 32, 6 (1985), Dec., 3266–3276. https://doi.org/10.1103/PhysRevA.32.3266 Google ScholarGoogle ScholarCross RefCross Ref
  81. I. Petrakis. 2019. Univalent Typoids. https://www.math.lmu.de/~petrakis/Typoids.pdfGoogle ScholarGoogle Scholar
  82. Stefano Piceghello. 2019. Coherence for Symmetric Monoidal Groupoids in HoTT/UF. 2. http://www.ii.uib.no/~bezem/abstracts/TYPES_2019_paper_10Google ScholarGoogle Scholar
  83. Stefano Piceghello. 2020. Coherence for Monoidal Groupoids in HoTT. In 25th International Conference on Types for Proofs and Programs (TYPES 2019), Marc Bezem and Assia Mahboubi (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 175). Schloss Dagstuhl– Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 8:1–8:20. isbn:978-3-95977-158-0 issn:1868-8969 https://doi.org/10.4230/LIPIcs.TYPES.2019.8 Google ScholarGoogle ScholarCross RefCross Ref
  84. Amr Sabry, Jacques Carette, zsparks, Chao-Hong Chen, Vikraman Choudhury, Roshan James, and movieverse. 2021. JacquesCarette/Pi-Dual: Second Alpha Release. Zenodo. https://doi.org/10.5281/zenodo.5620828 Google ScholarGoogle ScholarCross RefCross Ref
  85. V.V. Shende, A.K. Prasad, I.L. Markov, and J.P. Hayes. 2003. Synthesis of Reversible Logic Circuits. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 22, 6 (2003), June, 710–722. issn:1937-4151 https://doi.org/10.1109/TCAD.2003.811448 Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Zachary Sparks and Amr Sabry. 2014. Superstructural Reversible Logic. 12. https://legacy.cs.indiana.edu/~sabry/papers/reversible-logic.pdfGoogle ScholarGoogle Scholar
  87. Arnaud Spiwack and Thierry Coquand. 2010. Constructively Finite? Universidad de La Rioja. isbn:978-84-96487-50-5 https://hal.inria.fr/inria-00503917Google ScholarGoogle Scholar
  88. Nicolas Tabareau, Éric Tanter, and Matthieu Sozeau. 2021. The Marriage of Univalence and Parametricity. J. ACM, 68, 1 (2021), Jan., 5:1–5:44. issn:0004-5411 https://doi.org/10.1145/3429979 Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. Tommaso Toffoli. 1980. Reversible Computing. In Automata, Languages and Programming, Jaco de Bakker and Jan van Leeuwen (Eds.) (Lecture Notes in Computer Science). Springer, Berlin, Heidelberg. 632–644. isbn:978-3-540-39346-7 https://doi.org/10.1007/3-540-10003-2_104 Google ScholarGoogle ScholarCross RefCross Ref
  90. The Univalent Foundations Program. 2013. Homotopy Type Theory: Univalent Foundations of Mathematics. Univalent Foundations Program, Institute for Advanced Study. https://homotopytypetheory.org/bookGoogle ScholarGoogle Scholar
  91. Vincent Vajnovszki. 2011. A New Euler– Mahonian Constructive Bijection. Discrete Applied Mathematics, 159, 14 (2011), Aug., 1453–1459. issn:0166-218X https://doi.org/10.1016/j.dam.2011.05.012 Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. André van Tonder. 2004. A Lambda Calculus for Quantum Computation. SIAM J. Comput., 33, 5 (2004), Jan., 1109–1135. issn:0097-5397 https://doi.org/10.1137/S0097539703432165 Google ScholarGoogle ScholarDigital LibraryDigital Library
  93. Andrea Vezzosi, Anders Mörtberg, and Andreas Abel. 2019. Cubical Agda: A Dependently Typed Programming Language with Univalence and Higher Inductive Types. Proceedings of the ACM on Programming Languages, 3, ICFP (2019), July, 87:1–87:29. https://doi.org/10.1145/3341691 Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. Noson S. Yanofsky. 2000. The syntax of coherence. Cahiers de Topologie et Géométrie Différentielle Catégoriques, 41, 4 (2000), 255–304. http://www.numdam.org/item/?id=CTGDC_2000__41_4_255_0Google ScholarGoogle Scholar
  95. Tetsuo Yokoyama, Holger Bock Axelsen, and Robert Glück. 2008. Principles of a Reversible Programming Language. In Proceedings of the 5th Conference on Computing Frontiers (CF ’08). Association for Computing Machinery, New York, NY, USA. 43–54. isbn:978-1-60558-077-7 https://doi.org/10.1145/1366230.1366239 Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. Tetsuo Yokoyama and Robert Glück. 2007. A Reversible Programming Language and Its Invertible Self-Interpreter. In Proceedings of the 2007 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM ’07). Association for Computing Machinery, New York, NY, USA. 144–153. isbn:978-1-59593-620-2 https://doi.org/10.1145/1244381.1244404 Google ScholarGoogle ScholarDigital LibraryDigital Library
  97. Brent Abraham Yorgey. 2014. Combinatorial Species and Labelled Structures. Dissertations available from ProQuest, Jan., 1–206. https://repository.upenn.edu/dissertations/AAI3668177Google ScholarGoogle Scholar

Index Terms

  1. Symmetries in reversible programming: from symmetric rig groupoids to reversible programming languages

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!