Next Contents

1  Résolution et preuves à base de coupures

Rappelons qu'une clause ¬ A1 Ú ¬ A2 Ú ... Ú ¬ Am Ú B1 Ú B2 Ú ... Ú Bn, où les Ai et les Bj sont atomiques, n'est qu'une notation commode pour le séquent atomique:
A1, A2, ..., Am ¾® B1, B2, ..., Bn

La règle de résolution :



n'est alors rien d'autre que la règle de coupure Cut de LK0, restreinte aux séquents atomiques :



Soit S un ensemble de clauses, et nommons LK0 + S le système logique obtenue en ajoutant aux règles de LK0 les règles :



pour toute clause G ¾® D dans S.

Toute dérivation par résolution à partir de S est ainsi une preuve d'un certain séquent dans LK0 + S, et toute réfutation par résolution est une preuve de la clause vide , c'est-à-dire du séquent vide ¾® dans LK0 + S.

Mais il s'agit d'une preuve d'un format très spécial : la seule règle de LK0 qu'elle utilise est la coupure Cut. Ceci est étonnant, parce que c'est en quelque sorte un résultat inverse de l'élimination des coupures (qui dit que la seule règle inutile en LK0 serait justement Cut).

On peut en fait montrer la complétude de la résolution en effectuant les étapes suivantes (consulter la fin du chapitre ``Résolution au premier ordre'' pour plus de détails). Soit F une formule valide, S une forme clausale de ¬ F (qui est donc insatisfiable), on souhaite montrer que l'on peut déduire le séquent vide ¾® à partir de S en utilisant juste la règle de coupure. Pour ceci :
  1. Comme S est insatisfiable, S ¾® est prouvable dans LK0 par la complétude de LK0; d'autre part, ¾® S est trivialement prouvable dans LK0 + S (pas dans LK0, évidemment). En utilisant une coupure, on en déduit que le séquent vide est dérivable dans LK0 + S.
  2. On applique maintenant les mouvements d'élimination des coupures (cf. tronc commun, ou bien le chapitre ``Logique classique du premier ordre''). Ceci fait remonter les coupures le plus haut possible, et termine. On se retrouve alors avec une preuve de la forme :

    avec tous les axiomes de la forme Ax ou dans S en haut, des coupures en dessous et toutes les autres règles encore en-dessous. (Toutes les règles logiques, c'est-à-dire portant sur les connecteurs logiques, ont en effet nécessairement disparu, parce que les clauses de S sont des séquents atomiques.)

    Mais la conclusion étant le séquent vide, la dernière règle appliquée ne peut être qu'une coupure ou bien un séquent de S (si la clause vide est dans S). Dans tous les cas, il n'y a pas d'autre règle que Cut appliquée dans la partie basse de la preuve, et la preuve est donc de la forme :



  3. Il ne reste plus qu'à montrer qu'on n'a jamais besoin de la règle Ax en haut de la preuve. Or aucune instance de Ax ne peut être la conclusion (clause vide) de la preuve, donc toute instance de Ax est forcément une prémisse de Cut. On transforme les cas où la formule axiome (celle qui est la même de chaque côté du séquent) n'est pas la formule de coupure :



    en des instances de Ax (et symétriquement si A est à gauche du séquent de gauche). Et l'on transforme les cas où la formule axiome (celle qui est la même de chaque côté du séquent) est la formule de coupure :



    en :



    (et symétriquement si A est à gauche du séquent de gauche), où W est une règle d'affaiblissement que l'on ajoute au calcul. Comme le processus termine, on obtient une preuve n'utilisant que les règles Cut, W, et les axiomes de S, de :



  4. On observe maintenant que l'on peut permuter W et Cut de sorte à faire descendre les instances de W dans la preuve. Les instances de W qui introduisent une formule de coupure absorbent la coupure qui est en-dessous, par exemple :



    Et les instances de W qui n'introduisent pas la formule de coupure permutent avec la coupure qui est en-dessous :



    Il est facile de voir que le processus termine, et on aboutit à une preuve n'utilisant que Cut, W et les axiomes de S de la forme :



    Mais les seules instances de W qui permettent de déduire le séquent vide (en bas) sont des instances de la forme:



    On peut donc toutes les supprimer, et il reste une preuve de la forme :



    ce qui était la forme souhaitée.
On a ainsi prouvé de façon essentiellement syntaxique (modulo la preuve de complétude de LK0) que la résolution était une méthode complète de preuve.

Il y a cependant quelques détails à règler. Dans l'étape 1, par exemple, on a utilisé S de façon ambiguë soit comme une formule, soit comme un ensemble de séquents. Il faut être plus précis : S est une disjonction de conjonctions Di, 1£ i£ n, où Di est la formule Li1 Ú ... Ú Lini, les Lij étant des littéraux. Soit Ci la clause (le séquent) que l'on a aussi décidé de noter Li1 Ú ... Ú Lini. Ce n'est pas S ¾® qui est prouvable, mais D1, ..., Dn ¾®; d'autre part, Di est clairement prouvable à partir de LK0 + S (partir de Ci), pour tout i : on en conclut que ¾® est prouvable en LK0 + S, en utilisant Cut n fois.




Next Contents