4.42 Show reduced PO

Displaying the proof obligation with reduced hypotheses

Syntax

  rp or rp(n)

with:

Use

This command allows the display of the current proof obligation in the form of reduced hypotheses.

If n = 1, only the hypotheses which have a common symbol with the goal are selected.

If n = 2, the process is reiterated, by selecting the hypotheses which have a common symbol with the goal, or with the previously selected hypotheses.

Command rp is equivalent to rp(1).

rp allows the user to find quickly the hypotheses likely to help demonstrating the goal. In particular, this applies to the proof obligations coming from machines doing a lot of SEES or INCLUDES, which may have a lot of hypotheses characterising variables which do not appear in the goal.

Example

Given the following situation:


 
    Hypothesis  
        ENS = {e1,e2,e3,e4,e5} &  
        ENS: FIN(NATURAL*{ENS.enum}) &  
        xx: 1..10 &  
        yy: 1..10 &  
        zz: 1..100 &  
        tt: ENS &  
        uu: ENS &  
        not(uu = tt) &  
        uu: {e1,e2,e3,e4} => tt = e5 &  
        uu = e5 => tt = e1  
    Goal  
        not(uu = e1)  
 


With one iteration,


 
PRI> rp  
Reducing hypothesis of lemma, 1 inclusion iteration(s)...  
 


The proof obligation in its reduced form is therefore:


 
    Goal  
        not(uu = e1)  
    Hypothesis (1 pass(es) of inclusion by common symbols from goal)  
        uu: ENS &  
        not(uu = tt) &  
        uu: {e1,e2,e3,e4} => tt = e5 &  
        uu = e5 => tt = e1  
End of reduced PO  
 


With 2 iterations


 
PRI> rp(2)  
Reducing hypothesis of lemma, 2 inclusion iteration(s)...  
 
 


we get:


 
    Goal  
        not(uu = e1)  
    Hypothesis (2 pass(es) of inclusion by common symbols from goal)  
        ENS: FIN(NATURAL*{ENS.enum}) &  
        tt: ENS &  
        uu: ENS &  
        not(uu = tt) &  
        uu: {e1,e2,e3,e4} => tt = e5 &  
        uu = e5 => tt = e1  
End of reduced PO