Reversible Computation with Stacks and "Reversible Management of Failures"

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Palazzo, Matteo, Roversi, Luca
Format: Preprint
Publié: 2025
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866910040583045120
author Palazzo, Matteo
Roversi, Luca
author_facet Palazzo, Matteo
Roversi, Luca
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2501_05259
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Reversible Computation with Stacks and "Reversible Management of Failures"
Palazzo, Matteo
Roversi, Luca
Programming Languages
Computational Complexity
Logic in Computer Science
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.
title Reversible Computation with Stacks and "Reversible Management of Failures"
topic Programming Languages
Computational Complexity
Logic in Computer Science
url https://arxiv.org/abs/2501.05259