Sunteți pe pagina 1din 14

Capitolul 3

Demonstrarea teoremelor n logica cu predicate


Demonstrarea teoremelor n logica propoziional i n logica cu predicate de ordinul nti const, n esen, n gsirea unei proceduri de decizie pentru a verifica validitatea sau inconsistena unei formule. Aceast problem a fost abordat nti de Leibnitz (1646-1716) i a fost apoi reluat de Peano la nceputul secolului XX i de coala lui Hilbert n jurul anilor '20. Abia Church (1936) i Turing (1936) au demonstrat c acest lucru, posibil n calculul propoziional, este imposibil n calculul cu predicate de ordinul nti. Ei au demonstrat c nu exist o procedur efectiv de verificare a validitii unei formule, dar exist proceduri efective ce pot demonstra c o formul este valid dac aceasta este ntr-adevr valid. Deci sistemul formal al logicii cu predicate nu este decidabil, dar este semidecidabil. Primul mare pas n demonstrarea automat a teoremelor a fost fcut de Herbrand (1930). Prin definiie, o formul este valid dac formula este adevrat n toate interpretrile. Herbrand a dezvoltat un algoritm pentru a gsi o interpretare ce poate falsifica o formul. Dac formula este ntr-adevr valid, nici o astfel de interpretare nu poate exista i algoritmul se oprete dup un numr finit de pai. Teorema lui Herbrand este baza celor mai multe metode moderne de demonstrare automat a teoremelor [Chang,Lee,1973]. Gilmore [1960] a fost unul dintre primii cercettori care a implementat procedura lui Herbrand pe calculator. Programul lui determina inconsistena negrii formulei care se demonstreaz a fi valid. Programul a putut fi aplicat efectiv numai pentru dimensiuni reduse ale intrrii. La puin timp dup el, Davis i Putnam au mbuntit metoda, dar nu suficient, deoarece multe formule nu puteau fi demonstrate ntr-un timp rezonabil. n 1965, plecnd de la rezultatele lui Herbrand, Robinson a propus o metod mult mai eficient de stabilire a inconsistenei unei formule: rezoluia [Robinson,1965]. Aceast metod, cu diversele ei rafinri ulterioare, a devenit abordarea preferenial a celor mai multe demonstratoare automate de teoreme dezvoltate pn n prezent. Metodele propuse de Hilbert, Gilmore, Davis i Putnam i Robinson snt metode sintactice de demonstrare a teoremelor. Metoda axiomatic prezentat n Seciunea 2.3 este, de asemenea, o metod sintactic. Metodele sintactice se bazeaz pe procedee mecanice de aplicare a regulilor de inferen i snt independente de domeniul de interpretare a formulei. Exist i metode semantice pentru demonstrarea teoremelor, metode care se bazeaz pe utilizarea sistematic a valorilor de adevr date de funcia de valorizare a formulei. 29

Metodele semantice de demonstrare a teoremelor utilizeaz dou strategii pentru demonstrarea validitii, respectiv inconsistenei unei formule: se atribuie valori de adevr propoziiilor elementare, apoi se stabilete valoarea de adevr pentru formul se acord o valoare ipotetic propoziiei complexe asupra creia trebuie s se decid, apoi, pas cu pas, se ajunge s se atribuie valori de adevr inconsistente propoziiilor elementare. Principalele metode semantice snt: metoda matriceal, numit i metoda tabelelor de adevr, metoda lui Quine, metoda tablourilor semantice, metoda arborilor de decizie. O prezentare detaliat a acestor metode poate fi gsit n Popa [1992]. Metodele sintactice de demonstrare a teoremelor snt cele mai indicate pentru automatizarea procesului de demonstrare i ele stau la baza celor mai multe demonstratoare automate de teoreme [Gabbay,.a.,1993]. n continuare se vor prezenta cele mai importante metode sintactice care au stat la baza construirii programelor de demonstrare automat a teoremelor n inteligena artificial.

3.1

Logica cu predicate de ordinul I

