Résumé
La sémantique avait promis des méthodes pour décider l’insatisfaisabilité qui ne parcourent pas la table de vérité ; cette leçon livre la principale d’entre elles. On écrit un ensemble de formules comme un ensemble de clauses, chacune étant un ensemble fini de littéraux, au moyen de la forme normale conjonctive ou, pour éviter sa croissance exponentielle, au moyen de clauses de définition avec des variables nouvelles, qui conservent la satisfaisabilité. Une seule règle agit sur les clauses, celle de résolution : d’une clause qui contient un littéral et d’une autre qui contient son opposé, on infère la réunion des deux sans cette paire. Une réfutation est une dérivation qui aboutit à la clause vide. On démontre la correction (s’il y a une réfutation, l’ensemble est insatisfaisable), par récurrence sur la longueur de la dérivation, et la complétude pour la réfutation (si un ensemble fini est insatisfaisable, il y a une réfutation), par récurrence sur le nombre de variables, en les éliminant une à une ; avec le théorème de compacité, la complétude s’étend aux ensembles infinis. Il en résulte une méthode pour décider les conséquences, que l’on compare avec les tables, et une présentation du problème de la satisfaisabilité, avec deux cas qui se décident rapidement : les clauses de Horn et les clauses à deux littéraux.
Objectifs d’apprentissage
- Représenter un ensemble de formules comme un ensemble de clauses, au moyen de la forme normale conjonctive ou de clauses de définition avec des variables nouvelles, et justifier que la représentation conserve la satisfaisabilité et la conséquence.
- Construire des réfutations par résolution et décider avec elles des conséquences et l’insatisfaisabilité, sans tomber dans les erreurs typiques, comme éliminer deux paires complémentaires en un seul pas.
- Démontrer la correction de la résolution par récurrence sur la longueur des dérivations et sa complétude pour la réfutation par élimination des variables, et l’étendre aux ensembles infinis avec le théorème de compacité.
- Expliquer le problème de la satisfaisabilité, son coût connu et les cas qui se décident rapidement (clauses de Horn et clauses à deux littéraux), et comparer la résolution avec les tables de vérité.
La leçon sur la sémantique de la logique propositionnelle a montré que la validité et la satisfaisabilité sont décidables par la table de vérité, à un coût qui double avec chaque variable, et a annoncé des méthodes qui n’exigeraient pas de la parcourir. La leçon sur la conséquence et l’équivalence sémantiques a ramené toute conséquence à une insatisfaisabilité : si et seulement si est insatisfaisable. Les leçons sur les formes normales et sur leur algorithme ont donné à toute formule une forme conjonctive, dont la validité se voit au premier coup d’œil, mais dont la satisfaisabilité ne se voit pas. S’il en est ainsi, il manque une procédure qui décide l’insatisfaisabilité d’une conjonction de clauses en opérant sur les clauses elles-mêmes. Cette procédure est la résolution, proposée par John Alan Robinson en 1965 à partir d’idées de Martin Davis et Hilary Putnam (1960) ; c’est le cœur des programmes qui décident aujourd’hui la satisfaisabilité de formules à des millions de variables. À la différence du système de l’unité de déduction, dont les relations avec la sémantique sont étudiées dans les leçons sur la correction et la complétude et sur le théorème de compacité, la résolution ne déduit pas de conclusions : elle réfute des ensembles. Cette leçon démontre qu’elle le fait de façon correcte et complète.
Comme dans les leçons précédentes, , , , et nomment les variables à ; la lettre sans indice, ainsi que , désignent des valuations ; et est l’ensemble des variables de .
Clauses et ensembles de clauses
Rappelons, d’après la leçon sur les formes normales, qu’un littéral est une variable ou la négation d’une variable, et que l’opposé d’un littéral , noté , est le littéral de la même variable et de l’autre signe ; deux littéraux opposés forment une paire complémentaire. Par le lemme de la négation d’un littéral, pour toute valuation . Là, une clause était une disjonction de littéraux ; ici, il convient d’oublier l’ordre et les répétitions, qui n’altèrent pas la valeur, et de ne garder que l’ensemble.
Une clause est un ensemble fini de littéraux. La clause sans littéraux s’appelle la clause vide et se note . Une valuation satisfait une clause , ce que l’on note , si un littéral de vaut sous ; dans le cas contraire, la réfute. Une clause d’un seul littéral est dite unitaire. Les variables d’une clause forment l’ensemble ; celles d’un ensemble de clauses, l’ensemble , réunion des précédents. Une valuation satisfait un ensemble de clauses, , si elle satisfait chacune de ses clauses ; est satisfaisable si une valuation le satisfait, et insatisfaisable dans le cas contraire. Enfin, si est un ensemble de clauses et une clause, signifie que toute valuation qui satisfait satisfait .
Deux cas extrêmes découlent de la définition, et il convient de les fixer. La clause vide n’a pas de littéraux ; par conséquent, aucun de ses littéraux ne vaut , et aucune valuation ne la satisfait : est insatisfaisable, et tout ensemble qui la contient l’est aussi. L’ensemble vide de clauses, en revanche, n’a aucune clause à satisfaire, et toute valuation le satisfait. Il ne faut pas les confondre : est insatisfaisable et est satisfait par toutes les valuations.
Soit une clause non vide, avec ses littéraux écrits dans un ordre quelconque et sans répétition. Pour toute valuation , si et seulement si . En particulier, toutes les disjonctions des littéraux de , dans un ordre quelconque et avec répétitions, sont équivalentes entre elles. De plus, est satisfaite par toute valuation si et seulement si elle contient une paire complémentaire.
Démonstration
Par le lemme de la valeur des disjonctions de formules, démontré dans la leçon sur les lois généralisées de De Morgan et de distributivité, la disjonction vaut si et seulement si l’un de ses termes vaut .
Qu’un vaille , c’est qu’un littéral de vaille , c’est-à-dire que satisfasse . La condition ne dépend ni de l’ordre ni des répétitions, car elle demande seulement quels littéraux sont présents.
Par le lemme des conjonctions élémentaires et des clauses (leçon sur les formes normales), une disjonction de littéraux est valide si et seulement si elle contient une paire complémentaire ; d’après ce qui précède, il en va de même pour .
Une clause qui contient une paire complémentaire est dite tautologique : elle n’impose aucune condition, et on peut la retirer de n’importe quel ensemble sans en altérer les modèles. Écrire les clauses comme des ensembles n’est pas un caprice de notation. Si de et on veut obtenir , la disjonction donne , qui équivaut à mais n’est pas la même formule ; avec des ensembles, , et la fusion des littéraux répétés se fait d’elle-même.
Soit . La clause exige ; alors exige , et alors exige . La valuation qui donne à et à et aux autres variables satisfait , et c’est la seule possibilité sur . Si l’on ajoute la clause , aucune valuation ne satisfait l’ensemble élargi : il est insatisfaisable, bien qu’il ne contienne pas .
Chargement du contenu…