Informatique théorique La sémantique Pour donner un sens à une formule (syntaxe), exemple : ∀x p(x,x), on doit : - fixer un domaine dans lequel la variable x prend ses valeurs - donner un sens au symbole de prédicat p comme une relation entre les éléments de ce domaine Domaine : entiers Domaine : les humains Relation : p(x,y) : x est diviseur de y Relation : p(x,y) : x a peur de y Signification : Signification : Pour tout entier x, x est diviseur de x Pour tout humain x, x a peur de lui-même. Lorsqu’on passe de la syntaxe à la sémantique : Syntaxe Sémantique Variable Définir un domaine (D) Fonction Fonction, prend n arguments et renvoi un argument (Dn → D) Prédicat Relation, fonction sur un domaine {0,1} (Dn → {vrai/faux}) Interprétation L(F, R, V) Langage(symboles de fonctions F, symboles de prédicats R, symboles de variables V) I(D, F, R) Interprétation (Domaine, Fonctions, Relation) ϕ : FV(ϕ) = {x} Soit ϕ est vrai pour tout I, soit ϕ est vrai pour un certain x, soit ϕ est vrai pour tout x. Pour que ϕ soit indépendante de l’interprétation et des variables on doit écrire une tautologie, exemple : ϕ ∀x p(x) ∨ ¬p(x) (toujours vrai) Validité I σϕ I ϕ I σϕ ϕ ϕ est satisfiable dans I pour la valuation σ ϕ est satisfiable dans I ϕ est fausse dans I pour la valuation σ ϕ est valide pour tout I Exemples : 1. Domaine D :{vert,noir,bleu,jaune} Relation r1 : {(vert,vert),(noir,bleu)} Formule : ϕ r(x,y) Valuation σ1 : x → vert, y → vert (val(x,σ1),val(y,σ1)) = (vert, vert) ∈ r1 donc I σ1 ϕ Valuation σ2 : x → vert, y → noir (val(x,σ2),val(y,σ2)) = (vert, noir) ∉ r1 donc I σ2 ϕ Donc ϕ r(x,y) est satisfiable pour la valuation σ1 2. ϕ2 p(a,b) ^ ¬p(f(a),b) est une formule car p(a,b) est une formule, f(a) est une formule, p(f(a),b) est une formule et qu’une formule avec un opérateur logique (^) avec une autre formule est une formule. Soit l’interprétation I1 : D=ℝ a=0, b=1 f est la fonction p est la relation < successeur p(a,b) ^ ¬p(f(a),b) = 0<1 ^ ¬(a+1<1) = 0<1 ^ ¬(1<1) = 0<1 ^ 1⩾1 I1 ϕ2 3. ϕ3 ∀x, ∃y (p(x,y)) est une formule car x et y sont des termes, p(x,y) est une fonction et une formule liée à des variables par des quantificateurs(∀, ∃) est une formule. Soit I1 (voir question précédente) : ∀x, ∃y (p(x,y)) = ∀x, ∃y (x<y) I1 ϕ3 car ∀x x<x+1 Soit I2 : D = Listes de longueur a=liste vide={} f est la fonction p est la relation quelconque contenant b={1,1,1,1,1} cons1 qui ajoute un length(x)<length(y) des 0 et des 1 1 en tête de liste ∀x, ∃y (p(x,y)) = ∀x, ∃y (length(x)<length(y)) I2 ϕ3 car par exemple = ∀x, ∃y (length(x)<length(y+cons1)) Soit il existe au moins 1 y (f(y)) pour lequel ϕ3 est satisfiable. 4. ϕ4 ¬ϕ3 est une formule. Soit I1 : ¬(∀x, ∃y (p(x,y))) = ∃x, ∀y ¬(p(x,y)) = ∃x, ∀y ¬(x<y) = ∃x, ∀y (x⩾y) I1 ϕ4 Soit I2 : ∃x, ∀y ¬( p(x,y)) = ∃x, ∀y ¬(length(x)<length(y)) = ∃x, ∀y (length(x)⩾length(y)) I2 ϕ4 car la taille d’une liste est infinie (D), donc si length(y)=length(x)+cons1 alors il existe au moins 1 y pour lequel length(y)>length(x). Trouver des interprétations Φ1 (∃x p(x) ^ (∃x q(x)) ∃x (p(x) ^ q(x)) I1 : D :{entiers} D :{humains} D :{chaises} p : pair p : femme p : bancale q : impair q : homme q : bancale I1 Φ1 I2 : D :{a} Dès que D est un singleton p : n’est pas b q : n’est pas c I2 Φ1 Φ2 (∃x p(x) ∨ (∃x q(x)) ∃x (p(x) ∨ q(x)) I3 : Vrai quoi qu’il arrive. Φ2 Φ3 (∀x p(x) ∨ (∀x q(x)) ∀x (p(x) ∨ q(x)) I4 : D :{entiers} p : ¬pair q : ¬impair I4 Φ3 I2 Φ3 Φ4 (∀x p(x) ^ (∀x q(x)) ∀x (p(x) ^ q(x)) Φ2 ( (∀x ¬p(x)) ^ (∀x ¬q(x)) ∀x(¬p(x) ^ ¬q(x))) Φ2 est un théorème, donc vrai pour ∀p et ∀q, donc pour ¬p et ¬q. Φ4 Φ5 (∀x ∃y p(x,y)) ^ (∀x ¬ p(x,x)) I4 : D :{humains} D :{entiers} p : y est la mère de x p:x≠y I6 Φ5 Cette formule ne peut pas être valide dans un seul élément. Interprétation et validité 1. Φ1 ∀x p(f(x,y),x) ∀x x+y=x σ1 : y→0 I σ1Φ1 σ2 : y→t avec t ≠ 0 I σ2ϕ 2. Φ2 (∀x (x+y = x)) ⇒ (∃x (x+y = x)) σ2 ¬ (∀x (x+y = x)) ∨ (∃x (x+y = x)) (∃x ¬(x+y = x)) ∨ (∃x (x+y = x)) ∃x (¬(x+y = x) ∨ (x+y = x)) I σ2Φ2 3. Φ3 ∀x ∃x p(f(x,y),a) ∀x ∃x p(x+y=0) Méthode 1 : x > 0 ⇒ x+y=0 y < 0 or on est dans les entiers positifs Méthode 2 (plus simple) : Si on prend x = 1, il n’existe aucun y>0 tel que x+y = 0 donc I Φ3