Proving Termination with AProVE

Stephan Falke,René Thiemann,J. Giesl,Peter Schneider-Kamp
Abstract:The system AProVE (Automated Program Verification Environment) offers a variety of techniques for automated (innermost) termination proofs of (possibly conditional) TRSs, logic programs, and first-order functional programs. Besides efficient implementations of classical simplification orders (Sect. 2), it offers the dependency pair technique [2,11] which allows the application of classical orders to examples where they would fail otherwise (Sect. 3). In contrast to most other implementations, we integrated numerous refinements such as narrowing, rewriting, and instantiation of dependency pairs [2,10,12,13], recent improvements to reduce the constraints generated by the dependency pair technique [12,13,23], etc. Therefore, AProVE succeeds on many examples where other currently available systems for automated termination proofs fail. AProVE also features the size-change principle [20] and it is possible to combine this principle with dependency pairs [22]. The tool is written in Java and proofs can be performed both in a fully automated or in an interactive mode via a graphical user interface. Sect. 4 compares AProVE with related tools.
Computer Science
What problem does this paper attempt to address?