Autowrite is a project carried out at the LaBRI (Laboratoire Bordelais de Recherche en Informatique) at the University of Bordeaux. Autowrite is an experimental tool written in Common Lisp for checking properties of term rewrite systems and handling bottom-up term (tree) automata. It is written in Steele Bank Common Lisp ( SBCL). It was initially designed to check call-by-need (CBN) properties of TRSs. For this purpose, it also implements the main operations on term automata constructions (determinization, minimization, union, intersection, emptimess,...) and many operations on terms. Recently, fly-automata have been added to the implementation. The transition function of a fly-automaton is a (Lisp) transition function instead of a table of transitions. Fly-automata may be used when the transition table is too big to be stored and can also be infinite in two ways (infinite signature, infinite number of states). A graphical interface interface written using FreeCLIM , the free implementation of the CLIM specification frees the user from any Lisp knowledge. From this interface, one can handle term rewrite systems, term automata and build many term automata related to TRSs and graphs represented as terms; one can check membership to call-by-need classes for the different considered approximations of a given system.
The principal features of Autowrite are:
The Autowrite distribution is publically available for research purposes.
The Autowrite distribution consists of a Linux gzip-compressed tar file.
The currently supported machines and operating systems are listed below.
A collection of examples of term rewrite systems to use with Autowrite is included in the Data directory of the distribution.
Download the relevant Autowrite.tgz tar file
Please refer to the Autowrite user's guide to see how to use Autowrite. Also available in Postscript or PDF
git clone https://firstname.lastname@example.org/idurand/trag.git
Should you have any comments or suggestions regarding Autowrite, or ideas on new functionalities that you would like to see in future releases of Autowrite, please send them to email@example.com.
Decidable approximations of term rewriting systems.
In Proc. 7th RTA, volume 1103 of LNCS, pages 362--376, 1996.
H. Comon. Sequentiality, Monadic Second Order Logic and Tree Automata. Information and Computation, 157:25--51, 2000.
I.Durand and A.Middeldorp. On the complexity of deciding call-by-need. Technical Report 1194-98, LaBRI, Université de Bordeaux I, 1998.
I.Durand and A.Middeldorp. On the modularity of deciding call-by-need. In Proc. FoSSaCS'01, volume 2030 of LNCS, pages 199-213, 2001
I.Durand and A.Middeldorp. Decidable call-by-need computations in term rewriting. Information and Computation, 196:95-126, 2005.
I. Durand. Autowrite: A tool for term rewrite systems and term automata. Electronic Notes in Theorical Computer Science, volume 124, pages 29-49, 2005
H. Comon and M. Dauchet and R. Gilleron and F. Jacquemard and D. Lugiez a nd S. Tison and M. Tommasi. Tree Automata Techniques and Applications.
B. Courcelle and I. Durand. Verifying monadic second order graph properties with tree automata. Proceedings of the 3rd European Lisp Symposium, pages 7-21, 2010
Here are some pointers to other sites with similar interests, listed by topic.