Logica propoziiilor este un caz particular al logicii cu predicate de ordinul I. La fel ca i n cazul logicii propoziiilor, definirea logicii cu predicate de ordinul I ncepe prin a fixa alfabetul limbajului. Alfabetul conine simboluri pentru reprezentarea constantelor, notate prin convenie cu litere mici de la nceputul alfabetului ( a , b, c, ... ) , variabilelor, notate prin convenie cu litere mici de la sfritul alfabetului ( x, y, z, ... ) , funciilor, notate cu f , g, ..., predicatelor, notate cu P, Q, R , ..., a conectorilor i a cuantificatorilor logici. Conectorii logici folosii n logica cu predicate de ordinul I snt: ~ , , , i , iar cuantificatorii snt cuantificatorul existenial () i cuantificatorul universal (). n cazul logicii cu predicate de ordinul I, predicatele snt funcii logice de mai multe argumente, argumentele predicatelor numindu-se termeni. Definiie. Fie D un domeniu de valori. Un termen se definete astfel: (1) (2) (3) O constant este un termen cu valoare fix aparinnd domeniului D. O variabil este un termen ce poate primi valori diferite din domeniul D. Dac f este o funcie de n argumente ( f : D n f ( t1 , ... , t n ) este termen. 30

D) i t1 , ... , t n snt termeni, atunci

(4)

Toi termenii snt generai prin aplicarea regulilor (1) (3).

Definiie. Se numete predicat de aritate n o funcie P de n argumente cu valori adevrat sau fals, P:D n {a , f } . Un predicat de aritate 0 este o propoziie, numit i predicat constant. Definiie. Dac P este un predicat de aritate n i t1 , ... , t n snt termeni, atunci P( t1 , ... , t n ) se numete atom sau formul atomic. Nici o alt expresie nu poate fi atom. Definiie. Se numete literal un atom sau un atom negat. Literalul reprezentat de un atom se numete literal pozitiv, iar literalul reprezentat de un atom negat se numete literal negativ. Definiie. O formul bine format n logica cu predicate de ordinul I se definete astfel: (1) (2) Un atom este o formul bine format. Dac P este o formul bine format atunci: ~ P, ( x) P( x), ( x) P( x) snt formule bine formate. Dac P i Q snt formule bine formate atunci: P Q, P Q, P Q, P Q snt formule bine formate. Orice formul bine format este generat prin aplicarea de un numr finit de ori a regulilor (1) (3).

(3)

(4)

Interpretarea unei formule F n logica cu predicate de ordinul I const n fixarea unui domeniu de valori nevid D i a unei atribuiri de valori pentru fiecare constant, funcie i predicat ce apare n F astfel: (1) (2) Fiecrei constante i se asociaz un element din D. Fiecrei funcii f, de aritate n, i se asociaz o coresponden D n D , unde D n = {(x1 ,..., x n )|x1 D,..., x n D} . Fiecrui predicat de aritate n, i se asociaz o coresponden P:D n
{a , f } .

(3)

ntr-o formul variabilele pot fi variabile libere sau legate. O variabil este legat ntr-o formul dac exist un cuantificator ce o refer. n caz contrar variabila este liber. O formul care conine variabile libere nu poate fi evaluat. O formul bine format poate fi: consistent (realizabil), inconsistent (nerealizabil), valid sau consecin logic a unei mulimi de formule, aa cum s-a definit n Capitolul 2. Metodele de demonstrare a teoremelor ce vor fi studiate n acest capitol au la baz cele dou teoreme ale echivalenei logice prezentate n Seciunea 2.1.4. Procedura lui Herbrand i rezoluia snt metode de demonstrare prin respingere sau de demonstrare prin reducere la absurd. n loc de a arta c o formul este valid, ele arat c negaia aceleiai formule este inconsistent, de unde 31

