left

Proof Interpretation

right
AProVE Help SystemProof OutputProof Interpretation

AProVE is able to generate proof outputs in HTML, LaTeX and plain text format. For more information how to generate and save the different formats, please click here.


 

Document Structure


We will explain the layout of a typical proof using the HTML output. The layout in LaTeX or plain text is very similar; LaTeX additionally offers images of graph structures instead of a text based representation.
Every proof layout consists of three characteristic elements:


1. Proof Header

The header consists of basic information about the obligation which has to be shown (for example termination or liveness). For example, it looks like this:



    Term Rewriting System R:


    [y, x]
    le(0, y) -> true
    le(s(x), 0) -> false
    le(s(x), s(y)) -> le(x, y)
    minus(0, y) -> 0
    minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
    ifminus(true, s(x), y) -> 0
    ifminus(false, s(x), y) -> s(minus(x, y))
    mod(0, y) -> 0
    mod(s(x), 0) -> 0
    mod(s(x), s(y)) -> ifmod(le(y, x), s(x), s(y))
    ifmod(true, s(x), s(y)) -> mod(minus(x, y), s(y))
    ifmod(false, s(x), s(y)) -> s(x)
 

    Termination of R to be shown.

2. Proof Body

In the proof body, the work of AProVE's actual techniques is shown. Every technique which was used for the proof is mentioned in the following way:

So AProVE has detected the Dependency Pairs above and three SCCs. These SCCs are new obligations, whose termination has still to be shown. This is reflected in the next locator, which illustrates the work of the next technique applied to the new obligations. In our example, the Size-Change Principle is applied to the first of the three SCCs:


 
 
  R
     ↳NOC
       → TRS2
         ↳DPs
           → SCC1
             ↳Size-Change Principle
           → SCC2
             ↳SCP
           → SCC3
             ↳Polo

Thus the structure in the Proof's body repeats.Longer paths from the tree's root to a leaf are shortened in the full proof view (not in the Result Viewer ).

3. Conclusion

The conclusion at the proof's end summarizes the success of the whole proof.


 
Termination of R successfully shown. 
Duration: 
0:05 minutes 
Of course, other conclusions are possible, e.g. Termination could not be shown, Non-Termination could be shown.
 

Colors and Propagation in Results

As You can see in the document structure description above, colours in the locator (and the same way in the Result Viewer ) represent the success status of AProVE's techniques. There are three important colors in Results:

Note that despite local successes or failures, the global success (indicated by the colour of the tree's root node in the Result Viewer  or the result tab color) can diverge from these local results.

Consider the following example:

On the path to the Non-Termination check there was a tranformation (Context Sensitive to Term Rewriting System) which did not preserve the completeness of Non-Termination. So the local result Non-Termination cannot state anything. Therefore it is propagated upwards as a failure in yellow. And indeed the original System terminates, so it would not be a good idea to show Non-Termination. In other cases, locally prooved Termination does not suffice for global success, because it was only successful for one of many obligations, of which others could not be evidenced to be terminating.


Addionally, the color gray can occur if something has gone wrong before a proof could be started. For example, if an input program could not be parsed correctly, or if a query to a prolog program is missing, that will be indicated by a gray node in the Result Viewer.