Transformation techniques for context-sensitive rewrite systems

  • Authors:
  • Jürgen Giesl;Aart Middeldorp

  • Affiliations:
  • LuFG Informatik II, RWTH Aachen, Ahornstr. 55, 52074 Aachen, Germany (e-mail: giesl@informatik.rwth-aachen.de);Institute of Information Sciences and Electronics, University of Tsukuba, Tsukuba 305-8573, Japan (e-mail: ami@is.tsukuba.ac.jp)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Context-sensitive rewriting is a computational restriction of term rewriting used to model non-strict (lazy) evaluation in functional programming. The goal of this paper is the study and development of techniques to analyze the termination behavior of context-sensitive rewrite systems. For that purpose, several methods have been proposed in the literature which transform context-sensitive rewrite systems into ordinary rewrite systems such that termination of the transformed ordinary system implies termination of the original context-sensitive system. In this way, the huge variety of existing techniques for termination analysis of ordinary rewriting can be used for context-sensitive rewriting, too. We analyze the existing transformation techniques for proving termination of context-sensitive rewriting and we suggest two new transformations. Our first method is simple, sound, and more powerful than the previously proposed transformations. However, it is not complete, i.e., there are terminating context-sensitive rewrite systems that are transformed into non-terminating term rewrite systems. The second method that we present in this paper is both sound and complete. All these observations also hold for rewriting modulo associativity and commutativity.