i denumirea de demonstrare prin "respingere". Aceste metode se aplic ns unei forme standard a formulelor, numit forma clauzal, form introdus de Davis i Putnam. Definiie. Se numete clauz o disjuncie ntre un numr de literali. Se numete clauz de baz o clauz fr variabile. Se numete clauz Horn o clauz care conine cel mult un literal pozitiv. Definiie. Se numete clauz vid o clauz fr nici un literal; clauza vid se noteaz, prin convenie, cu simbolul . Se numete clauz unitar o clauz ce conine un singur literal. Definiie. O clauz Horn poate avea una din urmtoarele patru forme: o clauz unitar pozitiv ce const ntr-un singur literal pozitiv; o clauz negativ format numai din literali negai; o clauz format dintr-un literal pozitiv i cel puin un literal negat (clauz Horn mixta) sau clauza vid. Se numete clauz (Horn) distinct o clauz ce are exact un literal pozitiv, ea fiind fie o clauz unitar pozitiv, fie o clauz Horn mixt. Transformarea unei formule bine formate n forma clauzal se face pe baza regulilor prezentate n continuare. Etapa 1. Transformarea formulei n forma normal prenex. Definiie. O formul F n calculul cu predicate de ordinul I este n forma normal prenex dac i numai dac formula F este de forma ( Q1x1 )... ( Q n x n ) M , unde fiecare ( Qi xi ) , i = 1, ... , n, este fie ( xi ) , fie ( xi ) , iar M este o formul ce nu conine cuantificatori. ( Q1x1 )... ( Q n x n ) se numete prefixul formulei F, iar M se numete matricea formulei F. Pentru transformarea unei formule bine formate n forma normal prenex se folosesc urmtoarele legi de echivalen: (1.1) ( Qx) F[ x] G = ( Qx) ( F[ x] G ) (1.2) ( Qx) F[ x] G = ( Qx )( F[ x] G ) (2.1) ~ ( ( x) F[ x]) = ( x) ( ~ F[ x]) (2.2) ~ ( ( x) F[ x]) = ( x) ( ~ F[ x]) (3.1) ( x) F[ x] ( x) H[ x] = ( x)( F[ x] H[ x]) (3.2) ( x) F[ x] ( x) H[ x] = ( x) ( F[ x] H[ x]) (4.1) ( Q1x) F[ x] ( Q2 x) H[ x] = ( Q1x) ( Q2 z) ( F[ x] H[ z]) (4.2) ( Q1x) F[ x] ( Q2 x) H[ x] = (Q1x)( Q2 z)( F[ x] H[ z]) Transformarea unei formule n forma normal prenex parcurge urmtorii pai:

32

Pas 1. Se elimin din formul conectorii logici de implicaie i echivalen, prin utilizarea legilor F G = ( F G ) (G F) F G =~ F G Pas 2. Se mut toate negaiile din formul astfel nct s precead atomii, utiliznd repetat legea ~ ( ~ F) = F , legile lui de Morgan i formulele de echivalen (2.1) i (2.2). Pas 3. Se redenumesc, dac este cazul, variabilele legate din formul astfel nct toi cuantificatorii s se refere la variabile diferite (variabilele referite de un cuantificator nu trebuie s fie referite de alt cuantificator). Pas 4. Se folosesc formulele de echivalen (1.1), (1.2), (3.1), (3.2), (4.1) i (4.2). Etapa 2. Transformarea matricei formei normale prenex n form normal conjunctiv, deci n forma F1 F2 ... Fn . Etapa 3. Eliminarea tuturor cuantificatorilor existeniali din prefixul formei normale prenex. Fr a afecta proprietile de inconsisten, cuantificatorii existeniali din prefixul unei forme normale prenex pot fi eliminai prin utilizarea substituiilor de skolemnizare: nlocuirea variabilelor cuantificate existenial cu funcii Skolemn, adic funcii arbitrare ce pot lua ntotdeauna valoarea cerut de cuantificatorul existenial. Paii executai n aceast etap snt urmtorii: Pas 1. Dac primul (cel mai din stnga) cuantificator este un cuantificator existenial, se nlocuiesc toate apariiile variabilei pe care acesta o cuantific cu o constant arbitrar ce nu apare n prefixul formei normale prenex i se elimin cuantificatorul. Acest proces se aplic pentru toi cuantificatorii existeniali care nu snt precedai de cuantificatori universali, folosind constante diferite n procesele de substituie. Pas 2. Pentru fiecare cuantificator existenial care este precedat de unul sau mai muli cuantificatori universali, se nlocuiesc toate apariiile variabilei cuantificate printr-o funcie (distinct de toate funciile i variabilele ce apar n prefixul formei normale prenex) care are ca argumente toate variabilele cuantificate universal ce preced cuantificatorul existenial i se elimin cuantificatorul existenial. Procesul se repet pentru fiecare cuantificator existenial, folosind un simbol de funcie diferit i alegnd ca variabile ale funciei argumentele ce corespund tuturor variabilelor cuantificate universal care preced cuantificatorul existenial. Etapa 4. Eliminarea tuturor cuantificatorilor universali din prefixul formei normale prenex i a tuturor conjunciilor din matricea formei normale prenex. 33

