Skip to content

A tool for the transformation of an irreversible Term Rewriting System into a reversible one

License

Notifications You must be signed in to change notification settings

mistupv/rev-rewriting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reversible Term Rewriting

A tool written in Prolog for the transformation of an irreversible Term Rewriting System into a reversible one.

Dependencies

This tool uses the tokenize library. You do not need to install it since it is already included on the project.

How to use

First, load the rules from the rev.pl script as usual:

?- [rev].

Then, call the main rule (fscd/1) with the path to your .trs file (an atom).

For instance, to use the example TRS AProVE webpage:

?- fscd('examples/ackermann.trs').

The program will start its execution and print the transformed systems at each step.

Publications

This tool is an implementation of the proposed transformations in the following publications:

  • Naoki Nishida, Adrián Palacios and Germán Vidal. Reversible Term Rewriting. Proceedings of the First International Conference on Formal Structures for Computation and Deduction, 2016, pages 28:1-28:18.

Others

Check this video for the talk about this topic.