A Structural Approach to Reversible Computation
arXiv:1111.7154 · doi:10.1016/j.tcs.2005.07.002
Abstract
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.
30 pages, appeared in Theoretical Computer Science
Cited by in corpus (12)
- Quantum walks: a comprehensive review
- A Lambda Calculus for Quantum Computation
- Reversible effects as inverse arrows
- Symmetries in Reversible Programming: From Symmetric Rig Groupoids to Reversible Programming Languages
- From Reversible Programs to Univalent Universes and Back
- An Algebra of Reversible Computation
- Turing Automata and Graph Machines
- Fractional Types: Expressive and Safe Space Management for Ancilla Bits
- A Distributed Extension of the Turing Machine
- Embracing the Laws of Physics: Three Reversible Models of Computation
- Lambda-calculus and Reversible Automatic Combinators
- Principal Types as Partial Involutions