Prin eliminarea cuantificatorilor existeniali, prefixul formei normale prenex dispare. Mulimea de formule care rezult dup eliminarea conjunciilor din matricea formei normale prenex formeaz un set de clauze ce nu este echivalent cu forma original a formulei bine formate, dar a crui realizabilitate, respectiv inconsisten, este pstrat, conform urmtoarei teoreme. Teorem. Fie S un set de clauze reprezentnd o form standard a unei formule F. Formula F este inconsistent dac i numai dac S este inconsistent. Pentru o prezentare mai detaliat i exemple de transformare a unei formule bine formate n forma clauzal se poate consulta Chang i Lee [1973] i Florea [1993].

3.2

Universul Herbrand

Prin definiie, un set de clauze S este nerealizabil dac i numai dac este fals n toate interpretrile posibile. O astfel de abordare, posibil n calculul propoziiilor, este ineficient sau chiar imposibil n calculul cu predicate de ordinul I, unde domeniul de interpretare poate fi foarte mare sau chiar infinit. Din acest motiv s-a cutat stabilirea unui domeniu de interpretare special, astfel nct un set de clauze S este nerealizabil dac i numai dac S este fals n toate interpretrile pe acest domeniu. Din fericire un astfel de domeniu exist. El a fost propus de Herbrand i se numete universul Herbrand al mulimii de clauze S.

3.2.1 Universul Herbrand al unei mulimi de clauze.


Definiie. Fie S o mulime de clauze ce corespund unei formule. Fie H 0 mulimea constantelor care apar n S. Dac n S nu apare nici o constant, atunci H 0 se iniializeaz cu o singur constant, H 0 = {a} . Pentru i = 0,1, 2, ..., fie H i+1 = H i { f ( t1 , ... , t n )| t j H i ,1 j n} , unde f snt funcii de aritate n ce apar n S. H i se numete mulimea constant de nivel i a lui S. Universul Herbrand al setului de clauze S este lim H i .
i

Observaie. Constanta de iniializare a mulimii H0, ce se alege arbitrar n cazul n care nu exist constante n formulele din S, nu trebuie confundat cu valoarea de adevr a. Exemple: 1. Fie setul de clauze S = {P(a), ~ P(x) P(f (x))} . Mulimile constante de nivel i = 0,1,2,... snt: H 0 = {a} , H1 = {a , f ( a )}, H 2 = {a , f (a ) , f ( f ( a ))} ,... iar universul Herbrand al setului de clauze S este H = H = {a , f ( a ) , f ( f (a )) , f ( f ( f (a ) )) , ...} . 2. Fie setul de clauze S = {P(x) Q(x), R(z),T(y) ~ W(y)}. Atunci H 0 = {a} (deoarece nu exist constante, se alege o constant arbitrar) i deoarece nu exist funcii n formulele din S universul Herbrand este H = H 0 = H1 =...= {a} . 34

3. Fie setul de clauze S = {P( f ( x) , a , g( y), b)}. Mulimile constante de nivel i = 0,1,2,... snt: H 0 = {a, b}, H1 = {a , b, f ( a ), f ( b), g(a ) , g( b)} , H 2 = {a, b, f (a), f (b),g(a),g(b), f (f (a)),f (f (b)),f (g(a)), f (g(b)),g(g(a)),g(g(b)),g(f (a)),g(f (b))} ... Definiie. Se numete expresie un termen, o mulime de termeni, un atom, o mulime de atomi, un literal, o clauz sau o mulime de clauze. Dac ntr-o expresie nu apar variabile, ea se numete expresie de baz. Se pot utiliza deci noiunile de termen de baz, atom de baz, literal de baz i clauz de baz. O subexpresie a unei expresii E este o expresie care apare n E. Definiie. Fie S un set de clauze. Mulimea A = {P(t1 ,..., t n )|t i H,1 i n, P apare n S} a atomilor de baz, deci mulimea tuturor predicatelor ce apar n S, avnd ca termeni elemente ale universului Herbrand, se numete baza Herbrand sau mulime atom a lui S. Definiie. O instan de baz a unei clauze C S, unde S este o mulime de clauze, este o clauz obinut prin nlocuirea variabilelor din C cu membrii ai universului Herbrand al lui S. Exemplu. Fie S = {P( x) , Q( f ( y)) R ( y)} o mulime de clauze, avnd universul Herbrand H = {a , f ( a ) , f ( f ( a )) , ...} . Fie clauza C = P( x) . Atunci P( a ) i P( f ( f (a ) )) snt ambele instane de baz ale lui C S. Dac se consider clauza C1 = Q( f ( y) ) R ( y) atunci Q( f (a ) ) R (a ) este o instan de baz a lui C1 S .

