Proving and disproving termination of higher-order functions

  • Authors:
  • Jürgen Giesl;René Thiemann;Peter Schneider-Kamp

  • Affiliations:
  • LuFG Informatik II, RWTH Aachen, Aachen, Germany;LuFG Informatik II, RWTH Aachen, Aachen, Germany;LuFG Informatik II, RWTH Aachen, Aachen, Germany

  • Venue:
  • FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

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 (untyped) 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 evaluated our results in the automated termination prover AProVE.