Vous êtes sur la page 1sur 29

Logique et Reprsentation des connaissances e

LOGIQUE DES PREDICATS

Odile PAPINI, Universit de la Mditerrane. e e e odile.papini@esil.univmed.fr http://odile.papini.perso.esil.univmed.fr/index.html

Plan
Partie I : La logique des prdicats e Introduction langage, syntaxe syst`me formel e smantique e Partie II : Raisonnement en logique des prdicats e

formes prnexes, formes normales, formes de Skolem e interprtation de Herbrand e rsolution e

Introduction : limites de la logique des prdicats e


Exemple de raisonnement Tout homme est mortel, Socrate est un homme, donc Socrate est mortel. en logique propositionnelle p : Tout homme est mortel, q : Socrate est un homme, r : donc Socrate est mortel.

pq r

Pour tout x, si x est un homme alors x est mortel, Socrate est un homme, donc Socrate est mortel.

x est un homme est reprsent par H(x) e e x est mortel est reprsent par M(x) e e

x (H(x) M (x)) H(Socrate) M (Socrate)

Le langage de la logique des prdicats : LP r e


Vocabulaire

un ensemble inni dnombrable de symboles de prdicats ou prdicats e e e un ensemble inni dnombrable de symboles fonctionnels e un ensemble inni dnombrables de variables e les connecteurs : , , , , ,

les quanticateurs ,

Dnitions e
terme x une variable , f un symbole fonctionnel est un terme si t1, , tn sont des termes alors f (t1, , tn) est un terme atome si t1, , tn sont des termes et P est un prdicat alors P (t1, , tn) est un atome e formule un atome est une formule si A et B sont des formules alors sont des formules A, A B, A B, A B, x A AB sont des

si A est une formule et x une variable alors formules

x A,

Porte des quanticateurs e


atome ou formule ` laquelle la quantication sapplique a

variables lies e
variables sous la porte de quanticateurs e si A est une formule, lensemble Varlie(A) des variables lies de A est dni par : e e si A est un atome alors Varlie(A) = si A est de la forme B C alors Varlie(A) = Varlie(B) Varlie(C) si A est de la forme B alors Varlie(A) = Varlie(B) si A est de la forme x B alors Varlie(A) = Varlie(B) {x}

variables libres
variables qui ne sont pas sous la porte de quanticateurs e si A est une formule, Var(A) est lensemble des variables deA, lensemble Varlib(A) des variables libres de A est dni par : e si A est un atome alors Varlib(A) = Var(A) si A est de la forme B C alors Varlib(A) = Varlib(B) Varlib(C) si A est de la forme B alors Varlib(A) = Varlib(B) si A est de la forme x B alors Varlib(A) = Varlib(B) - {x}

une formule sans variable libre est dite close ou ferme e

Substitutions

soit A(x) une formule contenant x comme variable libre soit t un terme

A(t) : obtenue en remplaant les occurences libres de x par t dans A(x) c

Si x ou t apparaissent comme variables lies dans la formule A(x) e alors

renommer ces occurences

Syst`me formel de la logique des prdicats e e les axiomes


soit A, B, C des formules, x une variable et t un terme, D une formule nayant pas x pour variable libre A1) A2) A3) A4) A5) (A (B A)) ((A (B C)) (A B) (A C))) (( A B) (B A) (x A(x) A(t)) ((D B) (D x B)

r`gles de dduction e e modus ponens A, A B B

gnralisation e e A x A

Dduction e
Soit B une formule de LP r et H1, , Hn des hypoth`ses e

Une dduction de B ` partir des hypoth`ses H1, , Hn e a e H1 , , Hn B est une suite de formules Fn = B et Fi, 1i<n est : F1, , Fi, Fn telle que :

soit une des hypoth`ses H1, , Hn e soit un axiome soit obtenue par lapplication de r`gles de dduction ` partir de formules Fj , e e a j<i

proposition : A LP r (A A)

proposition : A1, , An1 LP r LP r si A1, , An1 (An B) alors A1, , An B