3.2.2 H-interpretare
Se consider acum interpretrile unui set de clauze pe universul Herbrand. Definiie. Fie S o mulime de clauze, H universul Herbrand al lui S i I o interpretare a lui S pe H. I se numete H- interpretare a lui S dac satisface urmtoarele condiii: (1) I pune n coresponden toate constantele din S cu ele nsele (a a a , pentru orice constant a S); Fie f o funcie de aritate n din S. Se asociaz lui f n I funcia care stabilete corespondena ( h1 , ... , h n ) H n a f ( h1 , ... , h n ) H .

(2)

Fie A = {A1 , ... , A m , ...} baza Herbrand a lui S. O H-interpretare I poate fi reprezentat convenabil prin mulimea I = {m1 , ... , mn , ...} n care mj este fie Aj, fie ~Aj, pentru j = 1, 2, .... 35

Semnificaia acestei mulimi este aceea c dac mj este Aj, atunci lui Aj i se asociaz valoarea adevrat (a), altfel lui Aj i se asociaz valoarea fals (f). Exemplu. Fie mulimea de clauze S = {P( x) Q( x), R ( f ( y))} cu universul i baza Herbrand H = {a , f ( a ) , f ( f ( a )) , ...} , respectiv A = {P( a ), Q(a ) , R ( a ), P( f ( a )) , Q( f ( a ) ) , R ( f (a ) ), ...} . Urmtoarele snt H-interpretri ale lui S: (1) (2) (3) I1 = {P( a ), Q(a ) , R ( a ), P( f ( a )) , Q( f (a ) ), R ( f ( a )) , ...} I2 = {~ P( a ) , ~ Q(a ) , ~ R ( a ), ~ P( f ( a ) ) , ~ Q( f (a ) ), ~ R ( f ( a )) , ...} I3 = {P(a ) , Q( a ), ~ R (a ) , P( f (a ) ), Q( f ( a ) ) , ~ R ( f (a ) ), ...}

Observaie. O interpretare a unei mulimi de clauze S nu trebuie neaprat s fie definit pe universul Herbrand al lui S. Deci o interpretare ar putea s nu fie o H-interpretare. Exemplu. Fiind dat un set de clauze S = {P( x) , Q( y, f ( y, a ) )} i domeniul de interpretare D = {1, 2}, se consider urmtoarea interpretare I a 2 P(1) a f (1,1) 1 P(2) f f (1,2) 2 Q(1,1) f f (2,1) 2 Q(1,2) a f (2,2) 1 Q(2,1) f Q(2,2) a

Aceast interpretare nu este o H-interpretare a lui S. Pentru orice interpretare I a unei mulimi de clauze se poate defini H-interpretarea I , corespunztoare lui I. Definiie. Fiind dat o interpretare I peste un domeniu D, o H-interpretare I corespunztoare lui I este o H-interpretare care satisface urmtoarele: (1) (2) (3) ( h1 , ... , h n ) H n , unde H este universul Herbrand al lui S; hi a d i , d i D, i 1 i n ; dac P( d1 , ... , d n ) este adevrat (respectiv fals) n I, atunci P( h1 , ... , h n ) este tot adevrat (respectiv fals) n I . Exemplu. Considernd mulimea de clauze S i interpretarea I din exemplul anterior, A = {P(a),Q(a,a), P(f (a,a)),Q(a, f (a,a)),Q(f (a,a),a),Q(f (a,a), f (a,a))} este baza Herbrand a lui S. Pentru a obine o H-interpretare I corespunztoare lui I se evalueaz fiecare membru al lui A, utiliznd valorile interpretrii I. 36
* * * *

