Displaying the proof obligation with reduced hypotheses
rp
or
rp(n)
with:
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.
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
|