4.2 Add hypothesis

Ajout dune hypothèse

Syntaxe

  ah(P)
avec :

Utilisation

Cette commande permet d’ajouter le prédicat P dans la pile des hypothèses.

Dans les hypothèses courantes, le prédicat P doit :

Si la preuve courante était
  prouver B sous les hypothèses h1, , hn
alors le prouveur va tenter de prouver successivement
  prouver P sous les hypothèses h1, , hn
puis
  prouver B sous les hypothèses h1, , hn, P

Cette preuve est effectuée avec la force de preuve courante.
Après avoir exécuté la commande ah(P), le but courant devient P. Si après la commande pr (voir chapitre 4.38 page §), le but courant est toujours P, l’hypothèse P n’a pas pu être prouvée.
Lorsque l’hypothèse P a été prouvée, le but devient P B. L’utilisateur a alors la possibilité soit de monter directement l’hypothèse P (commande dd (voir chapitre 4.14 page §)), soit de lancer le prouveur automatique qui montera l’hypothèse P’, obtenue après traitements sur P.
Si P ne peut pas être prouvé avec la force courante, on peut essayer une force supérieure. Toute la ligne de commande sera alors réexécutée avec la nouvelle force.

Puisque cette commande n’est pas protégée contre le mauvais typage et la mauvaise définition, l’utilisateur doit donc vérifier que l’hypothèse ajoutée est bien typée et bien définie.

Ceci peut être vérifié a posteriori à l’aide l’outil mdelta (cf. Manuel Utilisateur Version 1.0.).

Exemple

Soit la situation suivante :


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


L’opérateur désire ajouter l’hypothèse xx + yy :  2..20. Il exécute la commande ah :


 
PRI> ah(xx+yy: 2..20)  
Starting Add Hypothesis  
 


Le nouveau but devient :


 
    Goal  
        xx+yy: 2..20  
 


Cette hypothèse est à prouver avant de pouvoir poursuivre. L’opérateur lance le coeur de preuve :


 
PRI> pr  
Starting Prover Call  
 


L’hypothèse xx + yy :  2..20 a été prouvée : le but devient xx + yy :  2..20  =>  but courant.


 
    Goal  
        xx+yy: 2..20 => xx+yy-1: 1..100  
 


En utilisant la commande pr (voir chapitre 4.38 page §) ou dd (voir chapitre 4.14 page §), la preuve peut alors se poursuivre avec la nouvelle hypothèse.