AProVE: A System for Proving Termination urgen Giesl, Ren´ e Thiemann, Peter Schneider-Kamp, Stephan Falke LuFG Informatik II, RWTH Aachen, Ahornstr. 55, 52074 Aachen, Germany {giesl|thiemann}@informatik.rwth-aachen.de {nowonder|spf}@i2.informatik.rwth-aachen.de 1 Introduction The system AProVE (A utomated Pro gram V erification E nvironment) can be used for automated termination and innermost termination proofs of (conditional) term rewrite systems (TRSs). AProVE currently offers the techniques of recursive path orders pos- sibly with status [3] (Sect. 2), dependency pairs including recent refinements such as narrowing, rewriting, and instantiation of dependency pairs [1, 4, 5] (Sect. 3), and the size-change principle, also in combination with dependency pairs [7, 9] (Sect. 4). 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. 5) 2 Direct Termination Proofs In a direct termination proof, the system tries to find a reduction order such that all rules of a TRS are decreasing. Currently, the following path orders are implemented in AProVE: the embedding order (EMB), the lexicographic path order (LPO, [6]), the LPO with status which compares subterms lexicographically according to arbitrary permu- tations (LPOS), the recursive path order which compares subterms as multisets (RPO, [3]), and the RPO with status which is a combination of LPOS and RPO (RPOS). Path orders may be parameterized by a precedence on function symbols and a status which determines how the arguments of function symbols are compared. To explore the search space for these parameters, the system leaves the precedence and the status as unspecified (or “minimal ”) as possible. The user can decide whether to explore the search space in a depth-first or a breadth-first search (where in the latter case, all possibilities for a minimal precedence and status are computed which satisfy the current constraints). Moreover, the user can configure the path orders by deciding whether different function symbols may be equivalent according to the precedence used in the path order (“non-strict precedence”). It is also possible to restrict potential equivalences to certain pairs of function symbols. When attempting termination proofs with path orders in AProVE, the precedence found by the system is displayed as a graph (in case of success) and in case of failure in the breadth-first search, the system indicates the problematic constraint. 3 Termination Proofs With Dependency Pairs The dependency pair approach [1, 4, 5] increases the power of automated termination analysis significantly, since it permits the application of simplification orders for non- simply terminating TRSs. In AProVE, the user can select whether to use the dependency pair approach for termination or for innermost termination proofs. The system can also check whether a TRS is non-overlapping (then innermost termination already implies termination). Essentially, the dependency pair approach generates a set of constraints from the TRS and searches for a well-founded order satisfying them. For that purpose, the user can select any of the base orders from Sect. 2. However, while all these orders are strongly monotonic, the dependency pair ap- proach only requires weak monotonicity. For that reason, before searching for a suitable