Documente Academic
Documente Profesional
Documente Cultură
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 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
(4)
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.
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.
*
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
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)
3.3
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
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