4.46 Submatch Goal

Match sur une partie du but

Syntaxe

  Sgoal(p | r )
avec :

Utilisation

Cette commande permet de rechercher un pattern dans le but, et est remplacée par le pattern de remplacement donné en paramètre. Si le pattern est trouvé, les jokers le composant sont instanciés, et Sgoal est remplacé par le pattern de remplacement.

Si le pattern n’est pas trouvé, la commande échoue.

Cette commande est principalement utilisée pour généraliser une suite de commande de preuve a plusieurs obligations de preuve

Exemple

Soit le but suivant :


    Hypothesis  
        var1 = var2  
    Goal  
        var1 : fonction[ens1]  
 


Dans ce cas, la commande sh(Sgoal( a : b | a)) va être replacée par sh(var1) de la manière suivante :

De la même manière, la commande eh(Sgoal( a : b | a)) va être remplacée par eh(var1), permettant de réécrire le but sous la forme suivante :


    Hypothesis  
        var1 = var2  
    Goal  
        var2 : fonction[ens1]