Sémantique de la logique des prédicats Une formule de la logique des prédicats est appelée un énoncé, ou encore formule close, si elle ne contient aucune variable libre. Un énoncé sera dit être vrai ou faux dans un modèle, c'est-à-dire relativement à une structure mathématique abstraite qui représente un état possible du monde, et joue le même rôle qu’une valuation dans la logique des propositions. Une formule qui n’est pas close sera elle évaluée relativement à un modèle et une séquence d’évaluation. On dira qu’une séquence satisfait ou ne satisfait pas une formule dans un certain modèle. C’est à partir de la notion de satisfaction que l’on définira celle de vérité. On va partir d’abord d’un langage plus simple, dans lequel tous les prédicats sont des prédicats à une place (on parle alors de prédicat monadique), et dans lequel il n’y a qu’une seule variable, notée x. I. Langage des prédicats monadiques à variable unique 1. Syntaxe A. Vocabulaire : a. constantes : c1, c2, c3,….. b. variable : x c. Prédicats : P1, P2, P3 d. quantificateurs : , e. connecteurs usuels f. (,) B. Définition des formules - Si P est un prédicat alors ‘P(x)’ est une formule, et pour toute constante ci, ‘P(ci)’ est une formule - Pour tout connecteur binaire c, et étant donné deux formules F et G, ‘(F c G)’ est une formule - Si F est une formule, ‘F’ est une formule - Si F est une formule, ‘xF’ est une formule, et ‘xF’ est une formule 2. Sémantique Une formule close est une formule qui ne comporte pas de variable libre. Une formule close est aussi appelée énoncé Une formule ouverte est une formule dans laquelle il y a au moins une occurrence de ‘x’ qui est libre. On va définir les conditions sous lesquelles une formule close est vraie relativement à un modèle. Intuitivement un modèle représente une « situation », et l’on cherche à définir à quelles conditions une formule donnée est vraie dans une certaine situation. Un modèle joue donc exactement le même rôle qu’une valuation dans la logique des propositions. Pour définir la notion de vérité dans un modèle, on va d’abord définir une notion intermédiaire, celle de satisfaction, qui sera définie pour toutes les formules, closes ou ouvertes. Un modèle M est une paire {D, I}, où D est un ensemble d’individus et I est une fonction d’interprétation. 1 Une fonction d’interprétation associe à chaque constante du langage un élément de D, et à chaque prédicat un ensemble d’individus de D. Supposons que D soit l’ensemble des personnages de Tintin, alors on pourra par exemple interpréter les constantes comme suit : I(c1) = Tintin, I(c2) = Le capitaine Haddock, etc. Choisissons d’interpréter le prédicat P comme représentant la propriété d’être barbu ou moustachu, alors I(P) = {Le capitaine Haddock, Le professeur Tournesol, Dupond, Dupont,…} Intuitivement, on souhaite que nos définitions aient, par exemple, les effets suivants : - ‘P(c1)’ est vrai dans le modèle M (= {D, I}) ssi I(c1 ) I(P), ce qui donnerait, dans l’exemple précédent, ‘P(c1)’ est vrai dans M ssi Tintin {Le capitaine Haddock, Le professeur Tournesol, Dupond, Dupont,…}. En l’occurrence, ‘P(c1)’ est faux. - ‘xP(x)’ est vrai dans M si pour tout individu du domaine d, d I(P). - ‘xP(x)’ est vrai dans M s’il y a un individu d de d tel que d I(P) Mais nous aurons un problème pour donner les conditions de vérité d’un énoncé comme : ‘x (P(x) Q(x))’. Nous pourrons dire, dans ce cas précis, que l’énoncé est vrai dans M si tout individu d est tel que d I(P)I(Q). Mais cela ne nous donne pas une définition générale. Ce que l’on veut, c’est une règle générale qui nous dit comment interpréter tout énoncé de la forme ‘xF’, où F est une formule quelconque, qui éventuellement contient un autre quantificateur (par exemple, ‘x (P(x) xQ(x))’, qui « signifie », approximativement, qu’à chaque objet qui a la propriété P, on peut associer un objet qui a la propriété Q). On va passer par la notion de satisfaction. Considérons la formule ouverte suivante : ‘P(x)’. Cela n’a pas de sens de se demander si cette formule est vraie ou fausse dans un modèle, puisque notre modèle n’assigne pas de référence à la variable libre x (en d’autres termes, la fonction d’interprétation assigne une référence aux constantes, mais pas aux variables). Ce qui a un sens, c’est de se demander quels objets on peut, en quelque sorte, mettre « à la place » de x de manière à obtenir un énoncé vrai. L’idée est que ‘P(x)’ représente simplement la propriété qu’un objet a si et seulement si le prédicat P s’applique à lui. On dira alors d’un tel objet (un élément de d) qu’il satisfait la formule. Dans l’exemple précédent, ‘P(x)’ est satisfait par tout individu moustachu ou barbu. De manière générale, on dira que un élément d de D satisfait ‘P(x)’ dans le modèle M si et seulement si d I(P). On notera alors, M, d= P(x) (se lit : d satisfait ‘P(x)’ dans le modèle M) Définition récursive de la notion de satisfaction Dans tout ce qui suit, d est un élément du domaine D d’un modèle M ={D, I} a) Si P est un prédicat et c une constante, M, d = P(c) ssi I(c) I(P) (NB : en fait, l’élément d n’intervient pas. Si d satisfait ‘P(c)’, alors n’importe quel autre élément de D le satisfait aussi, et on dira alors que ‘P(c)’ est vrai dans M) b) Si P est un prédicat, M, d = P(x) ssi d I(P) c) Si F et G sont deux formules, alors -M, d = F ssi il est faux que M, d= F (c'est-à-dire si d ne satisfait pas F dans M) 2 - M, d= (F G) ssi M, d = F et M, d= G - M, d= (F G) ssi M, d = F ou M, d= G - M, d= (F G) ssi il est faux que M, d= F ou M, d= G d) Si F est une formule, alors - M, d= xF ssi pour tout élément e de D, M, e= F (ici non plus, d n’intervient pas, ce qui est naturel puisque chaque occurrence de x est liée dans ‘xF’) - M, d= xF ssi il y a un élément e de D tel que M, e= F (même remarque que ci-dessus) Fait : Soit F une formule ne comportant pas d’occurrence libre de x. Alors on peut montrer que, pour tous éléments d et e de D, M, d= F ssi M, e= F. On d’autre termes, le choix de l’élément ne compte pas. En ce cas, on pourra aussi bien écrire M = F, ce qui se lira comme « F est vrai dans le modèle M », ou « M est un modèle de F », ou encore « M satisfait F ». Définition de la vérité dans un modèle : Soit F un énoncé (c'est-à-dire une formule ne comportant pas d’occurrence libre de x). Alors, pour tout modèle M, on dit que F est vrai dans M, ce qu’on note M= F ssi, pour tout élément d du domaine de M, M, d = F. II. Langage des prédicats (cas général) Introduction : Si l’on considère maintenant notre langage « officiel », qui contient aussi des prédicats à une et deux places, et une infinité de variables, on ne pourra pas définir de façon satisfaisante la relation « l’élément d satisfait la formule F dans le modèle M ». Supposons en effet que la formule F en question soit ‘Q(x3, x7)’. L’idée est que les deux variables peuvent en principe représenter deux individus distincts ; on pourrait peut-être dire alors qu’un couple d’individus de D satisfait la formule (par exemple, (d,e) satisfait ‘Q(x3,x7)’ si (d,e) I(Q)). Mais cette intuition ne nous donne aucune règle générale, puisqu’une formule peut contenir n’importe quel nombre de variables distinctes, et que l’on veut la définition la plus générale possible. Ce que l’on dira donc, c’est qu’une séquence infinie d’individus de D satisfait ou en satisfait pas la formule en question. Dans le cas précédent, on dira ainsi qu’une séquence s satisfait ‘Q(x3,x7)’ dans M si le couple constitué du 3ème élément et du 7ème élément de la séquence appartient à l’interprétation de Q (n’oubliez pas qu’un prédicat à deux places est interprété comme dénotant un ensemble de couples d’individus de D). On notera : M, s = ‘Q(x3,x7)’ ssi (s3, s7) I(Q) (de manière générale, si sert à désigner le i-ème élément de la séquence s). Sémantique explicite : On appelle modèle une structure {D, I} où D est un ensemble d’individus et I une fonction d’interprétation. Une fonction d’interprétation est une fonction qui associe à chaque terme non logique de la logique des prédicats une dénotation dans le domaine des individus D. En d’autres termes : - I associe à chaque constante c un individu d de D - I associe à chaque prédicat à une place P un ensemble d’individus de D (l’ensemble des individus qui ont la propriété représentée par le prédicat) - I associe à chaque prédicat à deux places Q un ensemble de couples d’individus de D (l’ensemble des couples (a, b) qui sont dans la relation représentée par Q). 3 On note : - I (ci) = a >>La fonction I interprète la constante c comme dénotant a (attention : ‘ci’ est une constante du langage, ‘a’ ne l’est pas, mais est utilisée dans le métalangage pour dénoter un membre du domaine D) - I (Pi) = {b, d, e} >> Pi, sous l’interprétation I, représente une propriété qui est vrai des individus b, d, et e, et seulement eux. - I (Qi) = {(a,b), (a, e), (b, b), (g, h)….} >> I interprète Qi de telle manière que a est dans la relation Qi à b, a est dans la relation Qi à e, b est dans la relation Qi à lui-même. Exemple : considérons le langage des prédicats suivants : Constantes : 0, 1, 2, 3, 4,…etc. Prédicats à une place : P, I Prédicat à deux places : < Variables : x1, x2, … Si l’on choisit d’interpréter les constantes comme se référant aux nombres entiers, les prédicats P et I, respectivement comme « Pair » et « Impair », et ‘<’ comme représentant la relation d’ordre stricte sur les entiers (c'est-à-dire ‘a < b’ signifie a est plus petit que b), alors on choisit en fait d’interpréter le langage dans le modèle suivant : M = {N, H} avec N = {0, 1, 2,…} (ensemble des entiers naturels, notés en italiques pour ne pas les confondre avec les constantes du langage-objet) et H définie ainsi : H (0) = 0 I(1) = 1 I(2) = 2, etc. H (P) = {0, 2, 4, 6,…} H (I) = {1, 3, 5, 7, …} H (<) = {(0,1), (0, 2), (0, 3)…. (1,2), (1,3), (1, 4)…. etc.} Satisfaction par une séquence Etant donné un modèle M ={D, I}, on appelle séquence un ensemble ordonné infini d’éléments de D. On peut informellement représenter le début d’une séquence de la façon suivante : <a, g, b, a, g,…> Si s est une séquence, on note si le i-ème éléement de d. Par exemple, dans l’exemple cidessus, s1= a, s4= a, et s5 = g Pour toute séquence s, on notera sid la séquence identique à s sauf que son i-ème élément est d. Plus précisément : - pour tout j distinct de i, s idj = sj - sidi = d Définition de la satisfaction : Soient M un modèle et s une séquence, on veut définir, pour toute formule , à quelles conditions s satisfait dans M, ce qui se note : M, s = 4 Interprétation des formules atomiques : Si est de la forme ‘P(c)’, oùP est un prédicat à une place et c est une constante, alors M, s = ssi I(c) I(P) 2) Si est de la forme ‘P(xi)’, où P est un prédicat à une place et xi est la i-ème variable (rappelons que les variables de notre langage sont : x1, x2, …), alors M, s = ssi si I(P) (i.e. le i-ème élément de la séquence doit appartenir à la dénotation de P) 3) Si est de la forme ‘Q (ci, cj)’, où Q est un prédicat à deux places et ci et cj sont deux constantes, alors M, s = ssi (I(ci), I(cj)) I(Q) 4) Si est de la forme ‘Q (xi, c)’, où Q est un prédicat à deux places, xi est la i-ème variable et c est une constante, alors M, s = ssi (si, I(c)) I(Q) 5) Si est de la forme ‘Q (c, xi)’, où Q est un prédicat à deux places, xi est la i-ème variable et c est une constante, alors M, s = ssi (I(c), si) I(Q) 6) Si est de la forme ‘Q (xi, xj)’, où Q est un prédicat à deux places, xi et xj sont, respectivement, la i-ème variable et la j-ième variable, alors M, s = ssi (si, sj) I(Q) Définition récursive de l’interprétation des connecteurs : 7) Si est de la forme ‘’, alors M, s = ssi M, s = et M, s = 8) Si est de la forme ‘’, alors M, s = ssi M, s = ou M, s = 9) Si est de la forme ‘’, alors M, s = ssi il est faux que M, s = ou il est vrai que M, s = Si est de la forme ‘’, alors M, s = ssi il est faux que M, s = Définition récursive de l’interprétation des quantificateurs : 11) Si est de la forme ‘xi’, où ‘xi’ est la i-ème variable et est une formule, alors M, s = ssi pour tout élément d de D, M, sid= Si est de la forme ‘xi’, où ‘xi’ est la i-ème variable et est une formule, alors M, s = s’il existe un élément d de D tel que M, sid= III. Conséquence logique, validité. Soient F et G des formules quelconques (éventuellement ouverte). Alors - F= G (se lit : G est conséquence logique de F) ssi Pour tout modèle M et toute séquence s telle que M, s = F, M, s = G - Si est une ensemble quelconque de formules, alors = F (se lit : S est conséquence logique des énoncés de ) si, pour tout modèle M et toute séquence s qui satisfait simultanément toutes les formules de dans M, M, s = F 5 - F est logiquement valide (ou encore est une vérité logique) si Pour tout modèle M et toute séquence s, M, s= F. On note = F Soient F et G des énoncés (c'est-à-dire des formules closes), alors il devient équivalent de dire : - F= G si tout modèle de F est un modèle de G (c'est-à-dire si tout modèle M tel que M= F est tel que M= G) - Si est une ensemble quelconque d’énoncés, alors = F si tout modèle qui satisfait tous les énoncés de est un modèle de F. - = F si F est vrai dans tout modèle (c'est-à-dire pour tout modèle M, M= F) IV. Logique des prédicats avec égalité A. Syntaxe On enrichit le vocabulaire, en ajoutant le signe « = », et l’on ajoute les clauses suivantes dans la définition de ce qu’est une formule bien formée : - si ci et cj sont des constantes, et xm et xn des variables, alors : ‘(ci = cj)’, ‘(ci = xm)’, ‘(xm= ci)’, ‘(xm = xn)’ sont des formules. B. Sémantique M, s= (ci = cj) ssi I(ci) = I(cj) M, s= (ci = xm) ssi I(ci) = sm M, s= (xm = xi) ssi I(ci) = sm M, s= (xm = xn) ssi sm = sn 6