Ecole Supérieure d Ingénieurs de Luminy Département Informatique LOGIQUE FORMELLE ET DEMONSTRATION AUTOMATIQUE Notes de cours Henry KANOUI Octobre 2006
LOGIQUE FORMELLE ET DEMONSTRATION AUTOMATIQUE Horaires 20 heures de cours et TD Bibliographie Outils Logiques pour l Intelligence Artificielle JP Delahaye Eyrolles (1986) First-Order Logic and Automated Theorem Proving M. Fitting Springer (1996) Introduction to mathematical logic E. Mendelson 4 ème ed. Chapman & Hall (1996) Gödel, Escher, Bach : les brins d une guirlande éternelle D. Hofstadter InterEditions (1985) Résumé L objet de la logique formelle est l «analyse des phrases et des preuves» en considérant la forme de ces phrases et de ces preuves et en faisant abstraction du contenu. Prouver une formule, c est appliquer de façon mécanique des règles de transformation. Ceci est autre chose que la notion de «vérité», laquelle faite référence au monde réel et qu on aborde par le biais des «interprétations» et des «modèles». Bien entendu, on fera le lien entre ce qui est démontrable et ce qui est «vrai» en espérant que, dans un monde bien fait les deux se recouvrent. La logique peut être abordée depuis plusieurs points de vue selon qu on s adresse à des philosophes, des mathématiciens ou des informaticiens. C est ce dernier point de vue que nous privilégierons, après avoir toutefois soigneusement introduit les notions de bases des systèmes formels, puis les aspects syntaxiques et sémantiques du calcul propositionnel et du calcul des prédicats. Ayant pour objectif d utiliser un ordinateur pour automatiser les manipulations des formules logiques, nous insisterons sur les propriétés et les limites du formalisme du point de vue de la notion de preuve. La deuxième partie est consacrée aux méthodes de démonstration automatique : tableaux sémantiques et résolution qui est la plus intéressante du point de vue de l implémentation. On terminera par l étude des différentes stratégies qui peuvent être mises en oeuvre pour accélérer ou améliorer les démonstrations. On parviendra ainsi à caractériser le moteur de démonstration de base du langage Prolog qui fera l objet d un autre cours. Plan du Cours 1. Systèmes formels Définitions Propriétés Exemples 2. Calcul propositionnel Syntaxe Sémantique : notion d interprétation et de modèle Modèle de Herbrand Propriétés et principaux résultats 3. Calcul des prédicats Syntaxe Substitutions, unification Sémantique : interprétations et modèles Propriétés et principaux résultats 4. Eléments de démonstration automatique Tableaux sémantiques Résolution sans variables Résolution avec variables Stratégies : définitions et propriétés Logique et démonstration automatique H. KANOUI 1
SYSTEMES FORMELS Définition : S = < Σ, F, A, R > Σ : alphabet au moins dénombrable (donc existence d un ordre) F Σ* : formules bien formées (récursif : l appartenance à F est décidable) A F : axiomes (récursif) R : règles d inférences : r(f 1, f 2,, f n, g) : f 1, f 2,, f n - r g ou : de f 1, f 2,, f n on déduit g par la règle r. Déduction dans un S.F. Une déduction à partir de h 1, h 2,, h n est une suite finie f 1, f 2,, f p telle que i : f i est un axiome ou f i { h 1, h 2,, h n } ou il existe f i0, f i1,, f ik placés avant f i et une règle r tels que f i0, f i1,, f ik - r f i On écrit alors : h 1, h 2,, h n - S f p ou f 1,, f p est une déduction de f p sous les hypothèses h 1,, h n dans le système formel S. Théorème d un S.F. t est un théorème de S ssi - S t On écrit : t T S Exemple 1 Σ = F = { f 1, f 2, f 3, f 4, f 5 } f 1 f 2 A = { f 1, f 2 } r1 R = { f 1, f 2 - r1 f 3 ; f 2 - r2 f 4 ; f 2, f 3, f 4 - r3 f 5 } r2 f 3 f 4 Exemple 2 Démonstration de f 5 : Σ = { 1, +, = } F = { 1 n +1 m = 1 p m, n, p entiers >0 } A = {1 + 1 = 11 } R = {1 n +1 m = 1 p - r1 1 n+1 +1 m = 1 p+1 ; 1 n +1 m = 1 p - r2 1 n +1 m+1 = 1 p+1 } La suite de formules f 1 : 1 + 1 = 11 axiome f 2 : 1 + 11 = 111 par application de r 2 à f 1 f 3 : 1 + 111 = 1111 par application de r 2 à f 2 f 4 : 11 + 111 = 11111 par application de r 1 à f 3 est une démonstration de f 4 : f 4 T S Remarque Les manipulations sont purement syntaxiques comme dans tout S.F. Même si une interprétation s impose à l esprit, tout ce que l on pense être vrai n est pas forcément un théorème Il se peut qu il n y ait aucune adéquation entre le formalisme, les règles d inférence et la vérité Par exemple 1+1+1 = 111 T S car 1+1+1 = 111 F f 5 r3 Logique et démonstration automatique H. KANOUI 2
PROPRIETES DES SYSTEMES FORMELS Cohérent : Décidable : Correct : Complet : il existe des fbf qui ne sont pas des théorèmes pour tout f F le problème «f T S» a une réponse oui ou non (algorithme) si f T S» alors f est vraie notion d interprétation (sémantique) f T S» ssi f est vraie Si le S.F. comporte un symbole de négation ( ) Consistant : il n existe pas de fbf f F telle que f T S et f T S Catégorique : pour tout f F on a f T S ou f T S Saturé : pour tout f F si f T S alors S { f } est inconsistant Exemple Pour le SF précédent : T S = { 1 n +1 m = 1 n+m m, n entiers >0 } 1) m, n >0, [1 n +1 m = 1 n+m ] T S vrai pour n + m = 2 (axiome) supposons vrai pour tout (n,m) tq n+m<p soit (i, j) tq i + j = p 1 i - 1 + 1 j = 1 p-1 car (i-1) + j = p-1<p 1 i + 1 j = 1 p-1+1 = 1 p T S par application de r 1 cqfd 2) Réciproquement, toutes les formules intervenant dans une déduction sont de la forme : 1 n + 1 m = 1 n+m car : c est vrai pour l axiome si c est vrai pour f et que f - r1 g alors c est vrai pour g si c est vrai pour f et que f - r2 g alors c est vrai pour g donc tous les théorèmes de S sont de cette forme cqfd. On a donc caractérisé tous les théorèmes de S ce qui est impossible pour des S.F. complexes. Propriétés S est cohérent : 1 + 1 = 111 n est pas un théorème S est décidable : évident S est correct et complet vis à vis de la notion d addition entre 2 «entiers» non nuls : S modélise correctement cette notion. Logique et démonstration automatique H. KANOUI 3
RESULTATS GENERAUX Dans tout ce qui suit on se place dans un système formel S. Proposition 1 Si h 1,,h k - f 1 et h 1,,h k - f 2 et et h 1,,h k - f n et f 1,,f n - g alors h 1,,h k - g En effet pour i=1,2,,n soit q i,1,, q i,pi une déduction de f i à partir de h 1,,h k Soit aussi r 1,,r m une déduction de g à partir de f 1,,f n Alors q 1,1,, q 1,p1,, q n,1,, q n,pn, r 1,,r m est une déduction de g à partir de h 1,,h k Proposition 2 L ensemble des déductions est récursif C est à dire qu il existe un programme qui pour toute suite finie d éléments f 1,,f n de Σ* indique en un temps fini si cette suite est une déduction ou pas. On procède ainsi : on vérifie que chaque f i est une fbf ( l ensemble des fbf est récursif par définition) on répère les axiomes parmi les f i (l ensemble des axiomes est récursif par définition) pour chaque formule qui n est pas un axiome on vérifie qu elle peut être obtenue à partir des formules qui la précèdent Proposition 3 L ensemble des théorèmes est récursivement énumérable C est à dire qu il existe un programme qui calcule la liste de tous les théorèmes de S. on considère un programme qui calcule toutes les suites finies de fbf pour chaque suite on vérifie si oui ou non cette suite est une déduction (prop. 2). Si oui la dernière formule de la suite est un théorème. Proposition 4 Il existe des SF pour lesquels l ensemble des théorèmes n est pas récursif. Ainsi, alors qu il y a toujours un moyen algorithmique qui détermine en un temps fini si une suite de formule est une déduction ou pas, il n y en a pas en général qui détermine si une fbf est un théorème ou pas. Logique et démonstration automatique H. KANOUI 4
NOTION D INTERPRETATION DANS LES SYSTEMES FORMELS L intérêt des SF vient de ce qu ils peuvent être utilisés pour formaliser ou modéliser un univers concret. Cette modélisation consiste à établir une correspondance entre le SF et cet univers de sorte que : les formules du SF aient un sens dans l univers. Et donc, à chaque élément de l alphabet du SF on associe un concept (qui peut être un objet, une opération, une loi de composition, une fonction, une relation, etc.) de l univers les axiomes du SF soient des énoncés «vrais» dans l univers les règles d inférence du SF soient des raisonnement valides dans l univers. De cette façon les théorèmes du SF seront des énoncés «vrais» dans l univers. On souhaite également que la correspondance soit complète c est à dire que tous les énoncés vrais de l univers correspondent à des théorèmes. Si une telle correspondance existe (et alors elle est un isomorphisme du SF dans l univers) on dit que l univers est une interprétation du SF considéré. Prenons l exemple du SF suivant (système pg): - alphabet Σ = {o, p, g } - fbf F = {o n p o k g o m } où o i dénote une suite de i «o», n>0 - axiomes A = {x p o g x o ; x est une chaine non vide de «o»} - règles R = {x p y g z - x p y o g z o ; x, y z sont des chaines non vides de «o»} On remarque que l ensemble T des théorèmes est récursif. L algorithme de décision est : 0. T = 1a. On ajoute à T l axiome le plus simple : T = T {o p o g oo} 1b. On applique la règle aux éléments déjà dans T et on ajoute les résultats à T 2.a On ajoute à T le 2 ème axiome par ordre de simplicité 2 b. On applique la règle aux éléments déjà dans T et on ajoute les résultats à T 3a. etc. Donc T se remplit de théorèmes de plus en plus longs car il n y a pas de règle de raccourcissement. 1 ère interprétation pour le système pg I[p] = + I[g] = = I[o] = 1 I[o n ] = n cette interprétation induit un isomorphisme entre le système pg et N muni de l addition entre 2 entiers 2 ème interprétation pour le système pg I [p] = = I [g] = oté de I [o] = 1 I [o n ] = n cette interprétation induit un isomorphisme entre le système pg et N muni de la soustraction entre 2 entiers Ces 2 interprétations modélisent donc correctement N pour les opérations indiquées Logique et démonstration automatique H. KANOUI 5
système pg modifié Ajoutons un 2 ème schéma d axiomes : A = {x p o g x ; x est une chaine non vide de «o»} alors : f1 : oo p o g oo est un théorème (ax 2) I[f1] est 2+1=2 contradiction avec le monde et : f2 : oo p oo g ooo est un théorème (règle) I[f2] est 2+2=3 extérieur Explication : le 2 ème axiome a introduit une contradiction interne au système puisqu on a à la fois o p o g oo (ax 1) interprété par 1+1=2 o p o g o (ax 2) interprété par 1+1=1 Ce 2 ème axiome a «brisé» l isomorphisme entre le SF et le monde réel, donc entre les symboles et les concepts Que faire? il faut changer l interprétation! par exemple : I[p]= + et I[g] = Les axiomes sont alors interprétés par : 1+1 2 et 1+1 1 et les théorèmes contradictoires ci-dessus par : 2+1 2 et 2+2 3 Ce qui élimine toutes les contradictions. Complétude Le SF pg d origine avec la 1 ère interprétation est un exemple de SF complet : toute addition de 2 nombres est représentée par un théorème (elle est démontrable). De plus le SF pg est correct (aucune assertion fausse n est un théorème). Après modification du SF pg, il n en est plus de même. Il y a des vérités exprimables qui ne sont plus des théorèmes. Par exemple : 2+3 1 est exprimé par la fbf : oo p ooo g o qui n est pas un théorème. En effet, dans les axiomes A : x p o g x o, comme x est une suite non vide, le nombre de «o» après le «g» est >1. Dans les axiomes A : x p o g x, il n y a qu un seul «o» entre le «p» et le «g». Enfin, la règle x p y g z - x p y o g z o engendre des formules avec plus de 1 «o» après le g (et donc z n est pas vide). La fbf : oo p ooo g o ne peut donc pas être produite et donc n est pas un théorème. Explication : l interprétation I est «trop large», pas assez rigoureuse. Que faire? Il y a 2 façons d y remédier : - ajouter de nouvelles règles et donc rendre le système plus fort - ou bien restreindre l interprétation. Par exemple : I[g] = «supérieur de 1 ou égal à». A ce moment, la fbf : oo p ooo g o n est plus un théorème. Logique et démonstration automatique H. KANOUI 6
CALCUL PROPOSITIONNEL ou LOGIQUE PROPOSITIONNELLE DEFINITION DU S.F. CP0 (SYNTAXE) Σ = { variables propositionnelles } {,, (, ) } F = le plus petit ensemble contenant les variables propositionnelles (ou formules atomiques) et fermé pour la règle : si f et g F, alors f F et (f g) F. A = { (f (g f )) pour f, g F } Ax1 { ((f (g h )) ((f g) (f h)) pour f, g, h F } Ax2 schémas d axiomes { ( f g ) (g f) pour f, g F } Ax3 R = {f, f g - g pour f, g F } Pour alléger l écriture on introduit les connecteurs,, en écrivant : f g pour (f g ) f g pour f g f g pour (f g) (g f) Exemple de déduction modus ponens f1 : ((P0 ((P1 P0) P0)) ((P0 (P1 P0)) (P0 P0))) f2 : (P0 ((P1 P0) P0)) f3 : ((P0 (P1 P0)) (P0 P0)) f4 : (P0 (P1 P0)) f5 : (P0 P0) Ax2 Ax1 m.p. f1, f2 Ax1 m.p. f3, f4 Proposition 1 Pour toute fbf A du calcul propositionnel, la fbf (A A) est un théorème : - (A A) Proposition 2 Si A 1,A 2,,A n-1 - (A n B) alors A 1,A 2,,A n - B Soit D 1,,D p (A n B) une déduction de (A n B) à partir de A 1,A 2,,A n-1. Alors D 1,,D p, A n,b est une déduction de B à partir de D 1,,D p, A n. En effet la p+1 ème formule de cette liste est A n qui est une hypothèse et la p+2 ème est B obtenue par m.p. entre la p ème et la p+1 ème formule. Proposition 3 : Théorème de déduction (réciproque de la précédente) Si A 1,A 2,,A n - B alors A 1,A 2,,A n-1 - (A n B) A 1,A 2,,A n - B signifie qu il existe une déduction de B à partir de A 1,A 2,,A n. Soit k sa longueur. si k=1, il y a 3 cas possibles : B est un axiome. Alors f1 : B f2 : (B (A n B)) f3 : (A n B) axiome Ax1 m.p. Logique et démonstration automatique H. KANOUI 7
f1,f2,f3 (A n B) est une déduction de (A n B) et donc : A 1,A 2,,A n-1 - (A n B) B est l une des hypothèses A 1,A 2,,A n-1. Alors f1 : B hypothèse f2 : (B (A n B)) Ax1 f3 : (A n B) m.p. f1,f2,f3 (A n B) est une déduction de (A n B) et donc : A 1,A 2,,A n-1 - (A n B) B est l hypothèse A n alors d après la prop. 1 on sait que - (A n B) et donc A 1,A 2,,A n-1 - (A n B) si la proposition est vraie pour tout k<k0 Il y a 4 cas possibles B est un axiome comme ci-dessus B est l une des hypothèses A 1,A 2,,A n-1 comme ci-dessus B est l hypothèse A n comme ci-dessus B est obtenu par m.p. à partir de (C B) et C Alors (C B) et C sont des formules de la déduction de B à partir des hypothèses A 1,A 2,,A n Donc : A 1,A 2,,A n - (C B) en moins de k0 étapes et : A 1,A 2,,A n - C en moins de k0 étapes. D après l hypothèse de récurrence, A 1,A 2,,A n-1 - (A n (C B)) A 1,A 2,,A n-1 - (A n C) En se servant de Ax2 on peut écrire A 1,A 2,,A n-1 - ((A n (C B)) ((A n C) (A n B)) et en appliquant 2 fois m.p. : A 1,A 2,,A n-1 - (A n B) Exemple - (A (B C)) (B (A C)) ssi (A (B C)) - (B (A C)) ssi (A (B C)), B - (A C) ssi (A (B C)), B, A - C. Or f1 : (A (B C)) f2 : B f3 : A f4 : (B C) f5 : C hypothèse hypothèse hypothèse m.p. f1, f3 m.p. f2, f4 Proposition 4 Toutes les formules suivantes sont des théorèmes. ((A B) ((B C) (A C))) ( B (B C)) (B B) (B ( C (B C))) (B ((B C) C)) ( B B) ((A B) ( B A)) ((B A) (( B A) A))) Logique et démonstration automatique H. KANOUI 8
INTERPRETATION DU CP0 (SEMANTIQUE) Définition Une interprétation est une application I : { formules atomiques } { V, F }. C est à dire qu on se donne la valeur de vérité (V ou F) pour chaque variable propositionnelle. I est alors prolongée sur tout F par : I [ f ] = I [f g ] = I [f g ] = F si I [f ] = V V si I [f ] = F V si I [f ] = I [g ] = V F sinon V si I [f ] = V ou I [g ] = V F sinon I [f g ] = I [f g ] = V si I [f ] = F ou I [g ] = V F sinon V si I [f ] = I [g ] F sinon Exemple : Si I [f ] = V, I [g ] = F et I [h ] = V alors I [ (f g) ( h) ] = F Définitions f est une tautologie si I [f ] = V pour toute interprétation I. On écrit : = f. { f 1,, f n } est satisfiable ou consistant si il existe une interprétation I tq I [f 1 ] = = I [f n ] = V On dit que I est un modèle de { f 1,, f n }. Sinon { f 1,, f n } est insatisfiable ou inconsistant f est inconsistant ssi f est une tautologie. g est une conséquence de f 1,, f n si chaque fois que I [f 1 ] = = I [f n ] = V on a I [g ] = V. En d autre termes : tout modèle de { f 1,, f n } est un modèle de g. On écrit : f 1,, f n = g. Proposition 5 Si A et B sont 2 fbf on a : = (A B) ssi A =B = (A B) ssi A =B et B =A (ce qu on écrit : A B) si =A et si =(A B) alors =B = (A B) ssi =A et =B si =A ou =B alors = (A B) Logique et démonstration automatique H. KANOUI 9
THEOREMES FONDAMENTAUX Proposition 6 (théorème de correction) Pour toute fbf A: si - A alors =A Autrement dit, les formules qui sont des théorèmes (validité syntaxique) sont aussi des tautologies (validité sémantique. Le système est «correct» : tout ce qu on peut déduire est «vrai») Soit A telle que - A. Il existe donc une déduction de A. Soit n sa longueur. Si n=1, A est un axiome. C est donc une tautologie et = A. Supposons que le résultat soit vrai pour tous les théorèmes X pour lesquels il existe une démonstration de longueur < n. La dernière étape de la déduction de longueur n de A consiste : - soit en l introduction d un axiome et alors =A. - soit par application de m.p. à partir des formules (B A) et B situées avant A dans la déduction. Ces formules sont donc des théorèmes qui admettent des déductions de longueur < n, donc sont des tautologies et donc =A. Proposition 7 Soit A une tautologie utilisant les propositions p 1,,p n et B 1,,B n des formules quelconques. La formule A obtenue à partir de A en remplaçant chaque p i par B i est une tautologie. Soit I une interprétation. I[A ] se calcule à partir de I[B 1 ],, I[B n ]. On rapporte alors les valeurs trouvées dans A. En posant I[p i ]=I[B i ], on obtient I[A]. Comme A est une tautologie, la valeur de I[A] ainsi calculée est toujours V. Donc I[A ] = V et ceci pour toute I. A est donc une tautologie. Proposition 8 (théorème de complétude) Pour toute formule A, si =A alors -A Autrement dit, toutes les tautologies (validité sémantique) sont des théorèmes (validité syntaxique) : tout ce qui est «vrai» peut être déduit. Avec la prop. 6, il y a donc équivalence entre ce qui est «vrai» et ce qu on peut démontrer. Ceci montre que le SF CP0 est une modélisation correcte du calcul des propositions. D autres modélisations du CP0 (autres axiomes, autres règles d inférence) ne possèdent pas nécessairement cette propriété. Corollaire 1 (théorème de décidabilité) Le calcul propositionnel est décidable ou encore l ensemble T des théorèmes du CP0 est récursif. Soit A une formule et {p 1,,p n } l ensemble des propositions qui ont une occurrence dans A. Pour chacune des 2 n interprétations possibles I de {p 1,,p n } calculer I[A]. Si I[A]=V alors =A et donc -A (prop. 8) et donc A est un théorème. Sinon A n est pas un théorème. Corollaire 2 Pour toutes formules B 1,,B n et A, on a : B 1,,B n =A ssi B 1,,B n -A Logique et démonstration automatique H. KANOUI 10
Proposition 9 (théorème de compacité) Soit K un ensemble de formules. Si pour toute partie finie K de K il existe une interprétation I partout vraie sur K, alors il existe une interprétation J partout vraie sur K. Proposition 10 (théorème de finitude) Soit K un ensemble de formules et B une formule. Si K =B alors il existe une partie finie K de K telle que K =B. Puisque K = B, il n existe pas d interprétation partout vraie sur K et fausse en B (ou vraie en B). Donc il n existe pas d interprétation partout vraie sur K { B}. Donc il existe une partie finie K de K { B} pour laquelle aucune interprétation n est partout vraie. Donc si une interprétation I est vraie sur K alors elle est fausse pour B. On en déduit : - que K ne contient pas B puisque I est vraie sur tout K et I[ B] = F. Donc K K. - I [B]=V On a donc bien trouvé K K, K fini tq toute interprétation qui satisfait K satisfait B et donc K =B. Proposition 11 Si K est un ensemble de formules et A une formule on a : K = A ssi K - A Les énoncés suivants sont tous équivalents K = A il existe B 1,,B n dans K tq B 1,,B n = A prop. 10 il existe B 1,,B n dans K tq B 1,,B n - A prop. 8, coroll. 2 K - A définition de la notation Proposition 12 (méthode de réfutation) Les 3 énoncés suivants sont équivalents : f 1,, f n = g (E1) = [f 1 f n g] (E2) {f 1,, f n, g} est insatisfiable (E3) En d autres termes, pour prouver g à partir de f 1,, f n, on montre que g introduit une contradiction (raisonnement par l absurde) (E1) équivalent à (E3) - Si (E1) alors toute interprétation qui satisfait {f 1,, f n } satisfait aussi g. Donc : Si I[f 1 ] = = I[f n ] = V alors I[g] = V et donc I[ g] = F. Aucune interprétation ne satisfait donc {f 1,, f n, g}. Ce qui démontre (E3) - Réciproquement si (E3) aucune interprétation ne satisfait {f 1,, f n, g}. Donc toute interprétation qui satisfait {f 1,, f n } ne satisfait pas g, et donc satisfait g. Ceci démontre (E1) (E1) équivalent à (E2) - D après (E1), si I satisfait {f 1,, f n }, il satisfait aussi g. Donc I satisfait f 1 f n g Si I ne satisfait pas l un des f i, I ne satisfait pas f 1 f n. Donc I satisfait f 1 f n g Toute interprétation satisfait f 1 f n g. Ce qui démontre (E2) - Réciproquement (E2) dit que si I[f 1 f n ] = V alors I[g] = V. Donc si I[f 1 ] = = I[f n ] = V alors I[g] = V. Donc si I satisfait {f 1,, f n }, I satisfait aussi g. Ce qui démontre (E1) Logique et démonstration automatique H. KANOUI 11
FORMES NORMALES Littéral C est une formule atomique ou la négation d une formule atomique Clause C est une disjonction de littéraux : f F est une clause si f = i=1,..n p i où chaque p i est un littéral Clause duale C est une conjonction de littéraux : f F est une clause si f = i=1,..n p i où chaque p i est un littéral Forme normale conjonctive C est une conjonction de clauses : f F est sous forme normale conjonctive si f = i=1,..n c i où chaque c i est une clause appelée conjoint de f. On a : f = i [ j,i p j,i ] Forme normale disjonctive C est une disjonction de clauses duales : f F est sous forme normale disjonctive si f = i=1,..n d i où chaque d i est une clause duale appelée disjoint de f. On a : f = i [ j,i p j,i ] Théorème Toute formule f F peut être mise sous forme normale conjonctive Remplacer : f g par ( f g ) ( g f ) f g f g f ( g h ) ( f g ) (f h ) ( f g ) h ( f h ) (g h ) ( f g ) f g ( f g ) f g f f Théorème Toute formule f F peut être mise sous forme normale disjonctive Remplacer : f g par ( f g ) ( g f ) f g f g f ( g h ) ( f g ) (f h ) ( f g ) h ( f h ) (g h ) ( f g ) f g ( f g ) f g f f Logique et démonstration automatique H. KANOUI 12
CALCUL des PREDICATS ou LOGIQUE du 1 er ORDRE Le calcul propositionnel nous a permis d exprimer toute une classe de problèmes à l aide de propriétés simples qui sont des formules construites à partir de variables propositionnelles. Cependant, dès qu on veut exprimer des propriétés plus générales comme par exemple : «dans un groupe tout élément possède un inverse à droite et un inverse à gauche, et ce sont les mêmes», la logique propositionnelle n est plus suffisante. Une des raisons est la présence dans l énoncé du quantificateur «tout» dont l argument (l objet sur lequel il porte) décrit un ensemble potentiellement infini. En logique propositionnelle, il faudrait alors une infinité d axiomes pour exprimer cette propriété. Prouver une propriété de ce type reviendrait également à la prouver pour l infinité des éléments de l ensemble considéré. Le but de la logique du 1 er ordre est précisément la définition d un système formel dans lequel on peut manipuler ce genre de propriétés. DEFINITIONS PRELIMINAIRES Tout système de logique du 1 er ordre se définit par un alphabet Σ dont les symboles permettent de construire des expressions, des termes et des formules. SYMBOLES ALPHABET : Σ L alphabet Σ est la réunion des ensembles disjoints et dénombrables ci-dessous : les parenthèses : «(» et «)» les symboles logiques : (implique), (non) le quantificateur universel : (pour tout) l ensemble des symboles fonctionnels : {a, b, c, f, g, h, } A tout symbole fonctionnel on associe un entier n : son rang. Les symboles fonctionnels de rang 0 sont les constantes : a, b, c, l ensemble des variables : V = {x, y, z, } l ensemble des symboles relationnels : {p, q, r, } A tout symbole relationnel on associe un entier n : son rang. Les symboles relationnels de rang 0 sont les propositions EXPRESSIONS : Σ* Une expression est une suite finie de symboles. Une expression est dite terminale si elle ne contient pas de variables. Termes : T C est le plus petit sous ensemble d expressions de Σ* tel que : toute variable est un terme, et si f est un symbole fonctionnel de rang n et t 1,, t n sont des termes alors f ( t 1,, t n ) est un terme. Cas particulier : si n = 0, alors f() = f est une constante. Formules atomiques ou prédicats C est le sous ensemble de Σ* contenant : les expressions du type r( t 1,, t n ) où r est un symbole relationnel de rang n et t 1,, t n sont des termes. Cas particulier : si n = 0, alors r() = r est une proposition. Exemple : p ; q(f(x,g(x,y)),a) Formules : F C est le plus petit sous ensemble de Σ* tel que : toute formule atomique est une formule si p et q sont des formules et x une variable alors p, pq et x p sont des formules Logique et démonstration automatique H. KANOUI 13
Pour alléger l écriture on introduit les connecteurs et et le quantificateur existentiel en écrivant : p q pour p q p q pour (p q) p q pour (pq) (qp) x p pour x p On a alors en particulier : x p est équivalente à x p (p q) est équivalente à p q (p q) est équivalente à p q p est équivalente à p Exemple : x (pere(x,y) homme(x)) Attention : le terme «logique du 1 er ordre» signifie que les quantifications portent uniquement sur les symboles de variables. Variables liées, variables libres Formule Variables liées Variables libres A F A A A B xa {variables liées de A} {var. liées de A} {var. liées de B} {var. liées de A} {x} {variables de A} {variables libres de A} {var. libres de A} {var. libres de B} {var. libres de A}- {x} Exemple : B = x p(x,y,z) ( z q(z) r(z)) variables(b) = {x,y,z} var. liées(b) = {x,z} var. libres(b) = {y,z} Remarquez qu une variable peut être à la fois libre et liée dans une même formule. Remarquez aussi que le «z» qui intervient dans la 1 ère sous-formule n a rien à voir avec le «z» qui intervient dans la 2 ème sous-formule. Renommage Pour éviter ce type d ambiguité on procède au renommage des variables. Soit A une formule et x une variable liée de A. Alors il existe une sous-formule B de A dans laquelle x n est pas libre (cette sous formule peut être A elle-même). Soit z une variable qui n apparaît pas dans A. Le renommage de x en z dans A consiste à remplacer toute occurrence de x par z dans B. Si nécessaire, on recommence jusqu à ce que x ne soit plus liée dans A. Exemple : après renommage A = (p(x) y x r(x,y) x q(x)) A = (p(x) y z r(z,y) u q(u)) Formule close : c est une formule sans variable libre. Ex : x y (p(x,y) z r(x,y,z)) 1 si t est une variable ou une constante Profondeur d un terme : Prof (t) = 1+max{Prof (t 1 ), Prof (t 2 ),,Prof (t n )} si t = f (t 1,t 2,,t n ) Logique et démonstration automatique H. KANOUI 14
DEFINITION DU S.F. CP1 (SYNTAXE) Σ = alphabet F = formules définis comme précedemment T = termes Axiomes = { (A (B A ))}, Ax1 ((A (B C )) ((A B) (A C)), Ax2 ( A B ) (B A), Ax3 schémas d axiomes xa(x) A(t), Ax4 (( D B ) ( D xb )) Ax5 pour A, B, C, D F, t T, x V et x n est pas libre dans D} Règles = {A, A B - B, modus ponens A - xa pour A, B F et x V } généralisation Exemple de déduction : x y p(x,y) - z p(z,z) f1 : x y p(x,y) f2 : x y p(x,y) y p(z,y) f3 : y p(z,y) f4 : y p(z,y) p(z,z) f5 : p(z,z) f6 : z p(z,z) Proposition 1 hyp Ax4 mp Ax4 mp gen A A est un théorème. Autrement dit : - A A. Proposition 2 Si A 1,, A n-1 - (A n B) alors : A 1,, A n - B Proposition 3 (théorème de déduction) A 1,, A n, B étant des formules closes, si : A 1,, A n - B alors : A 1,, A n-1 - (A n B) Les démonstrations sont les mêmes que pour le cas propositionnel, sauf que pour le théorème de déduction, il y a un 5 ème cas : B est obtenu par application de la règle de généralisation Alors : B est x C et : A 1,, A n-1 - (A n C) A 1,, A n-1 - (A n C) (A n x C) Ax5 A 1,, A n-1 - (A n x C) mp Logique et démonstration automatique H. KANOUI 15
INTERPRETATION ET MODELE DU S.F. CP1 (SEMANTIQUE) Si on demande : est-ce que la formule x y p(x,y) est vraie, la réponse dépend : - de l univers du discours (qu est-ce que x et y désignent) - de la signification de p dans cet univers Exemple : l univers du discours est l ensemble des entiers p(x,y) est : y=x+1 Dans ce cas la formule est toujours vraie. L univers du discours est la population de la terre p(x,y) est : l individu y est un enfant de l individu x Dans ce cas la formule est fausse. Une fois fixée, l interprétation détermine l attribution d une valeur de vérité V ou F à n importe quelle formule close aussi compliquée soit-elle, en calculant sur des fonctions. cette façon de ramener la valeur de vérité à partir d un simple calcul permet de traiter rigoureusement la notion de vérité et amène en particulier deux questions fondamentales : Est-ce que les formules que le SF CP1 donne comme théorème sont toujours vraies? Est-ce que les formules toujours vraies sont des théorèmes de CP1? Logique et démonstration automatique H. KANOUI 16
INTERPRETATION ET MODELE DU S.F. CP1 (SUITE) Définitions Etant donné un langage du 1 er ordre L dont l alphabet est Σ on définit une interprétation I en se donnant : - un ensemble non vide D appelé base de l interprétation - une application I[f] : D n D pour tout symbole fonctionnel f Σ, n étant le rang de f. En particulier, si c est une constante (et donc un symbole fonctionnel de rang 0), I[c] est un élément de D. - une relation I[p] : D n {V, F} pour tout symbole relationnel n-aire p Σ. On étend ensuite l interprétation I à l ensemble des termes par : I[x] = a où x est une variable et a est un élément quelconque de D : on choisit a arbitrairement. I[f( t 1,, t n )] = I[f] (I[t 1 ],, I[t n ]) pour tout symbole fonctionnel f de rang n, t 1,, t n étant des termes quelconques. Puis aux formules atomiques par : I[r( t 1,, t n )] = I[r] ( I[t 1 ],, I[t n ]) pour tout symbole relationnel r de rang n, t 1,, t n étant des termes quelconques. Puis aux formules par (p et q étant des formules quelconques) : I[ p] = V ssi I[p] = F et I[pq] = V ssi I[q] = V chaque fois que I[p] = V Et enfin à toutes les formules closes par (x étant une variable libre dans p) : I[ x p] = V ssi I[p x/a] = V pour tout a D où p x/a consiste à substituer x par a dans p. I interprète donc les variables, les fonctions et les prédicats de Σ dans le domaine D. Une fois fixée, l interprétation détermine l attribution d une valeur de vérité V ou F à n importe quelle formule close aussi compliquée soit-elle, en calculant sur des fonctions. Cette façon de ramener la valeur de vérité à partir d un simple calcul permet de traiter rigoureusement la notion de vérité. Conséquences I[p q] = V ssi I[p] = V ou I[q] = V I[p q] = V ssi I[p] = V et I[q] = V I[ x p] = V ssi I[p x/a] = V pour au moins un a D. Exemple Supposons que Σ contienne la constante 0, une fonction unaire s et une fonction binaire «+» qu on note en infixé. Alors s(s(0)+s(x)) et s(x+s(x+s(0))) sont des termes. Voici plusieurs choix pour l interprétation I : 1. D ={0, 1, 2, } ; I[0] = 0 ; I[s] est la fonction successeur et I[+] est l addition. Alors, si I est une valuation telle que I[x] = 3 : - I [s(s(0)+s(x))] = I[x] + 3 = 6 - I [s(x+s(x+s(0)))] = 2 I[x] + 3 = 9 2. D = {a, b} + ; I[0] = a ; I[s] est la fonction qui ajoute «a» à la fin d un mot et I[+] est la concaténation. Alors, si I est une interprétation telle que I[x] = aba : - I [s(s(0)+s(x))] = aabaaa - I [s(x+s(x+s(0)))] = abaabaaaaa Remarque Contrairement au cas propositionnel le nombre d interprétations différentes pour une formule donnée n est pas fini. Il n y a donc pas l équivalent des tables de vérité. Logique et démonstration automatique H. KANOUI 17
MODELE Définition 1 Une interprétation I satisfait une formule p ssi I[p] = V. On dit que I est un modèle de p. I satisfait un ensemble de formules P ssi I satisfait chaque formule de P. exemple Σ = {f, p} contient : - une seule fonction f, et elle est unaire - une seule relation p, et elle est binaire - pas de constantes Soit la formule Φ = x(p(x,f(x)) p(f(x),x)) de la forme x(a(x) B(x)) Et l interprétation I définie par - D = {e1,e2,e3} - I[f](e1) = e2 ; I[f] (e2) = e3 ; I[f] (e3) = e1 - I[p] (e1,e2) = V ; I[p] (e2,e1) = V ; I[p] (ei,ej) = F pour les autres couples Alors I[Φ] = I[ x(p(x,f(x)) p(f(x),x))] = V ssi : I[(p(x,f(x)) p(f(x),x))] x/e1 = I[(p(x,f(x)) p(f(x),x))] x/e2 = I[(p(x,f(x)) p(f(x),x))] x/e3 =V - pour x = e1 : I[p] (e1, I[f] (e1)) = I[p] (e1, e2) = V et I[p] (I[f](e1),e1) = I[p] (e2,e1) = V Donc : I[(p(x,f(x)) p(f(x),x))] x/e1 = V - pour x = e2 I[p] (e2, I[f] (e2)) = I[p] (e2, e3) = F et I[p] (I[f] (e2),e2) = I[p] (e3,e2) = F Donc I[(p(x,f(x)) p(f(x),x))] x/e2 = V - pour x = e3 I[p](e3, I[f] (e3)) = I[p] (e3, e1) = F et I[p] (I[f] (e3),e3) = I[p] (e1,e3) = F Donc : I[(p(x,f(x)) p(f(x),x))] x/e3 = V Donc I est un modèle de la formule Φ Définitions 2 Une formule p est une tautologie si elle est satisfaite par toute interprétation. C est à dire que pour toute interprétation I, on a I(p) = V. On écrit = p remarque : d après la définition, la formule Φ contenant les variables libres x 1,, x n est une tautologie ssi la formule fermée x 1 x n Φ est une tautologie Par ailleurs, pour montrer qu une formule est une tautologie, on ne peut pas énumérer toutes les interprétations, puisque leur nombre n est pas fini. Il faut raisonner. exemples = (p(x) p(x)) = x(p(x) q(x)) ( y p(y) z q(z)) Un ensemble de formules est une universellement valide s il est satisfait par toute interprétation Logique et démonstration automatique H. KANOUI 18
Un ensemble de formules est satisfiable ou consistant s il a un modèle. Sinon il est insatisfiable ou inconsistant. exemples : - L ensemble de formules { x y (p(x,x) (p(y,y) p(x,y))) ; z p(z,z)} est satisfiable. - L ensemble de formules { a p(a) ; x (p(x) r(x)) ; y( r(y) q(y)) ; z (q(z) p(z))} est insatisfiable alors que tout sous ensemble de 3 de ces formules est satisfiable. Définition 3 Un ensemble de formules P implique sémantiquement une formule q si tout modèle de P est un modèle de q. On écrit : P =q. exemple : x y(q(x,y) p(x,y)) ; z q(z,z) = x p(x,x) Principe de réfutation p 1,, p n = q ssi = [p 1 p n q] ssi { p 1,, p n, q } est insatisfiable Avec cette propriété, on identifie : - l ensemble vide de formules avec la formule toujours vraie : p p - un ensemble fini non vide de formules {p 1,, p n } avec la formule p 1 p n. Logique et démonstration automatique H. KANOUI 19
THEOREMES FONDAMENTAUX Proposition 4 Soit Γ un ensemble de formules closes et B une formule close. Alors Γ =B ssi Γ { B} est insatisfiable. Supposons que Γ =B. Soit I une interprétation Si I(Φ) = V pour tout Φ Γ alors I(B) = V. Donc I( B) = F et I n est pas un modèle de Γ { B} Si I(Φ) = F pour une formule Φ de Γ alors I n est pas un modèle de Γ ni de Γ { B} Réciproquement, supposons que Γ { B} soit insatisfiable. Soit I un modèle de Γ. Puisque Γ { B} n a pas de modèle, I ne satisfait pas B. Donc I( B) = F et I(B) = V. I est donc un modèle de B et Γ =B. Proposition 5 (correction) Soit A une formule. Si -A alors =A Autrement dit, les formules qui sont des théorèmes (c est à dire sont «démontrables» : validité syntaxique) sont des tautologies (elles sont «vraies» : validité sémantique) Même démonstration que le cas propositionnel en tenant compte des nouveaux schémas d axiomes et de la règle de généralisation. Proposition 6 (complétude) Si = A alors - A Autrement dit, les formules qui sont des tautologies (elles sont «vraies» : validité sémantique) sont des théorèmes (c est à dire sont «démontrables» : validité syntaxique) Proposition 7 (méthode de réfutation) f 1,, f n = g ssi = [f 1 f n g] ssi { f 1,, f n, g } est insatisfiable En d autres termes, pour prouver g à partir de f 1,, f n, on montre que g introduit une contradiction (raisonnement par l absurde) Proposition 8 Le CP1 est indécidable. Autrement dit il n existe pas d algorithme qui pour toute formule f indique en un temps fini si on a - f ou NON Logique et démonstration automatique H. KANOUI 20
THEORIE AXIOMATIQUE Définition On appelle théorie axiomatique un système formel Τ construit à partir de CP1 par l ajout d axiomes supplémentaires appelés axiomes non logiques. On appelle modèle de Τ toute interprétation I qui satisfait les axiomes (logiques et non logiques). L ensemble des théorèmes de Τ est par définition l ensemble des formules qu on peut déduire des axiomes (logiques et non logiques). C est aussi l ensemble des formules qui sont vraies dans toute interprétation qui satisfait les axiomes. Propriétés On peut résumer les différentes propriétés concernant la consistance d une théorie axiomatique Τ dont l ensemble des axiomes non logiques est Α en disant que toutes les propriétés suivantes sont équivalentes : Il n existe pas de formule Φ telle que -Φ et - Φ Τ est consistante Τ est non contradictoire Τ est cohérente Il existe des formules de Τ qui ne sont pas des théorèmes de Τ Α est consistant Α est satisfiable Α admet des modèles Exemple : théorie arithmétique du 1er ordre Constantes : {0} Fonctions : {s,+,*} Relations : {=} un seul symbole de constante un seul symbole fonctionnel unaire qui dénote le successeur et deux symboles fonctionnels binaires qui dénotent l addition et la multiplication un seul symbole relationnel binaire qui dénote l égalité Axiomes de l égalité x (x = x) (x = y (A(x) A(y))) Axiomes non logiques x = y s(x) = s(y) s(x) = s(y) x = y (s(x) = 0) Logique et démonstration automatique H. KANOUI 21
FORMES NORMALES A priori pour savoir si un ensemble de formules du CP1 admet un modèle il faut réaliser une infinité d essais : essayer un modèle ayant une base à 1 élément, puis à 2 éléments, etc. Le chapitre qui suit montre qu on peut se ramener à un seul essai, à savoir qu on peut se restreindre à la recherche d un modèle dont la base est construite de manière standard à partir du vocabulaire utilisé dans les formules en question (modèle de Herbrand). De plus, savoir si ce modèle existe se ramène à l étude d ensembles de formules du calcul propositionnel, pour lequel on sait que «tout est décidable». Cependant cette approche nécessite de transformer les formules ce qui se fait en 3 étapes : mise sous forme prénexe, élimination des quantificateurs et passage à la forme clausale. LITTERAUX ET CLAUSES Si p est une formule atomique, les formules p et p sont des littéraux. p est un littéral positif et p est un littéral négatif. p et p sont des littéraux complémentaires. Une clause est une suite finie de littéraux. La suite vide est donc une clause appelée clause vide et notée. Pour toutes les notions sémantiques (satisfiablité, implication sémantique, etc.) on associe : - à une clause c = l 1,, l n la formule p = x 1,, x k ( l 1 l n ) où les l i sont les littéraux de la clause et les x i sont les variables qui apparaissent dans c. - à la clause vide on associe la formule toujours fausse p p: FORME PRENEXE Définition On dit qu une formule A du CP1 est sous forme prénexe si elle s écrit : A = Q 1 x 1 Q 2 x 2 Q n x n B où chaque Q i est ou et B une formule ne contenant aucun quantificateur. La partie Q 1 x 1 Q 2 x 2 Q n x n est appelée préfixe de A. La partie B est appelée matrice de A. SKOLEMISATION Définition Soit A = Q 1 x 1 Q 2 x 2 Q n x n B une formule sous forme prénexe. On appelle forme de Skolem de A et on note A S la formule obtenue comme suit : le préfixe de A S est celui de A auquel on a retiré toutes les quantifications x i la mantisse de A S est obtenu à partir de B en remplaçant chaque x i quantifiées par par f i (x i1 x i2 x ik ) où f i est un nouveau symbole fonctionnel et x i1 x i2 x ik sont les variables quantifiées par et placées devant le x i dans le préfixe de A. Dans le cas où il n y a aucun quantificateur devant x i le symbole qui remplace x i est une nouvelle constante. Exemple A = x p(x,f(x)) A = x y z t u p(x,y,z,t,u) A S = p(a,f(a)) où a est une nouvelle constante A S = y t p(a, y, f1(y), t, f2(y,t)) Proposition 1 (théorème de Skolem) Soit { A 1 A 2 A n } un ensemble fini de formules du 1 er ordre et { A 1S A 2S A ns } leurs formes de Skolem. Alors : { A 1 A 2 A n } admet un modèle de base D ssi { A 1S A 2S A ns } admet un modèle de base D Démonstration La démonstration est faite pour une unique formule A= x y p(x,y). On a : A S = x p(x,f(x)) Soit I = (D,p) avec p : DxD {V,F} un modèle de base D de A. Par définition : I[ x y p(x,y)] est une application de E dans {V,F} qui prend toujours la valeur V. Donc pour tout α D il existe β D tel que p(α,β) = V. En introduisant f et en posant f(α) = β pour tout α D, où β est l élément de D obtenu cidessus, on obtient I = (D,p,f) un modèle de A S. Le modèle (D,p) de A est donc «prolongé» en un modèle (D,p,f) de A S. Réciproquement, si (D,p,f) est un modèle de A S on vérifie immédiatement que (D,p) est un modèle de A. Logique et démonstration automatique H. KANOUI 22
FORME CLAUSALE Proposition 2 Tout ensemble fini de formules Φ peut être transformé en un ensemble fini de clauses C équivalent, c est à dire que Φ est inconsistant ssi C est inconsistant. On rappelle qu une clause est une disjonction de littéraux (comme pour le CP0). Algorithme de transformation Nous illustrons l algorithme de mise sous forme clausale avec la formule : x ( y ( z p(x,y,z) q(x))) x q(x) 1. Eliminer les implications et en remplaçant : A B par A B ( x ( y ( z p(x,y,z) q(x)))) x q(x) A B par ((A B) (B A)) ( x ( y ( ( z p(x,y,z)) q(x)))) x q(x) 2. Réduire la portée des négations en remplaçant : (A B) par A B ( x ( y ( ( z p(x,y,z)) q(x)))) x q(x) (A B) par A B ( x ( y ( ( ( z p(x,y,z)) q(x)))) x q(x) A par A ( x ( y ( ( z p(x,y,z)) q(x))) x q(x) x A par x A ( x ( y ( z p(x,y,z) q(x))) x q(x) x A par x A Après cette réduction, chaque négation porte sur une formule atomique 3. Renommer les variables afin que chaque variable ne soit quantifiée qu une fois ( x ( y ( z p(x,y,z) q(x))) u q(u) 4. Eliminer les quantificateurs existentiels (skolémisation) comme dit ci-dessus : x (p(x, f(x),g(x)) q(x)) u q(u) 5. Mettre sous forme prénexe : étendre la portée des quantificateurs en la repoussant à gauche x u (p(x, f(x),g(x)) q(x)) q(u)) 6. Conversion de la matrice en remplaçant : A (B C) par (A B) ( A C) x u [(p(x, f(x),g(x)) q(u)) ( q(x) q(u))] (A B) C par (A C) (B C) 7. Passage à la forme clausale en supprimant tous les quantificateurs et les : { p(x, f(x),g(x)) q(u)) ; q(x) q(u) } A partir de maintenant, nous raisonnerons donc sur des ensembles de clauses, les résultats obtenus étant valables pour des ensembles de formules quelconques Logique et démonstration automatique H. KANOUI 23
INTERPRETATION ET THEOREME DE HERBRAND Soit une formule dont on souhaite étudier la satisfiabilité. En pratique on cherche si la formule est une tautologie ou pas. Cela revient à envisager toutes les interprétations possibles de la formule et tenter : - soit de démontrer que toutes les interprétations satisfont la formule. - soit de trouver un contre exemple (interprétation qui ne satisfait pas la formule). Bien entendu, trouver un contre-exemple requiert une imagination très fertile!!! Si on peut penser qu un être humain en est capable, il est impensable de confier cette tâche à une machine (un programme) qui sera complètement inapte à envisager ne serait-ce que l étendue de tous les domaines d interprétation possibles. C est là que la méthode de Herbrand vient à notre secours : elle propose une méthode qui permet de restreindre l étude à un seul domaine, le plus petit possible, et construit seulement avec les éléments syntaxiques (constantes, fonctions, relations) déjà présents dans la formule étudiée. Il n y a donc plus rien à inventer et on peut envisager de «guider» suffisamment la recherche pour pouvoir la faire exécuter par un programme. C est l objet de la démonstration automatique rendue possible par les résultats de Herbrand. On peut supposer que la formule étudiée est sous forme de skolem : Φ= x 1 x n ϕ. Une interprétation de Herbrand est une interprétation dans un domaine particulier U Φ appelé Univers de Herbrand, défini de manière à restreindre au maximum le domaine d interprétation permettant de décider que la formule Φ= x 1 x n ϕ est satisfiable ou pas. Univers de Herbrand U Φ est l ensemble minimal construit de la façon suivante : - on part de U Φ = - pour chaque constante a apparaissant dans Φ on ajoute le symbole de constante a dans U Φ. - si U Φ ne contient pas de constante, on choisit une constante arbitraire, c, que l on ajoute dans U Φ. - pour chaque fonction f de rang n apparaissant dans Φ, et pour chaque n-uplet d éléments (t 1,,t n ) déjà présents dans U Φ, on ajoute à U Φ le nouveau terme f(t 1,,t n ). U Φ n est autre que l ensemble de tous les termes sans variables construits à partir des constantes et des fonctions apparaissant dans Φ. Remarques : - U Φ n est jamais vide, car il contient au moins une constante - dès que Φ contient un symbole de fonction, U Φ est infini. - U Φ est au moins dénombrable : on peut le construire par ordre d éléments (termes) de longueur croissante. - les éléments de U Φ sont des symboles à usage purement syntaxique, sans signification concrète, puisqu on garde les symboles de fonctions de Φ sans les interpréter. Atomes de Herbrand C est l ensemble K Φ de toutes les formes prédicatives du type p(t 1,,t n ) ou p est un symbole relationnel de rang n apparaissant dans Φ et (t 1,,t n ) un n-uplet de termes pris dans U Φ. On remarque d abord que ces atomes de Herbrand ne contiennent plus de variables et sont assimilées à des propositions du calcul propositionnel. A chacun de ces atomes de Herbrand sans variable on peut donc attribuer une valeur de vérité {V,F} exactement comme on le fait en calcul propositionnel. Interprétations de Herbrand Les interprétations de Herbrand de Φ sont alors exactement déterminées par les valeurs de vérité ainsi attribuées aux atomes de Herbrand Logique et démonstration automatique H. KANOUI 24
En effet, la formule ϕ dans laquelle on a substitué x 1 par t 1,, x n par t n ne contient plus de variable et est donc assimilée à une formule du calcul propositionnel construite avec les atomes de Herbrand ci-dessus, pour lequel on sait calculer la valeur de vérité qui lui est associée. Exemple : Φ= x y p(x,a) q(x,f(y)) U Φ = {a, f(a), f(f(a)),.f(f( f(a) )), } P Φ = {p(a,a), p(f(a),a), p(f(f(a)),a),, q(a,f(a)), q(f(a),f(a)), q(f(a),f(f(a))),, q(f(f(a)),f(a)), } Une 1 ère interprétation des atomes de Herbrand: - I[p(f k (a),a)] = V si k est impair, F sinon - I[q(f k (a),f m (a))] = V si k = m et F sinon ne satisfait pas Φ car I[p(f(f(a)),a) q(f(f(a)),f(a)) ] = F Une 2 ème interprétation des atomes de Herbrand: - J[p(f k (a),a)] = V si k >0, et J[p(a,a) = F - J[q(f k (a),f m (a))] = V si k < m et F sinon satisfait Φ. En effet : - si on substitue x par f k (a) avec k 0, le premier prédicat est satisfait : J[p(f k (a),a)] = V - si on substitue x par a (i.e. f k (a) avec k = 0) le premier prédicat n est pas satisfait : J[p(a,a)] = F mais le 2 ème l est : J[q(a,f m (a))] = V car m>0. Théorème de Herbrand Soit Φ= x 1 x n ϕ une formule sous forme de skolem. Les 2 propositions suivantes sont équivalentes : (1) Φ possède un modèle (2) Φ possède un modèle de Herbrand de base U Φ Preuve (1) (2) est trivial : si Φ possède un modèle de Herbrand, Φ possède un modèle tout court. (2) (1) Soit I un modèle de Φ et D le domaine de I. Comme Φ est de skolem, de matrice ϕ, dire que I est un modèle de Φ signifie que I[ϕ] = V pour toute instance sans variable ϕ de ϕ. A partir de I on va construire une interprétation de Herbrand J qui est un modèle de Φ : - On commence par construire l univers de Herbrand U Φ et les atomes de Herbrand K Φ comme indiqué précédemment. - On définit ensuite la valeur de vérité attribuée par J aux atomes de Herbrand par : J[p(t 1,,t n )] = V ssi I[p](I[t 1 ],,I[t n ]) = V K Φ D après cette définition, à toute instance sans variable d une formule atomique apparaissant dans Φ est associée un atome de Herbrand. De plus la valeur de vérité attribuée par I à cette instance sans variable est la même que la valeur de vérité attribuée par J à l atome de Herbrand associé. Il s ensuit que I et J donnent les mêmes valeurs de vérité aux instances sans variables des formules atomiques de ϕ, et donc qu ils donnent les mêmes valeurs de vérité aux instances sans variables de ϕ toute entière. Donc si I est un modèle de Φ, J l est aussi. CQFD. Généralisation 1) Φ n est plus une formule mais un ensemble fini de formules. Le théorème ci-dessus reste valide 2) Φ est un ensemble fini de clauses. Le théorème ci-dessus reste valide En pratique Lorsque Φ = { A 1,,A n } est un ensemble fini de clauses, on dispose d un moyen «mécanique» de prouver qu il est inconsistant. Pour cela on définit l ensemble S Φ des formules sans variable obtenues en Logique et démonstration automatique H. KANOUI 25
remplaçant les variables par des éléments de U Φ dans chaque formule A i. S Φ = { F 0, F 1,,F m, } est alors un ensemble (infini) de clauses sans variables. On a : - Φ est inconsistant ssi Φ n a pas de modèle de Herbrand (théorème de Herbrand) - Φ n a pas de modèle de Herbrand ssi S Φ est inconsistant - S Φ est inconsistant ssi une des formules F 0 F 1 F k est inconsistante pour un certain k (théorème de compacité pour le CP0). La «mécanisation» consiste alors à engendrer dans un ordre convenable les sous ensembles {F 0 }, puis {F 0, F 1 }, puis {F 0, F 1,F 2 }, etc. et tester à chaque fois l inconsistance jusqu à y arriver. Exemple Φ = {A 1, A 2, A 3, A 4 } avec : A 1 = p(x) q(x, f(x)) A 2 = p(x) r(f(x)) A 3 = p(a) A 4 = q(x,y) On calcule : K Φ = {p(a), r(a), q(a, a), p(f(a)), r(f(a)), q(a, f(a)), q(f(a), a), q(f(a), f(a)), p(f(f(a))), } Et : F 0 = p(a) q(a, f(a)) F 1 = p(a) r(f(a)) F 2 = p(a) F 3 = q(a,a) F 4 = p(f(a)) q(f(a), f(f(a))) F 5 = p(f(a)) r(f(f(a))) F 6 = q(a,f(a)) F 7 = q(f(a), a) etc. Alors : F 0 F 1 F 5 est satisfiable avec: I[p(a)] = I[q(a,f(a))] = I[r(f(a))] = V et I[q(a,a)] = I[p(f(a))] = F. Il n en est plus de même pour F 0 F 1 F 5 F 6. Remarque On peut reformuler ces notions comme suit : Soit L un langage contenant au moins une constante (si ce n est pas le cas, on en ajoute une). Une interprétation de Herbrand de L est une interprétation I telle que : le domaine de I est l ensemble des termes terminaux (sans variable) de L tout terme terminal de L est interprété par lui-même : I[t] = t si t est terminal Alors on montre que l interprétation par I de toute formule fermée p du langage est entièrement déterminée par les valeurs données par I aux littéraux positifs de L On en déduit (reformulation de la proposition 3): une interprétation de Herbrand I satisfait une clause C ssi elle satisfait toute instance terminale de C (c est à dire après avoir remplacé les variables de C par des termes terminaux) un ensemble de clauses est consistant ssi il existe une interprétation de Herbrand qui le satisfait un ensemble de clauses est consistant ssi l ensemble des instances terminales de ses clauses l est un ensemble de clauses est inconsistant ssi il existe un ensemble fini d instances terminales de ses clauses inconsistant Logique et démonstration automatique H. KANOUI 26