Proving Termination with AProVE
نویسندگان
چکیده
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.
منابع مشابه
Automated Termination Proofs with AProVE
We describe the system AProVE, an automated prover to verify (innermost) termination of term rewrite systems (TRSs). For this system, we have developed and implemented efficient algorithms based on classical simplification orders, dependency pairs, and the size-change principle. In particular, it contains many new improvements of the dependency pair approach that make automated termination prov...
متن کاملProving Termination of Programs Automatically with AProVE
AProVE is a system for automatic termination and complexity proofs of Java, C, Haskell, Prolog, and term rewrite systems (TRSs). To analyze programs in high-level languages, AProVE automatically converts them to TRSs. Then, a wide range of techniques is employed to prove termination and to infer complexity bounds for the resulting TRSs. The generated proofs can be exported to check their correc...
متن کاملAProVE: A System for Proving Termination
The system AProVE (Automated Program Verification Environment) 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 possibly with status [3] (Sect. 2), dependency pairs including recent refinements such as narrowing, rewriting, and instantiation of dependency pairs [1,...
متن کاملAProVE: Proving and Disproving Termination of Memory-Manipulating C Programs - (Competition Contribution)
AProVE is a system for automatic termination and complexity analysis of C, Java, Haskell, Prolog, and several forms of rewrite systems. The new contributions in this version of AProVE are its capabilities to prove non-termination of C programs and to handle recursive C programs, even if these programs use pointer arithmetic combined with direct memory accesses. Moreover, in addition to mathemat...
متن کاملTermination Analysis by Dependency Pairs and Inductive Theorem Proving
Current techniques and tools for automated termination analysis of term rewrite systems (TRSs) are already very powerful. However, they fail for algorithms whose termination is essentially due to an inductive argument. Therefore, we show how to couple the dependency pair method for TRS termination with inductive theorem proving. As confirmed by the implementation of our new approach in the tool...
متن کامل