Résumé
Une même fonction de vérité admet une infinité de formules qui la représentent, et aucune d’elles, prise au hasard, ne laisse voir ce qu’elle dit. Cette leçon fixe deux moules dans lesquels toute formule entre à équivalence près : la forme normale disjonctive, une disjonction de conjonctions de littéraux, et la forme normale conjonctive, une conjonction de disjonctions de littéraux. On définit les littéraux, les clauses et les conjonctions élémentaires ; on démontre que la négation transforme une forme en l’autre lorsqu’on change chaque littéral en son opposé, ce qui est la dualité entre les deux ; on construit à partir de la table de vérité les formes canoniques et l’on démontre qu’elles sont uniques. Le théorème d’existence reçoit deux démonstrations : par la table, comme corollaire de la complétude fonctionnelle, et par induction sur la complexité, avec le seul cas de la négation conjointe et avec l’hypothèse double que cette démonstration exige. À la fin, on voit pourquoi elles valent l’effort : la validité d’une forme conjonctive et la satisfaisabilité d’une forme disjonctive se décident d’un coup d’œil.
Objectifs d’apprentissage
- Reconnaître les littéraux, les clauses, les conjonctions élémentaires et les formules en forme normale disjonctive ou conjonctive, en distinguant la forme, qui est une propriété de la chaîne, de l’équivalence, qui est une propriété du sens.
- Construire à partir de la table de vérité les formes canoniques disjonctive et conjonctive d’une formule, et démontrer que la forme canonique est unique et qu’elle détermine la classe d’équivalence de la formule.
- Démontrer par induction sur la complexité que toute formule équivaut à une forme normale disjonctive et à une forme conjonctive, en utilisant la dualité, les lois généralisées de De Morgan et de distributivité et le remplacement sémantique.
- Décider d’un coup d’œil la validité d’une forme normale conjonctive et la satisfaisabilité d’une forme disjonctive, et appliquer les formes normales à la conséquence sémantique et à la mesure de la taille minimale d’une forme normale.
Dans les leçons précédentes de cette unité, on a donné un sens aux formules : la leçon sur la sémantique de la logique propositionnelle a prolongé chaque valuation à toutes les formules ; la leçon sur la conséquence et l’équivalence sémantiques a défini l’équivalence et démontré le remplacement sémantique ; la leçon sur les lois généralisées de De Morgan et de distributivité a étendu ces lois aux conjonctions et aux disjonctions de formules ; et la leçon sur la complétude fonctionnelle a montré que toute fonction de vérité est représentée par une formule. Or une fonction de vérité est représentée par une infinité de formules, qui peuvent être très différentes les unes des autres : , et sont trois noms de la même chose. S’il en est ainsi, il convient de choisir dans chaque classe d’équivalence un représentant de forme fixe, qui se lise sans effort et avec lequel certaines questions se résolvent en regardant. Voilà ce que sont les formes normales.
Littéraux, clauses et formes normales
Rappelons, de la leçon sur les lois généralisées, la notation de la conjonction et de la disjonction de formules, définie par récurrence et en associant à gauche ; celle d’une seule formule est la formule elle-même.
Dans la même leçon, on a démontré que l’ordre et le regroupement des termes n’altèrent pas la formule à équivalence près (associativité généralisée et indépendance de l’ordre et des répétitions) ; c’est pourquoi nous écrirons aussi sans parenthèses, le regroupement étant entendu à gauche.
Un littéral est une variable , que l’on appelle littéral positif, ou la négation d’une variable, que l’on appelle littéral négatif. L’opposé d’un littéral , que nous notons , est le littéral de la même variable et de l’autre signe :
Il découle de la définition que . Deux littéraux forment une paire complémentaire si l’un est l’opposé de l’autre, comme et .
Une clause est une disjonction de littéraux, , et une conjonction élémentaire est une conjonction de littéraux, , avec dans les deux cas ; un littéral seul est donc à la fois une clause et une conjonction élémentaire. On dit qu’un littéral figure dans une clause ou dans une conjonction élémentaire s’il est l’un de ses .
Une formule est en forme normale disjonctive si elle est une disjonction de conjonctions élémentaires, et en forme normale conjonctive si elle est une conjonction de clauses ; c’est-à-dire si elle est, respectivement, de l’une des deux formes suivantes, où et sont des entiers naturels et chaque est un littéral :
Nous dirons que est une forme normale disjonctive de si elle est en forme normale disjonctive et , et de même pour la conjonctive. Les longueurs peuvent varier d’une conjonction (ou d’une clause) à l’autre : exiger le même nombre de littéraux dans toutes obligerait à compléter par des répétitions et n’ajouterait rien.
La formule est en forme normale disjonctive, avec , et ; elle n’est pas en forme conjonctive, parce qu’elle n’est pas une conjonction (ses deux composantes sont distinctes, et une conjonction est une double négation), et ce n’est pas non plus une clause : lue comme disjonction, elle a un terme, , qui n’est ni un littéral ni une disjonction de littéraux. La formule est sous les deux formes : comme disjonction d’une seule conjonction élémentaire () et comme conjonction de trois clauses d’un littéral chacune. De même, est à la fois une clause, c’est-à-dire une forme conjonctive avec , et une forme disjonctive de deux conjonctions d’un littéral.
En revanche, et ne sont sous aucune des deux formes, bien que la première équivaille à et la seconde à , qui le sont.
Il convient de s’arrêter sur ce que signifie « être en forme normale ». C’est une propriété de la chaîne de cercles et de disques, non de son sens : la leçon sur la récurrence sur les entiers et l’induction sur les formules a démontré la lecture unique, de sorte que demander si une formule est une disjonction, et de quoi, n’a qu’une réponse. Or les abréviations officielles font que certaines formules sont en forme normale sans le paraître. L’implication est définie comme : ce n’est pas qu’elle équivaut à cette clause, c’est qu’elle est cette chaîne même, et elle est donc déjà en forme normale. Plus surprenante est la double négation. Par les définitions de et de , la chaîne est , c’est-à-dire ; d’où n’est pas un littéral, mais est, symbole par symbole, la clause .
La valeur des conjonctions et des disjonctions
De la leçon sur la sémantique, on reprend les valeurs des connecteurs dérivés : ; , qui vaut si et seulement si les deux valent ; et si et seulement si les deux valent . La leçon sur les lois généralisées de De Morgan et de distributivité les a étendues à formules, par récurrence sur le nombre de termes, dans le lemme de la valeur : pour toute valuation , la conjonction vaut sous si et seulement si chaque vaut sous , et la disjonction vaut sous si et seulement si l’une des vaut sous . Ce lemme, que l’on cite ici sans en répéter la démonstration, est l’instrument avec lequel on calcule la valeur de n’importe quelle forme normale.
Pour tout littéral , la négation de équivaut à son opposé, ; en particulier, pour toute valuation .
Démonstration
Si est une variable , son opposé est , qui est exactement la chaîne : il n’y a rien à démontrer.
Si est , sa négation est , qui n’est pas un littéral ; par la loi de la double négation (leçon sur la conséquence et l’équivalence sémantiques), elle équivaut à , qui est l’opposé de .
Dans les deux cas, et ont la même valeur dans toute valuation, et celle de est donnée par la valeur de la négation.
Le second cas passe facilement inaperçu : en niant une forme normale, on a tendance à écrire au lieu d’un littéral, et n’en est pas un. C’est la double négation qui ramène le résultat dans le moule.
Une conjonction élémentaire est satisfaisable si et seulement si elle ne contient aucune paire complémentaire. Une clause est valide si et seulement si elle contient une paire complémentaire.
Démonstration
Si une conjonction élémentaire contient et , dans toute valuation l’un des deux vaut , par le lemme précédent ; par le lemme de la valeur, la conjonction vaut dans toute valuation.
Si elle ne contient aucune paire complémentaire, on définit une valuation qui donne à chaque variable qui y figure comme littéral positif et à chaque variable qui y figure comme littéral négatif (aux autres, ). La définition n’est pas contradictoire, parce qu’aucune variable n’y figure des deux manières.
Dans cette valuation, tous ses littéraux valent , et par le lemme de la valeur la conjonction vaut : elle est satisfaisable.
Si une clause contient et , dans toute valuation l’un des deux vaut , et la clause vaut : elle est valide.
Si elle ne contient aucune paire complémentaire, la valuation qui donne à ses variables positives et à ses variables niées donne la valeur à tous ses littéraux ; par le lemme de la valeur, la clause vaut sous elle et n’est pas valide.
Chargement du contenu…