4.2 Add hypothesis

Addition of a hypothesis

Syntax

  ah(P)

with:

Use

This command enables to add the P predicate in the hypotheses stack.

In the current hypotheses, the P predicate must:

If the current proof was
  prove G under the hypotheses h1, , hn
the prover will try successively
  to prove P under the hypotheses h1, , hn
then
  to prove G under the hypotheses h1, , hn, P

These proofs are carried out with the current proof force.

Once the command ah(P) is executed, the current goal becomes P. If after the command pr (see chapter 4.38 page §), the current goal is still P, the hypothesis P has not been proved.

When the hypothesis P has been proved, the goal becomes P G. The user can then, either add the hypothesis P directly (command dd (see chapter 4.14 page §)), or activate the automatic prover which will add the hypothesis P’, obtained after operations on P.

If P cannot be proved with the current force, we can try a higher force. The whole command line will then be executed again with the new force.

As this command is not protected against ill-typing and ill-definedness, the user has to check that the added hypothesis is well-typed and well-defined.

This can be checked, with hindsight, using tool mdelta (refer to its User manual version 1.0).

Example

Given the following situation:


 
    Hypothesis  
        xx: 1..10 &  
        yy: 1..10 &  
        zz: 1..100  
    Goal  
        xx+yy-1: 1..100  
 


The user wishes to add the hypothesis xx + yy :  2..20. He executes the command ah:


 
PRI> ah(xx+yy: 2..20)  
 Starting Add Hypothesis  
 


The new goal becomes:


 
    Goal  
        xx+yy: 2..20  
 


This hypothesis must be proved in order to be able to continue. The user starts the automatic prover:


 
PRI> pr  
Starting Prover Call  
 


The hypothesis xx+yy :  2..20 has been proved: the goal becomes xx+yy :  2..20  =>  current goal.


 
    Goal  
        xx+yy: 2..20 => xx+yy-1: 1..100  
 


By using the command pr (see chapter 4.38 page §) or dd (see chapter 4.14 page §), the proof can then go on with the new hypothesis.