## Termination of Lazy Rewriting Revisited (2007)

### Cached

### Download Links

Citations: | 2 - 2 self |

### BibTeX

@MISC{Schernhammer07terminationof,

author = {Felix Schernhammer and Bernhard Gramlich},

title = {Termination of Lazy Rewriting Revisited},

year = {2007}

}

### OpenURL

### Abstract

Lazy rewriting is a proper restriction of term rewriting that dynamically restricts the reduction of certain arguments of functions in order to obtain termination. In contrast to context-sensitive rewriting, reductions at such argument positions are not completely forbidden but delayed. Based on the observation that the only existing (non-trivial) approach to prove termination of such lazy rewrite systems is flawed, we develop a modified approach for transforming lazy rewrite systems into contextsensitive ones that is sound and complete with respect to termination. First experimental results with this transformation based technique are encouraging.

### Citations

938 | Term Rewriting and All That - Baader, Nipkow - 1999 |

129 |
Eekelen. Functional Programming and Parallel Graph Rewriting
- Plasmeijer, van
- 1993
(Show Context)
Citation Context ... subterms is delayed as long as possible. Initially, lazy rewriting was introduced by [FKW00] in a graph rewriting setting (although the basic underlying idea is much older, cf. e.g. [FW76], [Str89], =-=[Pv93]-=-). However, for the termination analysis of lazy rewrite systems it is favorable to consider term rewriting instead of graph rewriting. Therefore, we will use the notion of lazy rewriting introduced i... |

89 |
Cons Should Not Evaluate its Arguments
- P, Wise
- 1976
(Show Context)
Citation Context ...uction of certain subterms is delayed as long as possible. Initially, lazy rewriting was introduced by [FKW00] in a graph rewriting setting (although the basic underlying idea is much older, cf. e.g. =-=[FW76]-=-, [Str89], [Pv93]). However, for the termination analysis of lazy rewrite systems it is favorable to consider term rewriting instead of graph rewriting. Therefore, we will use the notion of lazy rewri... |

88 | AProVE 1.2: Automatic termination proofs in the dependency pair framework
- Giesl, Schneider-Kamp, et al.
- 2006
(Show Context)
Citation Context ...1 (a), x) → f2(g(a), x) f2(g(x), a) → f2(g1(x), a) f(g(x), y) → f(g ′ 1 (x), y) b → f(g(c), b) with µ(f) = µ(g1) = µ(g ′ 1 ) = {1} and µ(f2) = {1, 2}. This system is µ-terminating (proved with AProVE =-=[GTSK06]-=-). The lazy reduction sequence starting from b cannot be mimicked anymore, because due to the two transformation steps first the argument of g has to be activated which prevents the activation of the ... |

87 | A lazy evaluator - Henderson, Morris |

80 | The maude 2.0 system - Clavel, Durán, et al. - 2003 |

69 | Context-sensitive computations in functional and functional logic programs - Lucas - 1998 |

43 | Context-sensitive rewriting strategies - Lucas - 2002 |

33 | Automated termination analysis for haskell: from term rewriting to programming languages - Giesl, Swiderski, et al. - 2006 |

30 | Termination of on-demand rewriting and termination of OBJ programs
- Lucas
- 2001
(Show Context)
Citation Context ...ication languages (cf. e.g. strategy annotations in Maude [CDE + 03]) and for theoretical results (cf. e.g. [Luc98,Luc06], [GL06]). Some of the most sophisticated approaches like on-demand rewriting (=-=[Luc01]-=-) and rewriting with on-demand strategy annotations ([AEGL03]) incorporate lazy evaluation features. Thus, a better understanding of lazy rewriting may contribute to an improved understanding and anal... |

23 | Lazy rewriting on eager machinery
- Fokkink, Kamperman, et al.
- 2000
(Show Context)
Citation Context ...n the evaluation of an expression, the result of certain subexpressions is not computed until it is known that the particular result is actually needed. A very similar idea is used in lazy rewriting (=-=[FKW00]-=-) where the reduction of certain subterms is delayed as long as possible. Initially, lazy rewriting was introduced by [FKW00] in a graph rewriting setting (although the basic underlying idea is much o... |

23 | Proving Termination of Context-Sensitive Rewriting by Transformation - Lucas |

22 |
Classes of equational programs that compile into efficient machine code
- Strandh
- 1989
(Show Context)
Citation Context ...f certain subterms is delayed as long as possible. Initially, lazy rewriting was introduced by [FKW00] in a graph rewriting setting (although the basic underlying idea is much older, cf. e.g. [FW76], =-=[Str89]-=-, [Pv93]). However, for the termination analysis of lazy rewrite systems it is favorable to consider term rewriting instead of graph rewriting. Therefore, we will use the notion of lazy rewriting intr... |

22 | Thunks: a way of compiling procedure statements with some comments on procedure declarations - Ingerman - 1961 |

13 | Lazy rewriting and context-sensitive rewriting
- Lucas
(Show Context)
Citation Context ... However, for the termination analysis of lazy rewrite systems it is favorable to consider term rewriting instead of graph rewriting. Therefore, we will use the notion of lazy rewriting introduced in =-=[Luc02b]-=-. Restrictions of term rewriting have been studied over the last decades and have been used both for practical implementations of specification languages (cf. e.g. strategy annotations in Maude [CDE +... |

6 | Compact normalisation trace via lazy rewriting
- Nguyen
- 2001
(Show Context)
Citation Context ... to explicitly mimic activation steps of lazy rewriting through special activation rules in the transformed system which basically exchange function symbols to make them more eager (this goes back to =-=[Ngu01]-=-). Activations in lazy rewriting are possible at positions which correspond to a non-variable position of the left-hand side of some rule in a partial matching. This is why in the transformation we ar... |

5 | Generalizing Newman’s lemma for left-linear rewrite systems
- Gramlich, Lucas
- 2006
(Show Context)
Citation Context ... last decades and have been used both for practical implementations of specification languages (cf. e.g. strategy annotations in Maude [CDE + 03]) and for theoretical results (cf. e.g. [Luc98,Luc06], =-=[GL06]-=-). Some of the most sophisticated approaches like on-demand rewriting ([Luc01]) and rewriting with on-demand strategy annotations ([AEGL03]) incorporate lazy evaluation features. Thus, a better unders... |

3 |
On-demand strategy annotations revisited
- Alpuente, Escobar, et al.
- 2003
(Show Context)
Citation Context ...DE + 03]) and for theoretical results (cf. e.g. [Luc98,Luc06], [GL06]). Some of the most sophisticated approaches like on-demand rewriting ([Luc01]) and rewriting with on-demand strategy annotations (=-=[AEGL03]-=-) incorporate lazy evaluation features. Thus, a better understanding of lazy rewriting may contribute to an improved understanding and analysis of these more recent approaches. In [Luc02b] a transform... |

2 |
On context-sensitive term rewriting
- Schernhammer
- 2007
(Show Context)
Citation Context ...transformation from lazy rewrite systems into context-sensitive ones, such that the transformed system is able to fully simulate the lazy reduction system. We conjecture that this is indeed possible (=-=[Sch07]-=-). Regarding the size of the transformed system, we have that the number of rules created by our transformation is in general exponentially higher than the number of lazy non-variable subterms in left... |

1 | Benchmarking implementations of functional languages with ‘pseudoknot’, a float-intensive benchmark - Groningen, Hausman, et al. - 1996 |