Proving and Disproving Termination of Higher-Order Functions urgen Giesl, Ren´ e Thiemann, Peter Schneider-Kamp LuFG Informatik II, RWTH Aachen, Ahornstr. 55, 52074 Aachen, Germany {giesl|thiemann|psk}@informatik.rwth-aachen.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 higher-order 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 non-termination techniques for first- and higher-order 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 to combine arbitrary techniques for termination analysis in a modular way. The general idea of this framework is to solve termination problems by repeatedly decomposing them into sub-problems. We call this new concept the “dependency pair framework ” (“DP framework”) to distinguish it from the old “dependency pair approach ”. In particular, this framework also facilitates the development of new methods for termination analysis. After recapitulating the basics of the DP framework in Sect. 2, we present two new significant improvements: in Sect. 3 we extend the framework in order to handle higher-order functions and in Sect. 4 we show how to use the DP framework to prove non-termination. Sect. 5 sum- marizes our results and describes their empirical evaluation with the system AProVE. All proofs can be found in [17]. 2 The Dependency Pair Framework We refer to [5] for the basics of rewriting and to [4,13,16] for motivations and details on dependency pairs. We only regard finite signatures and TRSs. T (F , V ) is the set of terms over the signature F and the infinite set of variables V = {x,y,z,...,α,β,...}. R is a TRS over F if l, r ∈T (F , V ) for all rules l r ∈R. Supported by the Deutsche Forschungsgemeinschaft DFG under grant GI 274/5-1.