-
Notifications
You must be signed in to change notification settings - Fork 0
AProVE
Short description of AProVE.
The following input formats are supported:
For Term Rewrite Systems (TRSs), several variations of standard TRSs are supported as inputs:
- Rewriting with specific strategies (innermost rewriting, context-sensitive rewriting, outermost rewriting, (max-)parallel-innermost rewriting)
- Equational rewriting with associative or commutative operators
- Relative rewriting
- Integer term rewrite systems, both in a format following a RTA 2009 paper and in a format for top-level rewrite systems described in a JAR 2017 paper
- Probabilistic term rewrite systems
Termination, non-termination, upper complexity bounds, lower complexity bounds, almost-sure termination.
Dependency Pair framework, polynomial interpretations, ranking functions, ...
- SAT solvers: MiniSat, SAT4J
- SMT solvers: Z3, Yices, SMTInterpol
- Compilers: clang (for the step from C to LLVM IR)
- Termination backend: T2 (for Integer Transition Systems with restricted initial states), LoAT (for non-termination of Integer Transition Systems)
- Complexity analysis backends: KoAT (upper bounds for Integer Transition Systems), CoFloCo (upper bounds for Integer Transition Systems), LoAT (lower bounds for Integer Transition Systems)
https://aprove.informatik.rwth-aachen.de/
AProVE can be used via a web interface or downloaded and run locally.
For an exhaustive example collection, consider the Termination Problem DataBase with thousands of example inputs for the supported languages for termination and complexity. Additionally, the web interface provides examples.
A local installation of AProVE can be used both via the command line and as a plug-in for the Eclipse IDE.
The primary system description for AProVE is:
J. Giesl, C. Aschermann, M. Brockschmidt, F. Emmes, F. Frohn, C. Fuhs, J. Hensel, C. Otto, M. Plücker, P. Schneider-Kamp, T. Ströder, S. Swiderski, and R. Thiemann
Analyzing Program Termination and Complexity Automatically with AProVE
Journal of Automated Reasoning, 58(1):3-31, 2017.
DOI