P(a) = P(2) = f Q(a,a) = Q(2,2) = a P(f (a,a)) = P(f (2,2)) = P(1) = a Q(a, f (a,a)) = Q(2, f (2,2)) = Q(2,1) = f Q(f (a,a),a) = Q(f (2,2),2) = Q(1,2) = a Q(f (a,a), f (a,a)) = Q(f (2,2), f (2,2)) = Q(1,1) = f Pe baza acestor evaluri se construiete H-interpretarea I corespunztoare lui I I* = {~ P(a),Q(a,a), P(f (a,a)), ~ Q(a, f (a,a)),Q(f (a,a),a), ~ Q(f (a,a), f (a,a)),...} Lem. Dac o interpretare I peste un domeniu D satisface o mulime de clauze S, i.e. mulimea de clauze este realizabil n acea interpretare, atunci orice H-interpretare I* corespunztoare lui I satisface, de asemenea, S. Se propune cititorului gsirea demonstraiei acestei leme. Teorem. O mulime de clauze S este inconsistent (nerealizabil) dac i numai dac S este fals pentru toate H-interpretrile lui S. Demonstraie. () Aceast implicaie este evident deoarece dac S este nerealizabil atunci S este fals n toate interpretrile peste orice domeniu, deci i pentru H-interpretrile lui S. () Fie mulimea de clauze S fals pentru toate H-interpretrile i s presupunem S realizabil, deci S nu este inconsistent. Atunci exist o interpretare I peste un domeniu D astfel * nct S este adevrat n I. Fie I H-interpretarea corespunztoare lui I. Conform lemei, S este * adevrat n I . Aceasta contrazice presupunerea c S este fals pentru toate H-interpretrile. n concluzie s-a atins obiectivul propus la nceputul acestui capitol. Este nevoie s se considere numai interpretrile peste universul Herbrand, n particular H-interpretri, pentru a verifica dac o mulime de clauze este sau nu contradicie (nerealizabil). n continuare, din cauza teoremei de mai sus, de cte ori se va vorbi de o "interpretare", se va face referire la o Hinterpretare.
*

3.2.3 Arbori semantici


Arborii semantici reprezint structuri conceptuale care permit organizarea sistematic a Hinterpretrilor unei formule. Ei stau la baza primei formulri a criteriului de nerealizabilitate a unei mulimi de clauze propus de Herbrand. n plus, arborii semantici pot fi utilizai pentru 37

stabilirea legturii ntre metoda lui Herbrand de demonstrare a inconsistenei unui set de clauze i metoda lui Robinson, rezoluia. Definiie. Dac A este un atom, atunci cei doi literali A i ~A se spun a fi unul complementul celuilalt i mulimea {A , ~ A} este numit pereche complementar. Definiie. Fie S o mulime de clauze i fie A baza Herbrand a lui S. Un arbore semantic al lui S este un arbore T construit astfel: (1) Pentru fiecare nod N exist un numr finit de succesori L1 , ... , L n pentru care, pe arcele ( N , Li ) ,1 i n , se ataeaz o mulime finit de atomi sau atomi negai din A (literali din A). Fie Qi conjuncia tuturor literalilor ataati legturii ( N , Li ) ,1 i n . Atunci Q1 Q2 ... Q n este o formul propoziional valid. Pentru fiecare nod N, dac I(N) este reuniunea tuturor mulimilor de literali ataate legturilor de-a lungul unei ci de la rdcin la N, atunci I(N) nu conine o pereche complementar.

(2)

(3)

Observaie. Q1 Q2 ... Q n este o formul propoziional deoarece ea nu conine variabile, fiind construit numai cu elemente din A. Definiie. Fie A = {A1 , ... , A k , ...} baza Herbrand a mulimii de clauze S. Un arbore semantic T al lui S este arbore semantic complet dac i numai dac pentru fiecare nod frunz al lui T, I(N) conine fie Ai, fie ~Ai, i = 1, 2, ... , i.e. fiecare cale de la rdcin la o frunz conine toate elementele din baza Herbrand, fie sub form direct, fie sub form negat. Observaii:
Pentru orice nod N T , unde T este un arbore semantic al lui S, I(N) este o submulime a

unei interpretri a lui S i se numete interpretare parial a lui S.


ntr-un arbore semantic complet, pentru orice nod frunz N T , I(N) descrie o

interpretare complet a lui S.


Dac baza Herbrand A a unei mulimi de clauze S este infinit, atunci orice arbore

semantic complet va fi infinit.


Un arbore semantic complet corespunde testrii complete a tuturor interpretrilor posibile

ale lui S. Exemple: 1. Fie un set de clauze S i A = {P, Q, R} baza Herbrand a lui S. Cei doi arbori prezentai mai jos snt arbori semantici complei ai mulimii de clauze S. 38

P Q R R ~Q R

~P Q R ~Q R Q R Q

Q ~Q,~R P

~P,~Q ~P R R

~R

~R

~R

~R

~R

~R

~Q

~R

~R

2. Fie setul de clauze S = {P( x) , P( a )} avnd baza Herbrand A = {P(a )} . Arborele semantic complet al setului de clauze S este

P(a)

~P(a)

