Overlap (term rewriting)

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In mathematics, computer science and logic, overlap, as a property of the reduction rules in term rewriting system, describes a situation where a number of different reduction rules specify potentially contradictory ways of reducing a reducible expression (or redex) within a term. More precisely, if a number of different reduction rules share function symbols on the left hand side, overlap can occur. Often we do not consider trivial overlap with a redex and itself.

For example, consider the term rewriting system defined by the reduction rules

The term f(g(x), y) can be reduced via ρ1 to yield y, but it can also be reduced via ρ2 to yield f(f(x, x), y). Note how the redex g(x) is contained in the redex f(g(x), y). The result of reducing different redexes is described in a critical pair—the critical pair arising out of this term rewriting system is (f(f(x, x), y), y).

Overlap may occur with fewer than two reduction rules. Consider the term rewriting system defined by the reduction rule

The term g(g(g(x))) has overlapping redexes, which can be either applied to the innermost occurrence or to the outermost occurrence of the g(g(x)) term.


  • "Terese"; Marc Bezem, J. W. Klop, Roel de Vrijer (2003). Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press. p. 48. ISBN 0-521-39115-6.  Cite uses deprecated parameter |coauthors= (help)