4.6 Back

Backstep on a proof

Syntax

  ba
  ba(n)

with:

Use

This command induces a backstep in the proof: the effect of the last command is canceled. The current goal, the hypotheses and the command line go back to their previous state. The ba command may not produce a change, if we are at the beginning of a command line (no command performed).
This command has an effect on the proof obligation status: if this has just been proved and we apply the ba command, we will find ourselves just before the last command which finishes the demonstration and the proof obligation becomes unproved.

The Back command can make the number of backsteps specified when the command was called.

The Node parameter backsteps the state of the proof obligation to the previous level of indentation in the command line. This parameter gives a very fast Back because no command is added.

ba does not apply to a ff command(see chapter 4.17 page §).

Example 1

Given the proof obligation whose command line is as follows:


 
        Force(0) &  
          ar(test.1,Fwd) &  
            dd &  
              dd &  
                ar(test.2,Once) &  
                  pr &  
                  pr &  
          Next  
 


If we apply the command line ba, we check that the last (pr) command has been suppressed:


 
        Force(0) &  
          ar(test.1,Fwd) &  
            dd &  
              dd &  
                ar(test.2,Once) &  
                  pr &  
                  Next  
 


By beginning the same operation again, we check that the last (pr) command has been suppressed:


 
        Force(0) &  
          ar(test.1,Fwd) &  
            dd &  
              dd &  
                ar(test.2,Once) &  
                  Next  
 


We can thus take several backsteps through a single command:


 
PRI> ba(3)  
 


In this case, the command line becomes:


 
        Force(0) &  
          ar(test.1,Fwd) &  
            Next  
 


Example 2

If the command line is:


 
  ah(not(xx = e1)) &  
    dc(zz,ENUM) &  
      pr &  
      pr &  
        ah(ww = 5) &  
          pr &  
          pr &  
      Next  
 


After application of the ba(Node) command, the command line becomes:


 
  ah(not(xx = e1)) &  
    Next