Event Structures and Non-Orthogonal Term Graph Rewriting

Received 1. Abstract We show that for every term graph in a left-linear but non-orthogonal term graph rewrite system, one can construct an event structure which represents all the possible reductions which can occur in reduction sequences starting from that term graph. Every nite reduction sequence from that graph corresponds to a connguration of the event structure, and L evy-equivalent sequences correspond to the same connguration. Garbage collection is modelled in the event structure by an \erases" relation. The asymmetric connicts which arise in non-orthogonal rewrite systems are modelled by introducing a \prevents" relation. The conngurations of the event structure then form the state space of an event automaton. Taking the directed completion of this space yields a prime algebraic domain. 2. Introduction By term graph rewriting we have in mind the operational style of rewriting described in (BvEG + 87). A more elegant, algebraic approach to the semantics may be found in (Ken91). Since the arguments in the proofs in this paper are almost exclusively operational in nature we have assumed the semantics in the former. We will occasionally use notation that assumes redexes and sequences are morphisms in the category described in (KKSdV93) (as they are). This done as anotational convenience and does not assume any category theory on the part of the reader. Following the approach of the work on event structures for orthogonal term graph rewriting systems in (KKSdV93) we assume that garbage collection is not delayed and is implicit in a rewrite step. We require the left-hand sides of rules in the rewriting systems to be representations of left-linear terms and do not allow them to contain cycles; crucially we allow non-orthogonal rules. This class of term graph rewriting systems is quite general, suuciently general to be able to describe not only the functional language Clean but also languages without a functional strategy, including the abstract reduction used to do strictness analysis in Clean (see (ENP91), (Noc94)), and non-deterministic term graph rewriting. In point of fact the class we consider is more general than necessary to describe any of these since none of

[1]  Jean-Jacques Lévy,et al.  An abstract standardisation theorem , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

[2]  G. Michele Pinna,et al.  On the Nature of Events , 1992, MFCS.

[3]  Eric Nöcker,et al.  Strictness analysis using abstract reduction , 1993, FPCA '93.

[4]  Hendrik Pieter Barendregt,et al.  Needed Reduction and Spine Strategies for the Lambda Calculus , 1987, Inf. Comput..

[5]  Richard Kennaway,et al.  Graph Rewriting in Some Categories of Partial Morphisms , 1990, Graph-Grammars and Their Application to Computer Science.

[6]  Chris Hankin,et al.  Graph Rewriting Systems and Abstract Interpretation , 1994, Theory and Formal Methods.

[7]  Jan Willem Klop,et al.  Term Graph Rewriting , 1995, HOA.

[8]  Glynn Winskel,et al.  Event Structures , 1986, Advances in Petri Nets.

[9]  J. R. Kennaway,et al.  Event structures and orthogonal term graph rewriting , 1993 .

[10]  Glynn Winskel,et al.  An introduction to event structures , 1988, REX Workshop.

[11]  G. Michele Pinna,et al.  On the Nature of Events: Another Perspective in Concurrency , 1995, Theor. Comput. Sci..

[12]  G Boudol Computational semantics of term rewriting systems , 1986 .

[13]  Marko C. J. D. van Eekelen,et al.  Concurrent Clean , 1991, PARLE.

[14]  Gérard P. Huet,et al.  Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980, J. ACM.