Non-Cartesian Guarded Recursion with Daggers
<|reference_start|>Non-Cartesian Guarded Recursion with Daggers: 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 the prism of 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. Given a dagger category, we build categories shown to be suitable for guarded recursion in multiple ways, via enrichment and fixed point theorems. Finally, we show that our construction is suitable as a model of reversible programming languages, such as symmetric pattern-matching.<|reference_end|>
@article{lemonnier2024non-cartesian,
    title={Non-Cartesian Guarded Recursion with Daggers},
    author={Louis Lemonnier},
    journal={arXiv preprint arXiv:2409.14591},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.14591},
    primaryClass={cs.LO cs.PL math.CT}
}