PARLE Parallel Architectures and Languages Europe

Volume 259 of the series Lecture Notes in Computer Science pp 141-158


Term graph rewriting

  • H. P. BarendregtAffiliated withUniversity of Nijmegen
  • , M. C. J. D. van EekelenAffiliated withUniversity of Nijmegen
  • , J. R. W. GlauertAffiliated withSchool of Information Systems, University of East Anglia
  • , J. R. KennawayAffiliated withSchool of Information Systems, University of East Anglia
  • , M. J. PlasmeijerAffiliated withUniversity of Nijmegen
  • , M. R. SleepAffiliated withSchool of Information Systems, University of East Anglia

* Final gross prices may vary according to local VAT.

Get Access


Graph rewriting (also called reduction) as defined in Wadsworth [1971] was introduced in order to be able to give a more efficient implementation of functional programming languages in the form of lambda calculus or term rewrite systems: identical subterms are shared using pointers.

Several other authors, e.g. Ehrig [1979], Staples [1980a,b,c], Raoult [1984] and van den Broek et al. [1986] have given mathematical descriptions of graph rewriting, usually employing concepts from category theory. These papers prove among other things the correctness of graph rewriting in the form of the Church-Rosser property for “well-behaved” (i.e. regular) rewrite systems. However, only Staples has formally studied the soundness and completeness of graph rewriting with respect to term rewriting.

In this paper we give a direct operational description of graph rewriting that avoids the category theoretic notions. We show that if a term t is interpreted as a graph g(t) and is reduced in the graph world, then the result represents an actual reduct of the original term t(soundness). For weakly regular term rewrite systems, there is also a completeness result: every normal form of a term t can be obtained from the graphical implementation. We also show completeness for all term rewrite systems which possess a so called hypernormalising strategy, and in that case the strategy also gives a normalising strategy for the graphical implementation.

Besides having nice theoretical properties, weakly regular systems offer opportunities for parallelism, since redexes at different places can be executed independently or in parallel, without affecting the final result.