Abstract

A term rewrite system is terminating when no infinite reduction sequences are possible. Relative termination generalizes termination by permitting infinite reductions as long as some distinguished rules are not applied infinitely many times. Relative termination is thus a fundamental notion that has been used in a number of different contexts, like analyzing the confluence of rewrite systems or the termination of narrowing. In this work, we introduce a novel technique to prove relative termination by reducing it to dependency pair problems. To the best of our knowledge, this is the first significant contribution to Problem #106 of the RTA List of Open Problems. We first present a general approach that is then instantiated to provide a concrete technique for proving relative termination. The practical significance of our method is illustrated by means of an experimental evaluation.

Highlights

  • Analyzing whether a program terminates or not is a fundamental problem that has been extensively studied in almost all programming paradigms

  • We present a new technique for proving relative termination by reducing it to the finiteness of dependency pair problems

  • 3 Relative Termination as a Dependency Pair Problem The main goal of this paper is to introduce a counterpart of Proposition 1 for proving relative termination

Read more

Summary

Introduction

Analyzing whether a program terminates or not is a fundamental problem that has been extensively studied in almost all programming paradigms. We present a new technique for proving relative termination by reducing it to the finiteness of dependency pair problems. Analyzing relative termination can be useful for other purposes, like dealing with random values or considering rewrite systems with so-called extra-variables (i.e., variables that occur in the right-hand side of a rule but not in the corresponding left-hand side). E.g., the following TRS from [28]: This system is clearly non-terminating due to the extra variable in the second rewrite rule. One can still prove the relative termination of R w.r.t. Bgen, which is an interesting property since one can ensure terminating derivations by using an appropriate heuristics to instantiate extra-variables. Bgen, which is an interesting property since one can ensure terminating derivations by using an appropriate heuristics to instantiate extra-variables Another interesting application of relative termination is test case generation.

Preliminaries
The Dependency Pair Framework
Relative Termination
Relative Termination as a Dependency Pair Problem
Syntactic Conditions for Admitting a Proof Ordering
Improving Applicability
Relative Termination and Minimality
Relative Subterm Criterion
Relative Usable Rules
Experimental Evaluation
Method
Related Work
Findings
Conclusion
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