 
Summary: A Structural Approach to Reversible Computation
Samson Abramsky
Oxford University Computing Laboratory
Abstract
Reversibility is a key issue in the interface between computation and physics, and of grow
ing importance as miniaturization progresses towards its physical limits. Most foundational
work on reversible computing to date has focussed on simulations of lowlevel machine mod
els. By contrast, we develop a more structural approach. We show how highlevel functional
programs can be mapped compositionally (i.e. in a syntaxdirected 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 Logicbut 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.
1 Introduction
The importance of reversibility in computation, for both foundational and, in the medium term,
for practical reasons, is by now well established. We quote from the excellent summary in the
introduction to the recent paper by Buhrman, Tromp and Vitanyi [18]:
