4.31 Modus ponens in hypothesis

Application of modus ponens

Syntax

  mh(H)

with:

Use

This command allows the direct use of a hypothesis of the form P Q. If P Q and P are hypotheses and G is the current goal, then the goal becomes Q G. The command mh allows to use hypothesis P Q without involving the prover, that is to say without simplifying the generated hypothesis Q. In fact, the automatic prover applies the modus ponens systematically on each P Q and P hypothesis couple that are present in the hypothesis stack.

If P Q or P are not hypotheses, the command isn’t applied.

Example

The following situation has been obtained directly:


 
    Hypothesis  
        ENS = {e1,e2,e3,e4,e5} &  
        zz = e5 => tt = e1 &  
        zz = e5  
    Goal  
        not(e2 = e5)  
 


The user wants to use the hypothesis zz = e5 => tt = e1 in order to generate the hypothesis tt = e1. He knows that hypothesis zz = e5 exists. The mh command is applied normally


 
PRI> mh(zz = e5 => tt = e1)  
Starting Modus Ponens on Hypothesis  
 


and the goal becomes:


 
    Goal  
        tt = e1 =>  not(e2 = e5)  
 


The pr or dd command allow to raise this hypothesis in the stack.