| | |
Summary: Proving and Disproving Termination of
HigherOrder Functions #
J˜urgen Giesl, Ren’e Thiemann, Peter SchneiderKamp
LuFG Informatik II, RWTH Aachen, Ahornstr. 55, 52074 Aachen, Germany
{giesl|thiemann|psk}@informatik.rwthaachen.de
Abstract. The dependency pair technique is a powerful modular method
for automated termination proofs of term rewrite systems (TRSs). We
present two important extensions of this technique: First, we show how
to prove termination of higherorder functions using dependency pairs.
To this end, the dependency pair technique is extended to handle (un
typed) applicative TRSs. Second, we introduce a method to prove non
termination with dependency pairs, while up to now dependency pairs
were only used to verify termination. Our results lead to a framework
for combining termination and nontermination techniques for first and
higherorder functions in a very flexible way. We implemented and eval
uated our results in the automated termination prover AProVE.
1 Introduction
One of the most powerful techniques to prove termination or innermost termi
nation of TRSs automatically is the dependency pair approach [4, 12, 13]. In [16],
we recently showed that dependency pairs can be used as a general framework
|