Backstep on a proof
ba
ba(n)
with:
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 §).
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
|
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
|