Reversible Computation in Term Rewriting

10/08/2017
by   Naoki Nishida, et al.
0

Essentially, in a reversible programming language, for each forward computation from state S to state S', there exists a constructive method to go backwards from state S' to state S. Besides its theoretical interest, reversible computation is a fundamental concept which is relevant in many different areas like cellular automata, bidirectional program transformation, or quantum computing, to name a few. In this work, we focus on term rewriting, a computation model that underlies most rule-based programming languages. In general, term rewriting is not reversible, even for injective functions; namely, given a rewrite step t_1 → t_2, we do not always have a decidable method to get t_1 from t_2. Here, we introduce a conservative extension of term rewriting that becomes reversible. Furthermore, we also define two transformations, injectivization and inversion, to make a rewrite system reversible using standard term rewriting. We illustrate the usefulness of our transformations in the context of bidirectional program transformation.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/19/2018

A Theory of Reversibility for Erlang

In a reversible language, any forward computation can be undone by a fin...
research
06/13/2022

The ℵ-Calculus: A declarative model of reversible programming

A novel model of reversible computing, the ℵ-calculus, is introduced. It...
research
11/08/2018

Embracing the Laws of Physics: Three Reversible Models of Computation

Our main models of computation (the Turing Machine and the RAM) make fun...
research
05/25/2018

Reversibility vs local creation/destruction

Consider a network that evolves reversibly, according to nearest neighbo...
research
12/22/2021

The Complexity of Iterated Reversible Computation

We define a complexity class 𝖨𝖡 as the class of functional problems redu...
research
05/25/2021

Evolutionary Algorithms for Designing Reversible Cellular Automata

Reversible Cellular Automata (RCA) are a particular kind of shift-invari...
research
11/30/2020

The ℵ Calculus

Motivated by a need for a model of reversible computation appropriate fo...

Please sign up or login with your details

Forgot password? Click here to reset