Abstract

Rewrite rules are oriented equations used to replace equals-by-equals in the speci ed direction. Input terms are repeatedly rewritten according to the rules. When and if no rule applies, the resultant normal form is considered the value of the initial term. If no in nite sequences of rewrites is possible, a rewrite system is said to have the termination property. Con uence of a rewrite system is a property that ensures that no term has more than one normal form. A convergent rewrite system is one with both the con uence and termination properties. Let T be a set of ( rst-order) terms, with variables taken from a set X , and G be its subset of ground (variable-free) terms. If t is a term in T , by tj we signify the subterm of t rooted at position and by t[s] (or simply t[s]) we denote t with its subterm tj replaced by a term s. We use the following notations for equational deduction: s ' t stands for the usual sense of equality in logical systems; s$e t (or just s$ t) denotes one step of replacement of equals for equals (using equation e); s !R t (or just s ! t) stands for one replacement according to the orientation of a rewrite rule (in R); s ! t, for any number (including zero) of rewrites; s $ t also stands for one rewrite step in either direction. Two terms s and t are said to be joinable if there is a term v such that s! v t, or s # t for short. For convergent R, an identity s ' t holds in the theory de ned by R (each rule viewed as an equation) if and only if the normal forms of s and t are identical. Thus, validity of equations is decidable for nite convergent R, since the joinability (#) relation is decidable. A ground convergent rewrite system is one that terminates and de nes unique normal forms for all ground terms. Ground convergent systems can be used to decide validity by skolemizing s and t and reducing to normal form. For a survey of the theory of rewriting, see [Dershowitz and Jouannaud, 1990]. A conditional equation is a universally-quanti ed (de nite) Horn clause in which the only predicate symbol is equality. We write such a clause in the form e1 ^ ^ en ) s ' t (n 0), meaning that equality s ' t holds whenever all the antecedent equations ei, hold. The term s will be called the left-hand side; t is the right-hand side; and the ei are the conditions. If n = 0, then the (positive unit) clause will be called an unconditional equation. Conditional equations are important for specifying abstract data types and expressing logic programs with equations. A conditional (rewrite) rule is an equational implication in which the equation in the consequent (s ' t) is oriented. To give operational semantics to such a system, the conditions under which a rewrite may be performed need to made precise. The most popular convention (see [Dershowitz and Okada, 1990]) for conditional rewriting is that the terms in each condition be

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call