Appel du prouveur arithmétique
ap
ap(n)
avec :
Le prouveur arithmétique est un mécanisme destiné à rechercher une contradiction dans un
ensemble d’inéquations. Cette contradiction est recherchée en créant de nouvelles inéquations
par combinaison linéaire. Le nombre d’inéquations est limité afin d’éviter un bouclage du
mécanisme.
La commande ap permet d’appeler le mécanisme sur l’obligation de preuve courante. Le
mécanisme va travailler sur les inéquations que comporte la pile des hypothèses. Si le but
courant est une inéquation de la forme a ≤ b, alors l’inéquation a > b est ajoutée à la liste des
inéquations sur lesquelles va travailler le mécanisme.
Soit l’obligation de preuve suivante :
Hypothesis xx: INTEGER & 0<=xx & xx<=10 & yy: INTEGER & 0 = 1+yy-xx & xx-1 = yy & btrue & 0<=9 & 9: INTEGER Goal xx-1<=9
|
Etant donné la forme du but et le nombre d’inéquations en hypothèses, l’utilisation de la
commande ap est recommandé.
PRI> ap Begin Arithmetic Proof
|
Le but courant est alors déchargé.
Cet exemple montre le comportement de la commande lorsque le mécanisme échoue dans son
travail. Soit l’obligation de preuve suivante :
Hypothesis xx: INTEGER & 0<=xx & xx<=10 & btrue & 0<=9 & 9: INTEGER Goal xx<=9
|
L’obligation de preuve étant fausse, la commande ne décharge pas le but.
PRI> ap Begin Arithmetic Proof This Command gives nothing new
|
La commande ap n’est pas enregistrée, le but courant n’est pas modifié.