Equational term graph rewriting
We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is well-known in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bisimilarity class of a term graph, partially ordered by functional bisimulation, is a complete lattice. It is shown how Equational Logic induces a notion of copying and substitution on term graphs, or systems of recursion equations, and also suggests the introduction of hidden or nameless nodes in a term graph. Hidden nodes can be used only once. The general framework of term graphs with copying is compared with the more restricted copying facilities embodied in the $mu$-rule, and translations are given between term graphs and $mu$-expressions. Using these, a proof system is given for $mu$-expressions that is complete for the semantics given by infinite tree unwinding. Next, orthogonal term graph rewrite systems, also in the presence of copying and hidden nodes, are shown to be confluent.