Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Rewrite order

In theoretical computer science, in particular in automated reasoning about formal equations, reduction orderings are used to prevent endless loops. Rewrite orders, and, in turn, rewrite relations, are generalizations of this concept that have turned out to be useful in theoretical investigations.

Related Image Collections Add Image
We don't have any YouTube videos related to Rewrite order yet.
We don't have any PDF documents related to Rewrite order yet.
We don't have any Books related to Rewrite order yet.
We don't have any archived web articles related to Rewrite order yet.

Motivation

Intuitively, a reduction order R relates two terms s and t if t is properly "simpler" than s in some sense.

For example, simplification of terms may be a part of a computer algebra program, and may be using the rule set { x+0 → x , 0+xx , x*0 → 0, 0*x → 0, x*1 → x , 1*xx }. In order to prove impossibility of endless loops when simplifying a term using these rules, the reduction order defined by "sRt if term t is properly shorter than term s" can be used; applying any rule from the set will always properly shorten the term.

In contrast, to establish termination of "distributing-out" using the rule x*(y+z) → x*y+x*z, a more elaborate reduction order will be needed, since this rule may blow up the term size due to duplication of x. The theory of rewrite orders aims at helping to provide an appropriate order in such cases.

Formal definitions

Formally, a binary relation (→) on the set of terms is called a rewrite relation if it is closed under contextual embedding and under instantiation; formally: if lr implies u[lσ]pu[rσ]p for all terms l, r, u, each path p of u, and each substitution σ. If (→) is also irreflexive and transitive, then it is called a rewrite ordering,1 or rewrite preorder. If the latter (→) is moreover well-founded, it is called a reduction ordering,2 or a reduction preorder. Given a binary relation R, its rewrite closure is the smallest rewrite relation containing R.3 A transitive and reflexive rewrite relation that contains the subterm ordering is called a simplification ordering.4

Overview of rewrite relations5
rewriterelationrewriteorderreductionordersimplificationorder
closed under contextx R y implies u[x]p R u[y]pYesYesYesYes
closed under instantiationx R y implies xσ R yσYesYesYesYes
contains subterm relationy subterm of x implies x R yYes
reflexivealways x R x(No)(No)Yes
irreflexivenever x R xYesYes(No)
transitivex R y and y R z implies x R zYesYesYes
well-foundedno infinite chain x1 R x2 R x3 R ...6Yes(Yes)

Properties

  • The converse, the symmetric closure, the reflexive closure, and the transitive closure of a rewrite relation is again a rewrite relation, as are the union and the intersection of two rewrite relations.7
  • The converse of a rewrite order is again a rewrite order.
  • While rewrite orders exist that are total on the set of ground terms ("ground-total" for short), no rewrite order can be total on the set of all terms.89
  • A term rewriting system {l1::=r1,...,ln::=rn, ...} is terminating if its rules are a subset of a reduction ordering.1011
  • Conversely, for every terminating term rewriting system, the transitive closure of (::=) is a reduction ordering,12 which need not be extendable to a ground-total one, however. For example, the ground term rewriting system { f(a)::=f(b), g(b)::=g(a) } is terminating, but can be shown so using a reduction ordering only if the constants a and b are incomparable.1314
  • A ground-total and well-founded rewrite ordering15 necessarily contains the proper subterm relation on ground terms.16
  • Conversely, a rewrite ordering that contains the subterm relation17 is necessarily well-founded, when the set of function symbols is finite.1819
  • A finite term rewriting system {l1::=r1,...,ln::=rn, ...} is terminating if its rules are subset of the strict part of a simplification ordering.2021

Notes

Nachum Dershowitz; Jean-Pierre Jouannaud (1990). "Rewrite Systems". In Jan van Leeuwen (ed.). Formal Models and Semantics. Handbook of Theoretical Computer Science. Vol. B. Elsevier. pp. 243–320. doi:10.1016/B978-0-444-88074-1.50011-1. ISBN 9780444880741.

References

  1. Dershowitz, Jouannaud (1990), sect.2.1, p.251

  2. Dershowitz, Jouannaud (1990), sect.5.1, p.270

  3. Dershowitz, Jouannaud (1990), sect.2.2, p.252

  4. Dershowitz, Jouannaud (1990), sect.5.2, p.274

  5. Parenthesized entries indicate inferred properties which are not part of the definition. For example, an irreflexive relation cannot be reflexive (on a nonempty domain set).

  6. except all xi are equal for all i beyond some n, for a reflexive relation

  7. Dershowitz, Jouannaud (1990), sect.2.1, p.251

  8. Since x

  9. Dershowitz, Jouannaud (1990), sect.5.1, p.272

  10. i.e. if li > ri for all i, where (>) is a reduction ordering; the system need not have finitely many rules

  11. Dershowitz, Jouannaud (1990), sect.5.1, p.270

  12. Dershowitz, Jouannaud (1990), sect.5.1, p.270

  13. Since e.g. a>b implied g(a)>g(b), meaning the second rewrite rule was not decreasing.

  14. Dershowitz, Jouannaud (1990), sect.5.1, p.271

  15. i.e. a ground-total reduction ordering

  16. Else, t|p > t for some term t and position p, implying an infinite descending chain t > t[t]p > t[t[t]p]p > ...[6][7]

  17. i.e. a simplification ordering

  18. Dershowitz, Jouannaud (1990), sect.5.1, p.272

  19. The proof of this property is based on Higman's lemma, or, more generally, Kruskal's tree theorem. /wiki/Higman%27s_lemma

  20. Dershowitz, Jouannaud (1990), sect.5.2, p.274

  21. N. Dershowitz (1982). "Orderings for Term-Rewriting Systems" (PDF). Theoret. Comput. Sci. 17 (3): 279–301. doi:10.1016/0304-3975(82)90026-3. S2CID 6070052. Here: p.287; the notions are named slightly different. http://www.cs.tau.ac.il/~nachum/papers/Orderings4TRS.pdf