3. Fie mulimea de clauze S = {P( x), Q( f ( x))} avnd baza Herbrand infinit A = {P(a),Q(a), P(f (a)),Q(f (a)), P(f (f (a))),Q(f (f (a))),...}. Deoarece baza Herbrand A este infinit, i arborele semantic complet este infinit. O poriune a acestui arbore semantic este
P(a) Q(f(a)) ~Q(f(a)) P(f(a)) ~P(f(a)) ~P(a) Q(f(a)) ~Q(f(a))

Pornind de la ultima observaie fcut i tiind c o formul este nerealizabil dac este fals n toate interpretrile, se poate opri expandarea unui nod N n construcia arborelui semantic dac I(N) falsific S. Definiie. ntr-un arbore semantic, un nod N se numete nod de infirmare dac I(N) falsific o instan de baz a unei clauze din S, dar I(N') nu falsific nici o instan de baz a unei clauze C din S, pentru orice nod N' predecesor al lui N. Definiie. Un arbore semantic T se numete arbore semantic nchis dac i numai dac orice ramur a lui T se termin cu un nod de infirmare. Definiie. Un nod N, ntr-un arbore semantic nchis, se numete nod de inferen dac toi succesorii imediai ai lui N snt noduri de infirmare.

39

Exemple: 1. Fie mulimea de clauze S = {P, Q R , ~ P ~ Q, ~ P ~ R} , baza Herbrand a lui S A = {P, Q, R} i urmtorii doi arbori semantici ai lui S:

P Q R R ~Q R

~P Q R ~Q Q R

P ~Q

~P

~R

~R

~R

~R

~R

Primul arbore este un arbore semantic complet al lui S, iar cel de-al doilea este un arbore semantic nchis al lui S. 2. Fie mulimea de clauze S = {P( x) , ~ P( x) Q( f ( x)) , ~ Q( f (a ) )} i baza Herbrand A = {P(a),Q(a), P(f (a)),Q(f (a)), P(f (f (a))),Q(f (f (a))),...}. Un arbore semantic nchis al lui S este

P(a) Q(f(a)) ~Q(f(a))

~P(a)

3.3

Teorema lui Herbrand

Ideea de baz a teoremei lui Herbrand este urmtoarea: pentru a testa dac o mulime de clauze S este nerealizabil, trebuie s se testeze dac S este nerealizabil numai pentru interpretri pe universul Herbrand al lui S. Dac S este fals pentru toate interpretrile pe universul Herbrand, atunci se poate concluziona c S este nerealizabil. Exist dou versiuni ale teoremei lui Herbrand, prima bazat pe modelul arborilor semantici i a doua pornind de la baza Herbrand a unei mulimi de clauze. A doua versiune a teoremei a stat la baza metodei de demonstrare prin respingere propus de Gilmore, i a fost mbuntit ulterior de Davis i Putnam. Prima versiune a teoremei a fost cea care i-a inspirat lui Robinson rezoluia, metod alternativ de demonstrare prin respingere. Din aceste motive, teorema lui Herbrand se consider a fi baza tuturor metodelor automate de demonstrare a teoremelor.

40

3.3.1 Prima formulare a teoremei lui Herbrand


Teorem. Teorema lui Herbrand versiunea I. O mulime de clauze S este nerealizabil dac i numai dac pentru fiecare arbore semantic complet al lui S, exist un arbore semantic nchis finit. Altfel spus, orice arbore semantic complet al lui S este arbore semantic nchis finit. Demonstraie. () Fie S nerealizabil i fie T un arbore semantic complet pentru S. Pentru fiecare cale B (rdcina-frunz) a lui T, fie IB mulimea tuturor literalilor ataai legturii cii B. Rezult c IB este o interpretare a lui S. Deoarece S este nerealizabil, atunci IB trebuie s falsifice o instan de baz C' a unei clauze C S. Dar, deoarece C' este finit, trebuie s existe un nod de infirmare N, la distana numr finit de arce de nodul rdcin, pe calea B. Deoarece fiecare cale B a lui T are un nod de infirmare rezult c exist un arbore nchis T' pentru S. n plus, deoarece fiecare nod are un numr finit de succesori, T' este finit, i.e. numrul de noduri din T' este finit, deoarece, n caz contrar, pe baza lemei lui Konig [Knuth,1968] s-ar putea gsi o cale infinit care nu conine nici un nod de infirmare. () Orice arbore semantic complet al lui S este un arbore nchis finit. Rezult c fiecare cale n T conine un nod de infirmare, deci orice interpretare falsific S. Rezult c S este nerealizabil.

3.3.2 A doua formulare a teoremei lui Herbrand


Teorem. Teorema lui Herbrand versiunea II. O mulime de clauze S este nerealizabil dac i numai dac exist o mulime finit S' de instane de baz ale clauzelor din S care este nerealizabil (sau baza Herbrand a lui S este nerealizabil). Demonstraie. () Fie S nerealizabil i T un arbore semantic complet al lui S. Atunci, pe baza teoremei lui Herbrand versiunea I, rezult c exist un arbore semantic nchis finit T', corespunztor lui T. Fie S' mulimea tuturor instanelor de baz ale clauzelor care snt falsificate de toate nodurile de infirmare din T'. S' este finit deoarece exist un numr finit de noduri de infirmare n T'. Deoarece S' este fals n orice interpretare a lui S, S' este nerealizabil. () Fie S' o mulime finit de instane de baz ale clauzelor din S. Deoarece orice interpretare I a lui S conine o interpretare I' a lui S', dac I' falsific S', atunci I falsific, de asemenea, S'. Dar S' este falsificat de orice interpretare I'. n consecin, S' este falsificat de orice interpretare I a lui S. Rezult c S este falsificat de orice interpretare, deci S este nerealizabil.

41

Exemple: 1. Fie mulimea de clauze S = {P( x) , ~ P( f ( a ))} . S este nerealizabil. Prin teorema lui Herbrand, exist o mulime finit S' de instane de baz ale clauzelor din S. Una din aceste mulimi este S' = {P( f ( a ) ) , ~ P( f ( a ))} . 2. Fie mulimea de clauze S = {~ P( x) Q( f ( x) , x) , P( g( b) ), ~ Q( y, z)} . S este nerealizabil. S'= {~ P(g(b)) Q(f (g(b)),g(b)), P(g(b)), ~ Q(f (g(b),g(b))} este una din mulimile de clauze de baz, nerealizabil. A doua versiune a teoremei lui Herbrand sugereaz o procedur de demonstrare prin respingere. Pentru a demonstra c o mulime S de clauze este nerealizabil, dac exist o metod mecanic de generare a mulimilor instanelor de baz din S: S'1 , ... , S'n , ..., se poate testa succesiv realizabilitatea mulimilor deduse S'1 , S'2 , .... Conform teoremei lui Herbrand, dac S este nerealizabil, aceast procedur poate detecta un N finit, astfel nct S'N este nerealizabil. Gilmore a fost cel care a propus i a implementat pentru prima oar aceast metod. Pentru a demonstra nerealizabilitatea unui set de clauze S, el a scris un program care a generat succesiv S'0 , S'1 , ... , unde S'i este mulimea de constante de baz obinut prin nlocuirea variabilelor din S prin constante din mulimea constant de nivel i, Hi, a lui S. Deoarece S'i este o conjuncie de clauze de baz, orice metod din logica propoziional poate fi utilizat pentru a demonstra nerealizabilitatea lui S'i. Gilmore a utilizat metoda multiplicrii, i.e. fiecare S'i produs este multiplicat ntr-o form normal disjunctiv. Orice conjuncie din forma normal disjunctiv care conine o pereche complementar este eliminat. Dac o mulime S'i devine vid, rezult imediat c S'i este nerealizabil i deci s-a gsit o demonstraie a faptului c S este nerealizabil. Exemple: 1. Fie S = {P(x), ~ P(a)} , H 0 = {a} i S'0 = P(a) ~ P(a) = . Rezult deci c S este nerealizabil. 2. Fie S = {P(a), ~ P(x) Q(f (x)), ~ Q(f (a))} , H 0 = {a} i S'0 = P(a) (~ P(a) Q(f (a))) ~ Q(f (a)) deci S'0 = (P(a) ~ P(a) ~ Q(f (a))) (P(a) Q(f (a)) ~ Q(f (a))) = c S este nerealizabil. Metoda utilizat de Gilmore este ineficient din punct de vedere computaional, deci greu de aplicat pentru mulimi de clauze complexe. n 1960, Davis i Putnam au dezvoltat o metod mai eficient, o parte din regulile metodei fiind sursa de inspiraie a unor strategii de rezoluie care vor fi prezentate n Seciunea 3.6. = . Rezult deci

42

S-ar putea să vă placă și