Recul d’un pas de preuve
ba
ba(n)
avec :
Cette commande provoque le recul d’un pas de preuve : l’effet de la dernière commande est
annulé. Le but courant, les hypothèses et la ligne de commande reprennent leur état précédent.
Il se peut que la commande ba ne produise pas de déplacement, si l’on est en début de ligne de
commande (aucune commande exécutée).
Cette commande a un effet sur l’état de l’obligation de preuve : si celle-ci vient d’être prouvée
et que l’on applique la commande ba, on va se replacer juste avant la dernière commande qui
finit la démonstration et l’obligation de preuve redevient non prouvée.
La commande Back peut reculer du nombre de pas spécifié lors de l’appel de la commande.
Le paramètre Node fait reculer l’état de l’obligation de preuve, jusqu’au précédent niveau d’indentation dans la ligne de commande. Ce paramètre donne un Back très rapide car aucune commande n’est rejouée.
ba ne s’applique pas sur une commande ff (voir chapitre 4.17 page §).
Soit l’obligation de preuve dont la ligne de commande est la suivante :
Force(0) & ar(test.1,Fwd) & dd & dd & ar(test.2,Once) & pr & pr & Next
|
Si l’on applique la commande ba, on vérifie que la dernière commande (pr) a été
supprimée :
Force(0) & ar(test.1,Fwd) & dd & dd & ar(test.2,Once) & pr & Next
|
En recommençant la même opération, on vérifie que la dernière commande (pr) a été
supprimée :
Force(0) & ar(test.1,Fwd) & dd & dd & ar(test.2,Once) & Next
|
On peut aussi reculer de plusieurs pas en une seule commande :
PRI> ba(3)
|
Dans ce cas, la ligne de commande devient :
Force(0) & ar(test.1,Fwd) & Next
|
Si la ligne de commande est :
ah(not(xx = e1)) & dc(zz,ENUM) & pr & pr & ah(ww = 5) & pr & pr & Next
|
Après application de la commande ba(Node), la ligne de commande devient :
ah(not(xx = e1)) & Next
|