Compositional Reversible Computation
Jacques Carette, Chris Heunen, Robin Kaarsgaard, Amr Sabry
TL;DR
The paper addresses the challenge of making computation reversible in a way that composes modularly rather than only globally or via ad hoc history-tracking. It develops a principled, algebraic framework based on dagger and rig categories, culminating in the canonical term model $\Pi$ and the LR-construction to show how irreversible computation can be recovered from reversible foundations, including both classical and quantum settings. It shows how monads and arrows extend reversibility to effects, with a dagger Frobenius condition ensuring compatibility of reversal with effects, and demonstrates a three-stage LR factorization that echoes the fundamental theorem of reversible computation. In the quantum domain, the Hilbert-space model and Stinespring-style information hiding extend the classical results to open systems and measurement, providing a unified semantic toolkit for reversible and irreversible programming and quantum programming alike.
Abstract
Reversible computing is motivated by both pragmatic and foundational considerations arising from a variety of disciplines. We take a particular path through the development of reversible computation, emphasizing compositional reversible computation. We start from a historical perspective, by reviewing those approaches that developed reversible extensions of lambda-calculi, Turing machines, and communicating process calculi. These approaches share a common challenge: computations made reversible in this way do not naturally compose locally. We then turn our attention to computational models that eschew the detour via existing irreversible models. Building on an original analysis by Landauer, the insights of Bennett, Fredkin, and Toffoli introduced a fresh approach to reversible computing in which reversibility is elevated to the status of the main design principle. These initial models are expressed using low-level bit manipulations, however. Abstracting from the low-level of the Bennett-Fredkin-Toffoli models and pursuing more intrinsic, typed, and algebraic models, naturally leads to rig categories as the canonical model for compositional reversible programming. The categorical model reveals connections to type isomorphisms, symmetries, permutations, groups, and univalent universes. This, in turn, paves the way for extensions to reversible programming based on monads and arrows. These extensions are shown to recover conventional irreversible programming, a variety of reversible computational effects, and more interestingly both pure (measurement-free) and measurement-based quantum programming.
