Abstract In 1984, Raoult has given a description of graph rewriting. His description is operational, despite the similarity which his constructions have to the category-theoretic concept of a pushout. We describe a modification to Raoult's description of graph rewriting which allows the reduction of a redex to be described as a pushout, in a category of graphs where morphisms are not required to preserve graph structure. Our description can also handle term rewrite rules whose right-hand sides consist of a variable. Raoult specifically excludes such rules from his treatment. Rules of this form include the K combinator, the identity function, selector functions for extracting components of data structures, and the conditional. We prove the correctness of this implementation of term rewriting.
[1]
Jean-Claude Raoult,et al.
On graph rewritings
,
1984,
Bull. EATCS.
[2]
Rod M. Burstall,et al.
HOPE: An experimental applicative language
,
1980,
LISP Conference.
[3]
K. L. Clark,et al.
Logic Programming
,
1982
.
[4]
J. R. Kennaway,et al.
DACTL: A computational model and compiler target language based on graph reduction
,
1987
.
[5]
John Staples,et al.
Optimal Evaluations of Graph-Like Expressions
,
1980,
Theor. Comput. Sci..
[6]
John Staples,et al.
Computation on Graph-Like Expressions
,
1980,
Theor. Comput. Sci..
[7]
John Staples.
Speeding up Subtree Replacement Systems
,
1980,
Theor. Comput. Sci..
[8]
Robin Milner,et al.
A proposal for standard ML
,
1984,
LFP '84.