scispace - formally typeset
Open AccessPosted Content

Reversible Computation in Term Rewriting

TLDR
This work has been partially supported by the EU (FEDER) and the Spanish Ministerio de Economia y Competitividad (MINECO) under grants TIN2013-44742-C4-1-R and TIN2016-76843-C 4-1 -R.
Abstract
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 \rightarrow 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 more

Citations
More filters
Book

Reversible Computation: Extending Horizons of Computing

TL;DR: Many threads of research in the area of foundations of reversible computing are reported on, giving particular emphasis to the results obtained in the framework of the European COST Action IC1405, entitled “Reversible Computation Extending Horizons of Computing”, which took place in the years 2015–2019.
Book ChapterDOI

Semi-inversion of Conditional Constructor Term Rewriting Systems.

TL;DR: A polyvariant semi-inversion algorithm for conditional constructor term rewriting systems, which can model logic and functional languages, and makes use of local inversion and a simple but effective heuristic.
Proceedings ArticleDOI

Inversion Framework: Reasoning about Inversion by Conditional Term Rewriting Systems

TL;DR: The correctness of the generic inversion algorithm introduced in this contribution is proven for all well-behaved rule inverters, and it is demonstrated that this class of inverters encompasses several of the inversion algorithms published throughout the past years.

Narrowing Trees for Syntactically Deterministic Conditional Term Rewriting Systems

Naoki Nishida, +1 more
TL;DR: It is shown that narrowing trees are useful to prove two properties of a normal conditional term rewriting system: one is infeasibility of conditional critical pairs and the other is quasi-reducibility.
References
More filters
Journal ArticleDOI

Irreversibility and heat generation in the computing process

TL;DR: Two simple, but representative, models of bistable devices are subjected to a more detailed analysis of switching kinetics to yield the relationship between speed and energy dissipation, and to estimate the effects of errors induced by thermal fluctuations.
Journal ArticleDOI

Logical reversibility of computation

TL;DR: This result makes plausible the existence of thermodynamically reversible computers which could perform useful computations at useful speed while dissipating considerably less than kT of energy per logical step.
Book

Term rewriting and all that

TL;DR: This chapter discusses abstract reduction systems, universal algebra, and Grobner bases and Buchberger's algorithm, and a bluffer's guide to ML Bibliography Index.
Journal ArticleDOI

Update semantics of relational views

TL;DR: The main result of the paper states that, given a complete set U of view updates, U has a translator if and only if U is translatable under constant complement.
Book

Term rewriting systems

Terese
TL;DR: This chapter discusses rewriting based languages and systems, which involves first-order term rewriting systems, and the properties of rewriting: decidability and modularity, as well as examples of TRSs and special rewriting formats.