4.17 Force

Change of the prover current force

Syntax

  ff(n)

with:

Use

This command enables the user to change the current prover force and to replay the whole existing command line (see chapter 2.7 page §) with a new force. If the force requested is equal to the current force, there is no change.

Force Fast gives maximum enhancement to processing speed. A proof in force 0 requires an average of 10 seconds per proof obligation. For certain complex PO, the proof can take several minutes. Higher forces use mechanisms consuming more CPU and memory resources. The processing time for a PO can become very long.

Given that around 90 % of PO proved are in force 0, it is advised to attempt the proof of a PO firstly in force 0.

for more details on proof forces, see “the choice of higher force” chapter in Interactive prover User Manual .

the ba command (see chapter 4.6 page §), which backsteps the proof does not apply on the ff command.

Example

Given the following situation:


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


for which an interactive proof task exists in force(0):


 
        Force(0) &  
          ah(xx+yy: 2..20) &  
            pr &  
            dd &  
              Next  
 


the user changes the current prover force:


 
PRI> ff(1)  
Switching to Force 1  
 


The command line already executed will be replayed with the new (ah(xx + yy  2..20) &  pr & dd) force .


 
Starting Add Hypothesis  
Starting Prover Call  
dd not applicable: Goal is not p => q  
 


Replay using different force is difficult since the proof path is a priori different. We particularly notice that the command dd does not apply.

The new command line is:


 
        Force(0) &  
          ah(xx+yy: 2..20) &  
            pr &  
            Next