🤖 AI Summary
High-order reversible programming—particularly in quantum and concurrent computing—lacks recursion mechanisms compatible with reversible semantics.
Method: We generalize guarded recursion to dagger rig categories, constructing a non-Cartesian, bounded, and guarded recursive model. We formalize the semantics of reversible languages within dagger-enriched rig categories, incorporating core features such as symmetric pattern matching, and ensure semantic adequacy via categorical constructions and fixed-point theorems.
Contribution/Results: We present the first reversible recursive framework supporting backward execution, multi-threading, and continuous data streams; overcome the restrictive Cartesian assumption inherent in prior models; and establish a mathematically rigorous, extensible semantic foundation for higher-order reversible languages—directly enabling quantum program modeling and reversible compiler design.
📝 Abstract
Guarded recursion is a framework allowing for a formalisation of streams in classical programming languages. The latter take their semantics in cartesian closed categories. However, some programming paradigms do not take their semantics in a cartesian setting; this is the case for concurrency, reversible and quantum programming for example. In this paper, we focus on reversible programming through its categorical model in dagger categories, which are categories that contain an involutive operator on morphisms. After presenting classical guarded recursion, we show how to introduce this framework into dagger categories with sufficient structure for data types, also called dagger rig categories. First, given an arbitrary category, we build another category shown to be suitable for guarded recursion in multiple ways, via enrichment and fixed point theorems. We then study the interaction between this construction and the structure of dagger rig categories, aiming for reversible programming. Finally, we show that our construction is suitable as a model of higher-order reversible programming languages, such as symmetric pattern-matching.