Skip to content
Henri Nagel edited this page Jun 3, 2026 · 3 revisions

AProVE

What is the goal of AProVE, and how does it work? The main idea behind AProVE and the research we are working on at the 'Programming Languages and Verification' chair at RWTH Aachen University is explained in the following short introductory video.

Proof Structure

Quick Start Guide

Here you can find a quick guide that describes how to set up the AProVE development environment. Please follow the steps carefully to ensure a working configuration.

Learning the structure of AProVE

The following pages provides an overview of how AProVE works internally. Please read all of the pages carefully before working on new features to understand where and how to implement new stuff.

Using AProVE

Coding Conventions and Tips for Development

Please have a look at the code conventions for AProVE before creating a pull request. You can also find some interesting tips and pitfalls you should avoid when working on AProVE.

Competitions where AProVE participates

  • Termination Competition

    Content: termination and complexity analysis of programs written in Java, C, Haskell, Prolog, many variants of term rewrite systems, and many variants of integer transition systems.

    Benchmark Set: The competition runs on the termination problem database (TPDB).

  • Confluence Competition

    Content: confluence, reachability, and related analysis of programs written in different variants of term rewrite systems.

    Benchmark Set: The competition runs on the ARI-COPS database (ARI-COPS).

  • Software Verification Competition

    Content: termination, memory safety, reachability, and similar analysis of programs written in C.

    Benchmark Set: The competitions runs on the termination problem database (SV-Benchmarks).

Miscellaneous

Clone this wiki locally