proposition (thor`me de dduction): e e e Soient A1, , An des formules closes de LP r si A1, , An B alors A1, , An1 (An B)

smantique de la logique des prdicats e e


u interprtation : I = (D, Ic, Iv ) o` e

D ensemble non vide, domaine dinterprtation e

Ic la fonction : Dn D f Ic(f ) Dm {0, 1} P Ic(P )

Iv la fonction :

V ar D x Iv (x)

interprtation dune formule de la logique des prdicats e e


A une formule de LP r , association dune valeur de vrit I(A) ` A e e a si x est une variable libre alors I(x) = Iv (x) I(f (t1, , tn)) = (Ic(f ))(I(t1), , I(tn)) I(P (t1, , tm)) = (Ic(P ))(I(t1), , I(tm)) si A et B sont des formules alors A, A B, A B, A B, A B sinterpr`tent comme dans la logique propositionnel e si A est une formule et x une variable alors I(x A) = 1 si Ix/d(A) = 1 pour tout lment d D ee si A est une formule et x une variable alors I(x A) = 1 si Ix/d(A) = 1 pour au moins un lment d D ee

quelques dnitions e
Soient A LP r , B LP r et F LP r

A est une tautologie , |= A, si pour toute interprtation I, I(A) = 1 e B est une consquence de A si pour toute interprtation I, I(A) = 1 alors e e I(B) = 1, on crit A |= B e B est une consquence de F si pour toute interprtation I, tq A F, I(A) = 1 e e alors I(B) = 1, on crit F |= B e A est satisfaisable sil existe une interprtation I tq I(A) = 1 e F est satisfaisable sil existe une interprtation I tq A F, I(A) = 1 e A est insatisfaisable ou incohrente si pour toute interprtation I, I(A) = 0 e e F est insatisfaisable si pour toute interprtation I, A F tq I(A) = 0 e

proposition : F LP r ensemble de formules closes, B formule close F |= B ssi F {B} est insatisfaisable

quelques proprits e e
(x A x B) x (A B) (x A x B) |= x (A B) x (A B) x (A B) |= (x A x B) |= (x A x B) x (A B) (x A x B) x (A B) |= (x A x B) x (A B) (x A x B) x A x A

x y A y x A x y A y x A x y A |= y x A

quelques thor`mes e e
thor`me (dadquation) : A LP r si A alors |= A e e e (les formules qui sont des thor`mes sont des tautologies) e e thor`me (de compltude) : e e e A LP r si |= A alors A

thor`me (de compacit) : Soit F un ensemble de formules de LP r . e e e Si toute famille nie F F est satisfaisable alors F est aussi satisfaisable. thor`me (de nitude) : Soit F un ensemble de formules de LP r . Soit B LP r e e si F |= B alors F F ni tq F |= B thor`me (de compltude gnralis) : Soit F LP r et B LP r , e e e e e e F |= B ssi F B proposition : Soit F LP r et B une tautologie, F B si F na pas de mod`le. e

quelques rsultats de dcidabilit et dindcidabilit e e e e e

La logique des prdicats est indcidable e e


Il nexiste aucun programme qui pour une formule A LP r indique en un temps ni si A est une tautologie

Toute thorie axiomatique galitaire ayant : e e


un nombre ni de symboles, un nombre ni de constantes un seul symbole fonctionnel unaire f un nombre ni de prdicats unaires et le prdicat binaire galit e e e e nayant pas daxiomes non logiques

est dcidable e

formes prnexes, formes normales e

Q 1 x1 Q n xn M proposition : pour toute formule A il existe une forme prnexe quivalente ` A e e a algorithme limination des connecteurs dimplication et dquivalence e e renommage des variables (plus de variable libre et lie en mme temps) e e suppression des quanticateurs inutiles transfert du connecteur de ngation immdiatement devant les atomes e e transfert des quanticateurs en tte des formules e

extension du vocabulaire ` la logique des prdicats a e


littral : un atome ou la ngation dun atome e e clause : disjonction de littraux e cube : conjonction de littraux e forme conjonctive normale conjonction de clauses : forme prnexe dont la matrice M est une e

forme disjonctive normale : forme prnexe dont la matrice M est une dise jonction de cubes

formes de Skolem
proposition : SA forme de skolem de A, A est satisfaisable ssi SA est satisfaisable

transformation de A en forme de Skolem SA


transformer A en forme prnexe : Q1 x1 Qn xn M e transformer M en forme conjonctive normale M skolmiser M : e 1) associer ` toute variable quantie existentiellement le terme constitu par a e e un symbole fonctionnel ayant pour arguments la liste des variables quanties e universellement qui prc`dent la variable e e 2) remplacer chaque occurence de variable quantie existentiellement par le e terme dni en 1) e 3) supprimer les quanticateurs existentiels

