English

Reversible Computation with Stacks and "Reversible Management of Failures"

Programming Languages 2026-03-05 v2 Computational Complexity Logic in Computer Science

Abstract

This work examines approaches to making computational models reversible. Broadly speaking, transforming a computational model into a reversible one, i.e. reversibilizing it, means extending its operational semantics conservatively in a way that each term of the model is interpretable as a bijection. We recall that the most common strategy to reversibilize a computational model yields operational semantics that halts computations whenever a computational state cannot be uniquely determined from its successor state, thereby allowing terms to be interpreted as partial bijective functions. We are interested in reversible computational models whose terms can be interpreted as total bijective functions. This is essential for studying aspects of computational complexity related to reversible computational models. We introduce SCORE, a language designed for manipulating variables and stacks. Notably, common reversibilization strategies naturally lead to interpreting the functions for stack manipulation as partial bijections. According to our interests, we demonstrate how to interpret SCORE in a state space where, using a proof-assistant, we certify that stack operations are total bijections. It follows that all SCORE terms can be interpreted as total bijections.

Keywords

Cite

@article{arxiv.2501.05259,
  title  = {Reversible Computation with Stacks and "Reversible Management of Failures"},
  author = {Matteo Palazzo and Luca Roversi},
  journal= {arXiv preprint arXiv:2501.05259},
  year   = {2026}
}

Comments

In Proceedings LTT 2026, arXiv:2603.02912