thor`me de Herbrand e e
on associe ` une formule conjonctive normale F lensemble C des clauses correspona dantes univers de Herbrand associ ` un ensemble de clauses C : ea ensemble de tous les termes sans variable construit ` partir du vocabulaire de C a syst`me de Herbrand SHC associ ` C : e ea ensemble des clauses obtenues ` partir de C en remplaant les variables par des a c lments de lunivers de Herbrand ee

thor`me de Herbrand : e e C est satisfaisable ssi SHC est satisfaisable

Raisonnement dductif e
dnition (rappel) e F un ensemble de formules de LP r et I une interprtation, e F est insatisfaisable ou incohrent ssi I telle que F F, I(F ) = 0. e

proposition F LP r , F |= F ssi F {F } est insatisfaisable ou incohrent. e

on ram`ne le probl`me de consquence logique ` celui de la cohrence e e e a e ou de la satisfaisabilit. e rfutation : on cherche ` montrer lincohrence e a e

Rsolution en calcul des prdicats e e


rsolution R et saturation S (instanciation dans lunivers de Herbrand HC ) e semi-commutatives :

R(S(HC )) S(R(HC )) plus gnralement : e e

Rn (S(HC )) S(Rn(HC ))

lunication
substitution : V ar : ensemble des variables, T : ensemble des termes fonction de V ar dans T , tq lensemble {x V ar, (x) = x} est ni instance : t un terme, l : un littral, e

instance de t (resp. de l), le terme not (t) (resp. le littral (l)), obtenu en e e remplaant toutes les occurences des variables x par (x). c t1 et t2 des termes, t2 est une instance de t1 sil existe une substitution telle que t2 = (t1) unicateur : 2 littraux l et l sont uniables sil existe une substitution telle que (l) = e (l). La substitution est appele lunicateur. e unicateur principal: est plus gnral que , sil existe tq = e e il existe un unicateur plus gnral que tous les autres : unicateur principal e e

algorithme unication (t1, t2 : des termes) dbut e si lun des termes (t1 ou t2 ) est une variable x, (lautre est t) alors si x = t alors possible vrai sinon si x appara^t dans t alors possible f aux sinon possible vrai ((x) = t) finsi fin si sinon (t1 = f (x1, , xn) et t2 = g(y1 , , ym)) si f = g ou n = m alors possible f aux sinon i0 possible vrai tant que i < n et possible faire ii+1 (possible, ) unif ication((xi), (yi)) si possible alors finsi fin tant que fin si fin si fin

proposition (rsolution) e S : un ensemble de clauses, c1, c2 S, l1 appara dans c1 et l2 appara dans c2 t t une substitution de renommage tq (c1) et c2 nont aucune variable libre en commun soit p lunicateur principal de (c1) et c2 S |= S {r} et S {r} |= S avec r = ((c1\{l1}) (c2\{l2})) appele rsolvante e e

Algorithme de rsolution e dbut e tant que S faire

choisir l1, l2, c1, c2 tels que l c1 et l2 c2 et l1, l2 unifiables calculer la rsolvante r e ` partir de lunificateur principal a remplacer S par S {r} fin tant que fin