Logica Computationala

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

Sunteți pe pagina 1din 186

CAPITOLUL 1 Elemente de teoria mulimilor

In paragraful nti al acestui capitol prezentm cteva noiuni i proprieti ale calculului propoziional, absolut necesar pentru demonstrarea propoziiilor de teoria mulimilor referitoare la operaiile finite cu mulimi. Paragraful al doilea conine definirea operaiilor cu mulimi (reuniune, intersecie, complementar, etc.) i proprietile lor principale. Elementele foarte sumare ale calculului predicatelor sunt expuse n 3, pentru a fi folosite n continuare n stabilirea proprietilor operaiilor infinite cu mulimi. Relaiile i funciile sunt subiectul paragarfului 4, iar produsul cartezian infinit i proprietatea sa de universalitate sunt prezentate n 5. Am considerat necesar s introducem un paragraf privind operaiile cu cardinali, insistnd asupra mulimilor numrabile. Ultimul paragraf se ocup cu relaiile de ordine i preordine. Plasarea acestui paragraf n acest capitol este necesar pentru enunarea axiomei lui Zorn, care este o axiom a teoriei mulimilor. Nu am dezvoltat extensiv acest capitol, prezentnd numai un minim necesar pentru tratarea capitolelor urmatoare. O serie de proprieti au fost date sub form de exerciii. Precizm c punctul de vedere adoptat este acela al teoriei naive a mulimilor.

1. Calculul propoziional
n calculul propoziional se studiaz propoziiile1) din punctul de vedere al adevrului sau falsitii lor, nelundu-le n considerare coninutul lor. Fr ndoial, legile logicii sunt expresii ale unor legi naturale obiective, ns neconsiderarea coninutului este necesar pentru a surprinde relaiile logice ale fenomenelor naturale n toat generalitatea lor. Vom nota propoziiile prin literele p, q, r, . Pentru orice propoziie p, definim valoarea ei logic v(p) prin: 1, daca propozitia p este adevarata v(p) = 0, daca propozitia p este falsa Deci, pentru noi, o propoziie p este perfect determinat dac i cunoatem valoarea logic v(p). Dac p,q sunt dou propoziii oarecare, atunci conjuncia lor pq este propoziia p i q, iar valoarea ei de adevr este dat de 1, daca p, q sunt simultan adevarate v(p q) = 0, daca cel putin una din propozitiile p, q este falsa
1)

n acest capitol conceptul de propoziie este cel uzual.

Cu alte cuvinte, v(pq)=1 dac i numai dac v(p)=1 i v(q)=1. Disjuncia pq a propoziiilor p,q este propoziia p sau q, iar valoarea ei logic este definit prin: v(pq)=1 dac i numai dac v(p)=1 sau v(q)=1. Negaia p a unei propoziii p are urmtoarea valoare de adevr: 0, daca p este adevarata v(p) = 1, daca p este falsa Date dou propoziii p,q, implicaia p q este propoziia p implic q a crei valoare de adevr este: 0, daca v(p) = 1 si v(q) = 0 v(p q) = 1, in rest Echivalena pq a dou propoziii p,q este propoziia p echivalent cu q a crei valoare de adevr este dat de v(p)=1 dac i numai dac v(p)=v(q). Aceste definiii pot fi concentrate n urmtoarele tabele de adevr. v(p) 1 1 0 0 v(q) 1 0 1 0 conjuncia v(p) 1 1 0 0 v(q) 1 0 1 0 implicaia v(pq) 1 0 1 1 v(p) 1 1 0 0 v(pq) 1 0 0 0 v(p) 1 1 0 0 v(q) 1 0 1 0 disjuncia v(q) 1 0 1 0 echivalena v(pq) 1 0 0 1 v(pq) 1 1 1 0

v(p) 1 0

v(p) 0 1 negaia

Urmtoarele propoziii sunt adevrate, pentru orice propoziii p, q, r: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
(p q) (q p) ; (p q) (q p); [(p q) r] [p (q r)]; [(p q) r] [p (q r)]; (p p) p; (p p) p; [p (q r)] [(p q) (p r)]; [p (q r)] [(p q) (p r)]; [p (p q)] p; [p (p q)] p; p p; (p p); (p q) (p q); (p q) (p q ); (p q) (p q); (p q) (p q); p p; (p q) (p q); (p q) [(p q) (q p)]; (p q) (q p).

Vom arta, de exemlu, c prima propoziie de la 7 este adevrat. Calculm valoarea logic a propoziiei (pq) (pq) pentru orice valoare 0 sau 1 pe care o pot lua propoziiile componente p, q. Sistematizm acest calcul prin urmtorul tabel: v(p) v(q) v(pq) v((pq)) 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 1 v(p) v(q) v(pq) 0 0 1 1 0 1 0 1 0 1 1 1 v((pq))v(pq) 1 1 1 1

n toate cazurile am obinut valoarea 1. Demonstraia se face n aceeai manier pentru toate proprietile 1- 12.

2. Mulimi, operaii cu mulimi


Pentru noi, conceptul de mulime va avea semnificaia uzual de colecie, grmad etc. Vom nota mulimile prin literele A, B, C, X, Y, Z etc. Obiectele din care este format o mulime se vor numi elemente. Elementele unei mulimi vor fi notate a, b, c,.. x, y, z etc. Faptul c elementul x face parte din mulimea A va fi notat xA i se va citi: x aparine mulimii A. Vom extinde conceptul de mulime prin considerarea mulimii vide , care este mulimea fr nici un element.

Mulimea A este inclus n mulimea B, dac orice element al lui A este i element al lui B. Scriem aceasta prescurtat A B. Definiia incluziunii A B poate fi dat i astfel: xA xB Reuniunea a dou mulimi A i B este mulimea AB definit de x AB [xA][xB] Un alt mod de a scrie aceast definiie este: AB ={x / (xA)(xB)} n cele ce urmeaz vom omite parantezele, scriind astfel: AB ={x / xA xB}. Intersecia a dou mulimi A i B este mulimea AB definit de: x AB [xA] [xB] Aceast definiie poate fi dat sub forma: AB ={x / xA xB}. Diferena a dou mulimi A i B este definit astfel: AB ={x / xA xB}. OBSERVAIE. Prin xB am notat propoziia (xB). Dac AB se spune c A este o parte (sau o submulime ) a lui B. Prin convenie, este submulime a oricrei mulimi. Pentru orice mulime A, vom nota cu P(A) mulimea tuturor prilor lui A. P(A) = {B / B A} Fiind dat o mulime A i o parte a sa B, definim complementara C A (B) a lui B n raport cu A prin CA(B)= AB ={x / xA xB}. n teoria mulimilor, conceput astfel, se pot ivi paradoxuri de urmtorul tip. Paradoxul lui Russell: Presupunem c A={x / xx} este o mulime. Atunci pentru orice x, vom avea xA xx n particular, pentru x=A vom avea AA AA ceea ce este evident contradictoriu. Din cauza paradoxurilor, suntem condui la a considera colecii care nu sunt neaprat mulimi, numite clase. Spre exemplu vom vorbi de clasa tuturor mulimilor, care nu mai este o mulime. PROPOZIIA 1: Pentru orice mulimi A,B,C sunt verificate urmtoarele relaii: (1) (2) (3) (4) (5) (6) (7) (8)
A B = B A; A B = B A A (B C) = (A B) C; A (B C) = (A B) C; A (B C) = ( A B) (A C); A (B C) = ( A B) (A C); A A = A; A A = A; A (A B) = A; A (A B) = A; A = A; A = ; A=B [A B] [B A]; A A;

(9) (10) (11) (12) (13) (14) (15) (16)

[A B] [B C] A C; A B A A B; A - B A; [ A B] [C D] [(A C) (B D)] [(A C) (B D)]; [A B] [A B = B] [A B = A]; A B = A - (A - B); A (B - A) = A B; A-(A B) = A - B; A (B - C) = (A B) - C;

Demonstraie: Vom stabili, de exemplu prima din relaiile (3): A (B C) = (A B) (A C). Aplicnd propoziia 4, 1, rezult echivalenele: x A (B C) (x A) [x B C] (x A) [(x B) (x C)] [(x A) (x B)] [(x A) (x C)] [x A U B] [x A C] x (A B) (A C) A rezultat: x A (B C) x (A B) (A C) , ceea ce este acelai lucru cu egalitatea ce trebuie demonstrat. n acelai mod se demonstreaz toate relaiile enumerate mai sus. Propoziia 2: Dac B, C sunt mulimi ale lui A, atunci avem relaiile: (17) B C C A (C) C A (B); (18) C A (B C) = C A (B) C B (C); (19) C A (B C) = C A (B) C A (C); (20) C A (A) = ; C A () = A. Lsm demonstraia acestor relaii pe seama cititorului. Dac sunt date mulimile A1 , A 2 ..., A n , atunci definim intersecia i reuniunea lor astfel: A1 ... A n = {x | (x A1 ) (x A 2 ) ... (x A n )} A1 ... A n = {x | (x A1 ) (x A 2 ) ... (x A n )} se mai folosesc i notaiile:

I A i = A1 ... A n ; U A i = A1 ... A n .
i =1 i =1

Menionm urmtoarele proprieti: (21) (22) (23)


[I A i ] B = I[A i B]; [U Ai ] B = U [A i B ];
i =1 i =1 n i =1 n i =1 n n n

C A [U Ai ] = I C A (A i );
i =1 i =1

(24)

C A [I A i ] = U C A (A i ).
i =1 i =1

Fie A, B dou mulimi oarecare. Produsul cartezian al mulimilor A i B este mulimea A x B definit astfel : A x B = {(x, y) | (x A) (y B)}. In general, produsul cartezian a n mulimi A1 ,...A n este A1 x...xA n = {(x 1 ,..., x n ) | (x 1 A1 ) (x 2 A 2 ) ... (x n A n )}. Se folosesc notaiile:

A
i =1

= A 1 x...xA n .

A n = A 1 x...xA n , dac A1 = A 2 = ... = A n = A. Produsul cartezian are urmtoarele proprieti: (25) (A1 A 2 )xB = (A1 xB) (A 2 xB); (26) (A1 A 2 )xB = (A1 xB) (A 2 xB); (27) (A1 A 2 )xB = (A1 xB) (A 2 xB); (28) Dac A1 , A 2 , B1 , B 2 sunt nevide, atunci [A1 xB1 = A 2 xB 2 ] [A1 = A 2 ] [B1 = B 2 ]; (29) AxB = , dac A= sau B=

3. Calculul predicatelor
n calculul propoziional nu ne-am interesat de structura propoziiilor, care au fost considerate ca nite ntregi, preocupndu-ne de valoarea lor logic. Considernd propoziia Socrate este muritor, observm n alctuirea lui un individ, Socrate i o proprietate muritor. Propoziiile Platon este muritor i Aristotel este muritor au aceeai form i difer doar individul despre care se afirm c este muritor. Toate aceste propoziii au forma x este muritor. n general, vom considera expresii de forma x are proprietatea P, pe care le vom nota P(x). Aceste expresii le vom numi predicate(Hilbert i Bernays, Grundlagen der Mathematik, vol.1, 1934) sau funcii propoziionale(Russel si Whitehead,Principia Mathematica, vol.1, 1910). n Principia Mathematica, acest concept este definit astfel:printr-o funcie propoziional nelegem ceva care conine o variabil x i exprim o propoziie de ndat ce lui x i se atribuie o valoare. Cu alte cuvinte, un predicat P(x) devine o propoziie P(a) dac i se atribuie lui x o valoare determinat a. Propoziia P(a) poate fi adevrat sau fals. Vom presupune c x ia valori ntr-o mulime A de indivizi, astfel nct pentru orice a A , P(A) este o propoziie cu sens. Pentru exemplificare, s lum predicatul x este muritor. Propoziia Socrate este muritor are sens pe cnd numrul 7 este muritor este fr sens. Toate aceste consideraii au fost luate din Logica polivalent, de A Dumitriu( pag. 74-75). Fie P(x) un predicat oarecare. Din predicatul P(x) putem forma urmtoarele propoziii:

( x ) P(x) : exist x care are proprietatea P. ( x) P(x) : pentru orice x are loc proprietatea P. se numete cuantificator universal, iar cuantificator existenial. Vom spune c propoziia ( x ) P(x) este adevrat n mulimea A, dac exist a A, astfel nct P(a) este o propoziie adevrat. Propoziia ( x) P(x) este adevrat n mulimea A, dac pentru orice a A, propoziia P(a) este adevrat. n mod analog, pot fi considerate predicate P( x 1 ,..., x n ) care depind de n variabile. Aceste predicate se numesc predicate n-are; x 1 ,..., x n se vor numi variabile. Dac P(x,y) este un predicat binar, atunci ( x) P(x,y) i ( x) P(x,y) sunt predicate unare n variabila y. Vom spune c n aceste predicate variabila x este legat, iar variabila y este liber. Aceste definiii se pot generaliza pentru predicate n oricte variabile. n scrierea predicatelor orice variabil liber trebuie notat diferit de orice variabil legat. De exemplu, nu putem avea ( x) ( x) P(x,y), ns scrierea ( y) ( y) P(x,y) este corect. Dac P, Q sunt predicate, atunci P, P Q, P Q, P Q, P Q, sunt de asemenea predicate. Un predicat n care toate variabilele sunt legate se va numi predicat constant sau enun. Pentru orice predicate P(x), Q(x) i pentru orice mulime A, n A sunt adevrate urmtoarele enunuri: (a) ( x) P(x) ( x) P(x) (b) ( x) P(x) ( x) P(x) (c) ( x) P(x) ( x) P(x) (d) [( x) (P(x) Q(x))] [( x ) P(x) (x ) Q(x)] (e) [( x) P(x) ( x ) Q(x)] [( x) (P(x) Q(x))] (f) x [P(x) Q(x)] [( x) P(x) ( y) Q(y)] (g) x [P(x) Q(x)] [( x) P(x) ( x) Q(x)] Dac P(x,y) este un predicat binar, atunci n A sunt adevrate enunurile: (h) ( x) ( y) P(x, y) ( y) ( x) P(x, y) (i) ( x) ( y) P(x, y) ( y) ( x) P(x, y) (j) ( x) ( y) P(x, y) ( y) ( x) P(x, y)

4. Relaii i funcii
Fie A o mulime. O relaie n-ar este o submulime R a lui A n . Definiia 1. Fie A, B dou mulimi oarecare. O funcie definit pe A cu valori n B este o relaie unar pe A x B ( adic A x B) cu proprietatea c pentru orice x A exist un element j B i numai unul, astfel nct (x,y) . Vom nota o funcie A x B prin f: A B, simbolul f avnd semnificaia urmtoare: fiecrui element x A i corespunde un singur element f(x) B astfel nct (x, f(x)) . A se numete domeniul de definiie al funciei f: A B i B se numeste domeniul valorilor lui f.

Date funciile f: A B i g: B C, prin compunerea lor se nelege funcia g o f : A C, definit de (g o f)(x)=g(f(x)), pentru orice x A. Compunerea funciilor este asociativ: pentru funciile f: A B, g: B C, h: C D, avem relaia h o (g o f) = ( h o g) o f. Pentru orice mulime A, funcia identic 1A : A A este definit de 1A (x) = x , pentru orice x A. Vom spune, c diagramele urmtoare

A h

B g C g

B h

sunt comutative, dac g o f =h, respeciv h o f =k o g. n general, o configuraie compus din diagrame de tipul de mai sus este o diagram comutativ dac diagramele componente sunt comutative. Funcia f: A B este injectiv dac pentru orice x, y A, avem: f(x)=f(y) x=y. Evident aceast relaie este echivalent cu x y f(x) f(y) Funcia f: A B este surjectiv dac pentru orice y B, exist x A, astfel nct f(x)=y. O funcie injectiv i surjectiv se numete bijectiv. Pentru aceste 3 categorii de funcii se folosesc i denumirile: injecie, surjecie i bijecie. O funcie f: A B este inversabil, dac exist o funcie g: B A cu proprietile g o f=1 i f o g=1. Exerciiu. Dac f:A B este inversabil s se arate c exist o singur funcie g: B A cu proprietile g o f=1 i f o g=1. Funcia g: B A cu aceste proprieti se numete inversa lui f i se noteaz -1 f . Deci avem relaiile f -1 o f = 1A , f o f -1 = 1B PROPOZIIA 1. Pentru o funcie f: A B sunt echivalente afirmaiile urmtoare: (i) f este bijectiv. (ii) f este inversabil. Demonstraie (i) (ii). Presupunem c f este bijectiv. Fie y . Cum f este surjectiv, exist x A astfel nct f(x)=y. f fiind injectiv, acest element este unic, deci putem defini o funcie g: B A prin g(y)=x. Rezult imediat c aceast funcie este inversa lui f. (ii) (i) este un simplu exerciiu pentru cititor. Fie f: A B o funcie oarecare. Dac X A i Y B, atunci notm: f(X)= {f(x) | x X} : imaginea direct a lui X prin f. f 1 (Y) = {x A | f(x) Y} : imaginea reciproc a lui Y prin f.

PROPOZIIA 2. Fie f: A B o funcie oarecare i X1 , X 2 A , Y1 , Y2 B . Atunci avem urmtoarele relaii: f(X1 X 2 ) = f(X1 ) f(X 2 ) f(X1 X 2 ) f(X1 ) f(X 2 ) f(X1 ) f(X 2 ) f(X1 X 2 ) f 1 (Y1 Y2 ) = f 1 (Y1 ) f 1 (Y2 ) f 1 (Y1 Y2 ) = f 1 (Y1 ) f 1 (Y2 ) f 1 (Y1 Y2 ) = f 1 (Y1 ) f 1 (Y2 ) Fie I o mulime nevid. Dac fiecrui i I i este asociat o mulime A i spunem c avem o familie de mulimi (A i ) iI indexat de mulimea I. Reuniunea i intersecia familiei (A i ) iI sunt definite astfel U A i = {x | exista i I, astfel incat x A i }

I A = {x | x A , pentru orice i I}
i i iI

iI

PROPOZIIA 3. Pentru orice familie (A i ) iI de mulimi i pentru orice mulime B, avem relaiile urmtoare: ( U A i ) B = U (A i B) ; ( I A i ) B = I (A i B) ;
iI iI iI iI

PROPOZIIA 4. Dac (A i ) iI este o familie de pri ale unei mulimi X, atunci C x (U A i ) = I C X (A i ) ; C X (I A i ) = U C X (A i )


Ii iI iI iI

Demonstraia acestor dou propoziii este simpl. Spre exemplificare, s demonstrm a doua relaie a Propoziiei 4: x C X (I A i ) (x I A i )
iI iI

( i I)[x A i ] ( i I)[(x A i )] (i I)[x C X (A i )] x U C X ( Ai ) , folosind relaia (a), 3.


iI

Fie acum R o relaie binar pe mulimea A (R A 2 ). R se numete relaie de echivalen pe A dac pentru orice x, y, z A sunt satisfcute proprietile: (reflexivitate) (x, x) R (x,y) R (y, x) R (simetrie) (tranzitivitate) (x, x) R , (y,z) R (x, z) R Vom folosi urmtoarea notaie: x~y (x, y) R . Proprietile de mai sus se transcriu astfel x~x x~y y~x x~y,y~z x~z Pentru orice x A vom nota x = { y A | x ~y}. x se numete clasa de echivalen a lui x. Sunt imediate proprietile
^ ^

x~y x = y x~ y x y = O familie (A i ) iI pe submulimi ale lui A mare se numete partiie dac: i, j I , i j A i A j = ;


^ ^

UA
iI

= A.

Orice partiie (A i ) iI definete o relaie de echivalen pe A: x~y exist i I, astfel nct x,y A i . Reciproc, orice relaie de echivalen ~ pe A pune n eviden o partiie dat de mulimea claselor de echivalen. Se poate arta c aceast coresponden este bijectiv. Dat relaia de echivalen ~ pe A, mulimea claselor de echivalen ale elementelor lui A se numete mulimea ct a lui A prin ~ i se noteaz prin A/~. Funcia p: A A/~ definit de p(x)= x , pentru orice x A , este surjectiv.
^

5. Produs cartezian al unei familii de mulimi


Fie (A i ) iI o familie de mulimi indexat de mulimea I. Prin produsul cartezian al familiei (A i ) iI nelegem mulimea = f : I U A i | f(i) A i , pentru orice i I iI iI n general, printr-o familie (x i ) iI de elemente ale unei mulimi X se nelege c fiecrui i I i este asociat un singur element xi al lui X. I se numete mulimea de

indici a familiei (x i ) iI . Orice funcie f: I U A i este perfect determinat de familia (f(i))iI , deci
iI

definiia produsului cartezian

A
iI

mai poate fi dat astfel:

A = {(x )
i iI

i iI

| x i A i , pentru orice i I}.

Pentru orice j I, aplicaia j ((x i ) iI ) = x j este surjectiv numesc proieciile canonice ale lui

| j I} se

A
iI

PROPOZIIA 1. Considerm produsul cartezian

A
iI

i proieciile canonice

j , j I . Atunci pentru orice mulime B i pentru orice familie de aplicaii

{f

: B A j | j I}, exist o funcie g: B A i i


iI

una singur, astfel nct diagramele urmtoare sunt comutative. Cu alte cuvinte, pentru orice j I avem j og = fj Demonstraie. (Existen) Pentru orice x B vom spune prin definiie g(x)= (f i (x)) iI

Pentru orice i I, avem f i (x) A i , deci (f i (x)) iI A i . Dac j I i x B,


iI

atunci
j (g(x)) = j ((f i (x)) iI ) = f j (x) , ceea ce arat c j o g = f j , pentru orice j I .

(Unicitate): fie h : B Ai astfel nct jh = fj pentru orice jJ. Vom


iI

arta c f coincide cu g. Pentru orice xB, vom avea h(x) = (yi)iI fj(x) = j(h(x)) = j((yi)iI) = yj, pentru orice jJ. De aici rezult: g(x) = (fj(x))iI = ((yi)iI = h(x), deci g = h. Propoziia a fost demonstrat.

A , deci:
i iI

Corolarul 1.5.2: Fie dou familii de mulimi (Ai)iI, (Bi)iI i o familie de funcii (fi : Ai Bi)iI. Atunci exist o aplicaie g : Ai Bi
iI iI

i una singur astfel nct sunt comutative urmtoarele diagrame. g Ai j Aj fj Bi j Bj

j, j fiind proieciile canonice.

1.6. Mulimi echipotente. Cardinali.


Pentru orice mulime finit, numrul su de elemente este o noiune bine precizat. Numrul natural n este reprezentarea abstract a tuturor mulimilor cu n elemente. Conceptul de numr natural permite compararea mulimilor finite. Este evident c a spune c dou mulimi finite au acelai numr de elemente este echivalent cu faptul c ele se pot pune n coresponden bijectiv. Aceast observaie sugereaz introducerea unui concept care s reprezinte numrul de elemente al unei mulimi oarecare. Vom spune c dou mulimi A i B sunt echipotente sau c au aceeai putere dac exist o bijecie f : A B. Se scrie acest lucru simbolic: A ~ B. Propoziia 1.6.1: Echipotena este o relaie reflexiv, simetric i tranzitiv. Demonstraie. Aplicaia identic 1A : A B este bijectiv, deci A ~ A. Dac A ~ B, atunci exist o bijecie f : A B. Inversa f -1 : A B este bijectiv deci B ~ A. Presupunnd c A ~ B i B ~ C, rezult bijeciile f : A B, g : B C. Funcia compus g f : A C este bijectiv, deci A ~ C.

Observaia 1.6.1.1: Echipotena este o relaie de echivalen definit pe clasa tuturor mulimilor. Pentru orice mulime A, vom nota cu A sau card(A) clasa de echivalen a mulimilor echipotente cu A: card(A) = A = {B | exist f : A B bijectiv}. Vom spune c A este cardinalul mulimii A. Observaia 1.6.1.2: n cazul n care A este o mulime finit, A poate fi asimilat cu numrul n al elementelor lui A, n sensul c n reprezint toate mulimile din A , identificate din punctul de vedere al numrului lor de elemente. Mulimi numrabile. O mulime A este numrabil dac este echipotent cu mulimea N a numerelor naturale. Vom nota cardinalul lui N cu 0 (aleph zero). Cu alte cuvinte, o mulime este numrabil dac elementele sale se pot aeza sub forma unui ir. Este evident c mulimea Z a numerelor ntregi este numrabil. Propoziia 1.6.2: Orice reuniune numrabil de mulimi numrabile este o mulime numrabil. Demonstraie: Fie (An)nN o mulime numrabil de mulimi numrabile. Dac An = {an1, an2,, anm,} pentru orice nN, atunci vom scrie elementele reuniunii U An sub forma unui tablou:
nN

a11 a21 a31

a12 a22 a32

a13.a1m.. a23.a2m.. a33.a3m..

an1 an2 an3.anm..

Elementele acestui tablou pot fi puse sub forma unui ir conform ordinii indicate prin sgei: a11, a12, a21, a13, a22, a31, Corolarul 1.6.2.1: Orice reuniune finit de mulimi numrabile este o mulime numrabil. Corolarul 1.6.2.2: Produsul cartezian al dou mulimi numrabile A, B este o mulime numrabil. Demonstraie: A B =

U ({x}) B.
x A

Corolarul 1.6.2.3: Produsul cartezian a n multimi numrabile A1,.,An este o mulime numrabil. Demonstraie: Prin inducie aplicnd corolarul 1.6.2.2. Corolarul 1.6.2.4: Mulimea Q a numerelor raionale este numrabil. m Demonstraie: Dac An = { ; m Z } , pentru orice n = 1,2,3, atunci n Q=

UA .
n n =1

Corolarul 1.6.2.5: Mulimea irurilor finite ai cror termeni apartin unei multimi numrabile este numrabil. Demonstraie: Fie A o mulime numrabil i Am mulimea irurilor cu m elemente din A. Atunci mulimea menionat n corolarul 1.6.2.5 este A1A2.Am. Corolarul 1.6.2.6: Mulimea Q[X] a polinoamelor cu coeficieni raionali este numrabil. Demonstraie: Orice polinom P(x) = a0 + a1x ++ anxn este definit de irul finit (a0, a1,, an), deci mulimea polinoamelor cu coeficieni n Q poate fi pus n coresponden bijectiv cu mulimea irurilor finite de numere raionale. Corolarul 1.6.2.7: Mulimea numerelor algebrice este numrabil. Demonstraie: Reamintm c un numr algebric este o rdcin a unui polinom din Q[X]. Conform corolarului 1.6.2.6, Q[X] este o mulime numrabil: Q[X] = {P1(X), P2(X),..,Pm(X),.} Pentru orice m =1, 2, mulimea Am a rdcinilor lui Pm(X) este finit. Observnd c mulimea numerelor algebrice este

UA
m =1

, demonstraia este ncheiat.

Propoziia 1.6.3. Mulimea (0,1) nu este numrabil. Demonstraie: Presupunem c intervalul (0,1) este numrabil, deci putem aranja elementele sale ntr-un ir: a1 = 0,a11a12a1n. a2 = 0,a21a22a2n. . an = 0,an1an2ann. . Notnd
0, dac a nn 0 en = 1, dac a = 0 nn se obine un numr 0,e1e2en. din intervalul (0,1) care este diferit de toi termenii irului considerat. Contradicia este evident.

Corolarul 1.6.3.1. Mulimea R a numerelor reale este nenumrabil. Observaia 1.6.3.2. Din faptul c R este nenumrabil, iar mulimea numerelor algebrice este numrabil, rezult existena numerelor transcendecte (numere reale care nu sunt algebrice). Operaii cu cardinali. Fie A, B dou mulimi oarecare. Atunci putem gsi dou mulimi A1, B1 astfel nct A A1, B B1 i A1 B1 = . ntr-adevr, lund dou elemente a b i punnd A1 = {a} A, B1 = {b} B vom avea: A A1: prin funcia bijectiv f : A A1 dat de f(x) = (a, x), pentru orice xA; B B1: prin funcia bijectiv g : B B1 dat de g(y) = (b, y), pentru orice yB; A1 B1 = . Prin definiie, suma cardinalilor A , B este A + B = A1 B1 Este necesar s artm c aceast definiie nu depinde de reprezentani, adic: A A1, B B1 i A1 B1 = A A2, B B2 i A2 B2 = A1 B1 A2 B2

Conform ipotezei din stnga implicaiei, exist bijeciile: f1 : A A1, g1 : B B1 ; f2 : A A2, g2 : B B2 . Notnd f = f2 f1-1 : A1 A2, g = g2 g1-1 : B1 B2, rezult c f, g sunt bijective. Considernd funcia h : A1 B1 A2 B2 , definit astfel:
f ( x), dac x A1 h( x ) = g ( x), dac x B 1

i innd seama A1 B1 = , A2 B2 = , se poate arta uor c h este o bijectiv. Rezult A1 B1 A2 B2. Pentru orice mulimi A, B, definim produsul cardinalilor A , B prin A B = A B Se poate arta (exerciiu) c definiia nu depinde de alegerea reprezentanilor A, B ai claselor A , B , adic A ~ A, B ~ B A A B B. Tot pe seama cititorului lsm s se arate i faptul c n cazul mulimilor finite, cele dou definiii corespund adunrii i nmulirii a dou numere naturale. Aceste definiii se generalizeaz pentru o familie oarecare de mulimi (Ai)iI. Se poate gsi la fel ca mai sus, o familie (Ai)iI de mulimi cu proprietile: Ai Ai, pentru orice i I. Ai Ai = , pentru orice i, j I, i j. Atunci suma cardinalilor ( Ai ) iI este:

A = UA '.
iI i i iI

Produsul familiei ( Ai ) iI de cardinali va fi:

A =A
i iI iI

Fie acum A, B dou mulimi oarecare. Dac notm AB mulimea funciilor f : B A, atunci cardinalul A este, prin definiie, A B . Menionm urmtoarele proprieti ale operaiilor cu cardinali: (1) A + B = B + A; ( A + B ) + C = A + ( B + C ) (2) A + A = A; A A = A; A + n = A, A n = A unde n este un numr natural oarecare. (3) A ( B + C ) = A B + A C (4) A n = 1 A4 +2 ... 4 +3 A,
de n ori

unde n este un numr natural oarecare. (5) A


B +C

= A A
C

C C

(6) ( A B) C = A B (7) ( A ) C = A
n

B C

(8) A = 1 A 2 ...4 A , unde n N . 4 3


de n ori

Demonstrarea acestor relaii este un exerciiu util pentru cititor. Propoziia 1.6.4: Pentru orice mulime A , ( A) = 2 A. Demonstraie. Considernd o mulime oarecare cu dou elemente, fie ea {0,1}, va trebui s artm c ( A) ~{0,1} A . Pentru orice B A, definim funcia sa caracteristic B : A {0,1} prin: 1, dac x B B ( x) = . 0, dac x B Considerm funcia : (A) {0,1}A dat de (B) = B, pentru orice B(A). Definim acum o alt funcie : {0,1}A (A) prin: (f) = f -1({1}) = { xA | f(x) = 1}, pentru orice f {0,1}A. Se poate arta c = 1(A), = 1{0,1}A. deci (A) {0,1}A. Propoziia 1.6.5. (Cantor). Pentru orice mulime A, avem A 2 A .

Demonstraie: Vom arta c orice funcie F : A (A) nu este surjectiv, de unde va rezulta c A nu este echivalent cu (A) ( n sensul relaiei ). Presupunem c F este surjectiv. Fie submulimea lui A definit astfel Z = { x A | x F(x)}. Cum am presupus c F este surjectiv, va exista x0 A, astfel nct F(x0) = Z. Din definiia lui Z rezult echivalena: x Z x F(x) , deci x F(x0) x F(x). Pentru x = x0, obinem contradicia x0 F(x0) x0 F(x0). Cu aceasta demonstraia s-a terminat. Pentru orice doi cardinali A i B , vom spune c A B dec exist o bijecie f : A B. Definiia nu depinde de reprezentani: dac A ~ A i B ~ B i f : A B este o injecie, atunci putem defini o injecie g : A B. Cum A ~ A, B ~ B exist bijeciile h1 : A A, h2 : B B. Definim pe g prin g = h2 f h1-1 Dac A B i A B , atunci vom scrie A < B . Pentru A , B finii, relaia A B revine la relaia obinuit de ordine ntre dou numere naturale. Relaia are proprietile urmtoare: (9) A B A B ; (10) A A ; Observaia 1.6.6: (i) (ii) Din Corolarul Propoziiei 1.6.3, rezult 0 = N < R . Teorema lui Cantor (Propoziia 1.6.5) se poate formula astfel:

A < 2 A , pentru orice mulime A.

Teorema Cantor-Berntein : A B , B A A = B . Pentru demonstraie se poate consulta K. Kuratowski, Introducere n teoria mulimilor i n topologie, Ed. Tehnic,1969,pag.79-80.

1.7. Relaii de ordine


O relaie binar R pe o mulime nevid A se numete relaie de preordine dac pentru orice x, y, z A avem: (P1) x R x (reflexivitate) (P2) x Ry, y R z x R z (tranzitivitate) Mulimea A nzestrat cu o relaie de preordine R se numete mulime preordonat. Relaia de preordine R se numete relaie de ordine dac verific relaia (P3) x R y; y R x x R y (antisimetrie)

pentru orice x, y A. O relaie de ordine se noteaz n mod uzual cu , deci cele trei relaii ce o definesc se descriu astfel: xx x y, y z x z x y, y x x = y O mulime ordonat este o mulime A nzestrat cu o relaie de ordine . Vom nota x < y x y i x y. Exemplu de relatie de preordine care nu este o relaie de ordine. Co nsiderm o mulime A={x, y, z} n care relaia R este definit prin graful urmtore:

x
i anume:

x R x, y R y, z R z x R y, y R z, z R y , x R z. Se observ c R este reflexiv i tranzitiv, dar nu este antisimetric: y R z, z R y nu i y = z. O mulime parial ordonat ( A, ) se numete mulime total ordonat dac (P4) pentru orice x, y A, avem x R y sau y R x. Exemplu de mulime parial ordonat care nu este total ordonat. n mulimea Z a numerelor ntregi considerm relaia: x R y x divide pe y Este evident c R este o relaie de ordine care nu este total. Mulimea R a numerelor reale nzestrat cu relaia de ordine natural este o mulime total ordonat. Dac (A, R) i (A, R) sunt dou mulimi preordonate, atunci o funcie f : A A se numete izoton dac pentru orice x, yA avem: x R y f(x) R f(y). n cazul cnd (A, ) i (A, ) sunt dou mulimi parial ordonate, f : A A este izoton dac: x y f(x) f(y) Propoziia 1.7.1: Fie ( A, R) o mulime parial ordonat. Atunci exist o mulime parial ordonat, (,) i o funcie izoton : A cu proprietatea urmtoare: (*) Pentru orice mulime parial ordonat ( B, ) i pentru orice funcie izoton f : A B exist o unic funcie izotona f : B, astfel nct urmtoarea diagram este comutativ: A

f
B

Demonstraie: n A introducem urmtoarea relaie: x ~ y x R y i y R x. Se deduce imediat c ~ este o relaie de echivalen pe A. Considerm mulimea ct = A/ i : A surjecia canonic: , pentru orice xA. ( x) = x n A definim relaia: y x R y. x Definiia lui nu depinde de reprezentani: dac x ~ x i y ~ y, atunci x R y x R y ntr-adevr, dac x ~ x i y ~ y, atunci x R x, x R x, y R y, y R y, deci x R y x R y (deoarece x R x) (deoarece y R y) x R y Implicaia cealalt rezult identic. Relaia este o relaie de ordine pe A. x x (deoarece x R x) z . x y , y z x R y, y R z x R z x . x y , y x x R y, y R x x z x = y y (x) (y). Aplicaia este izoton: x R y x

Definim aplicaia f n modul urmtor: ~ ) = f(x), pentru orice x A. f (x

Definiia lui f nu depinde de reprezentani. x y x R y, y R x f(x) f(y), f(y) f(x) f(x) = f(y). deoarece n B, este o relaie de ordine parial (deci antisimetric). f este o aplicaie izoton: y x R y f(x) f(y). x Diagrama din teorem este comutativ: ) = f(x), pentru orice xA. ( f )(x) = f ((x)) = f ( x S artm acum unicitatea lui f . Propunem prin absurd c, ar mai exista o funcie izoton g : B astfel nct g = f. Atunci avem: ~ A. ) , pentru orice x ) = g((x)) = f (x) = f ( x g( x
Rezult g = f , deci f este unic. Demonstraia este terminat. Fie acum (xi)iI o familie oarecare a unei mulimi parial ordonate (A, ). Un element yA este un majorant al familiei (xi)iI dac xi y pentru orice

i I .
(xi)iI

yA este supremumul familiei (xi)iI dac pentru orice majorant z al familiei avem y z. Supremumul familiei (xi)iI va fi notat: xi

iI

Deci elementul (i) (ii)

xi

x , pentru orice iI.


iI i

x
iI

al lui A este caracterizat de urmtoarele dou relaii:

Dac xi y pentru orice iI, atunci

x y.
iI i

Dual, yA este infimimul familiei (xi)iI dac pentru orice minorant z al familiei (xi)iI avem z y. Infimimul familiei (xi)iI va fi notat: xi

iI

i este caracterizat de (a) xi xi, pentru orice iI.

iI

(b)

Dac y xi pentru orice iI, atunci y

x .
i iI

Supremumul (respectiv infimimul) familiei {x1,.,xn}se va nota (respectiv

x
i =1

x ). Pentru mulimea {x,y} notm:


i i =1

x y supremumul mulimii {x, y}. x y infimumul mulimii {x, y}.


Definiia 1.7.2: O mulime preordonat ( A, ) se numete latice dac pentru orice x, yA exist x y i x y. ( A, ) se numete latice complet dac pentru

orice familie (xi)iI de elemente ale lui A, exist

i =1

x i i

x .
i i =1

O mulime parial ordonat ( A, ) se numete inductiv dac orice submulime total ordonat a sa admite cel puin un majorant. Fie ( A, ) o mulime parial ordonat. Un element xA se numete maximal dac nu exist nici un element yA astfel nct x < y; cu alte cuvinte, dac din x y rezult x = y. Axioma lui Zorn: Orice mulime parial ordonat inductiv admite un element maximal.
Observaia 1.7.3: Aceast teorem a fost impus de o serie de construcii ale matematicii care vizeaz mulimile infinite. Cunoscut mai ales sub o form echivalent (axioma alegerii), ea a generat multe controverse n matematic i n filosofia matematicii. n prezent situaia este urmtoarea: Pentru teoria mulimilor s-au propus mai multe sisteme de axiome, mai cunoscute fiind sistemul Zermelo-Fraenkel i sistemul Gdel-Bernays. Nu s-a reuit pn acum s se demonstreze nici unul din aceste sisteme c este necontradictoriu. Presupunndu-se c sistemul de axiome Zermelo-Fraenkel este necontradictoriu, Kurt Gdel1 a demonstrat n 1940 c prin adugarea axiomei lui Zorn se obine nc un sistem necontradictoriu. Ulterior s-a demonstrat c dac adugm la sistemul Zermelo-Fraenkel negaia axiomei lui Zorn se obine nc un sistem necontradictoriu (A. Mostowski, P. Cohen). Cu alte cuvinte, axioma lui Zorn este independent de celelalte axiome ale teoriei mulimilor. Independena axiomei lui Zorn este unul din rezultatele de vrf ale matematicii secolului XX. Se cuvine a preciza c cea mai mare parte a matematicienilor contemporani presupun n cercetrile lor c axioma lui Zorn este verificat.
1

Este o prere unanim aceea c K. Gdel este cel mai mare logician n via.

CAPITOLUL 2

Algebre Boole
Teoria algebrelor Boole s-a nscut ca urmare a descoperirii c ntre legile logicii i anumite legi ale calculului algebric exist o perfect analogie. Aceast descoperire este unanim atribuit lui George Boole (An investigation into the laws of thought, 1854) Dintre matematicienii care au adus contribuii mari la dezvoltarea teoriei algebrelor Boole trebuie menionat n primul rnd M.H. Stone pentru celebra sa teorem de reprezentare (The theory of representation for Boolean algebras, Trans. A.M.S., 40 , 1936, p. 37-111) i pentru teoria dualitii a algebrelor Boole. (Applicationsof the theory of Boolean rings to general topology, Trans. A.M.S., 41, 1937, p. 375-481). De asemenea A. Tarski a obtinut rezultate remarcabile att pe linia algebric a acestui domeniu, ct mai ales pe linia legturilor sale cu logica. Algebrele Boole constituie reflectarea algebric a calculului propoziional, fiind modele algebrice ale calculului propoziional. Afirmaia va fi precizat n capitolul urmtor prin teorema urmtoare: Algebra Lindenbaum-Tarski a sistemului formal al calculului propoziional este o algebra Boole. n capitolul IV, metodele folosite pentru demonstrarea completitudinii sistemului formal al calculului predicatelor se vor baza n ntregime pe algebrele Boole. Astzi, teoria algebrelor Boole se prezinta ca un fragment important al algebrei, avnd puternice conexiuni cu logica, dar fiind un capitol de sine stttor, att prin rezultatele obinute n interiorul su ct i prin aplicaiile sale n topologie, analiz, calculul probabilitilor, etc. Este notoriu ns faptul c cele mai spectaculoase aplicaii ale algebrelor Boole sau obinut n domeniul calculatoarelor electronice i al disciplinelor nvecinate (vezi [7] i [9]). Paragraful 1 al acestui capitol prezint o serie de proprieti generale ale laticilor, care sunt structuri mai generale dect algebrele Boole. n 2 se dau o serie de definiii legate de algebrele Boole, se studiaz legtura cu inelele Boole, precum i cteva proprieti ale morfismelor de algebre Boole. Conguenele, filtrele i algebrele Boole ct fac obiectul paragrafului 3. Paragraful 4 este foarte important, teoria ultrafiltrelor i demonstraia teoremei lui Stone. Algebrele Boole finite i produsele directe de algebre Boole sunt prezentzte n urmtoarele dou paragrafe. n 7 se demonstreaz c orice dou algebre Boole numrabile i far atomi sunt izomorfe, iar n 8 se demonstreaz teorema RasiowaSikorski, care va fi folosit n demonstrarea teoremei de completitudine a lui Gdel (vezi Capitolul IV). 1. LATICI n acest paragraf vom stabili o serie de proprieti ale laticilor i ale laticilor distributive. PROPOZIIA 1. ntr-o latice oarecare L sunt verificate urmtoarele proprieti: (L1) a a=a, a a =a (idempotena)

(L2) (L3) (L4)

a b=b a, a b =b a (a b) c=a (b c) (a b) c=a (b c) a ( a b)=a, a (a b)

(comutativitatea) (asociativitatea) (absorbie)

Demonstratie .Aceste relatii sunt imediate,pe baza definiiei infimumului si supremumului.Spre exemplu,s artm c a ( a b) = a. .Conform definiiei infimumului, va trebui s demonstrm c: a a, a a b z a, z a b z a ( a b) Se observ ns c aceste relaii sunt evidente. Vom stabili acum un rezultat care arat egalitile(L1)-(L4) caracterizeaz o latice . PROPOZIIA 2: Fie L o mulime nevid oarecare nzestrat cu dou operaii binare , astfel nct orice elemente a,b,c L verific egalitile (L1)-(L4) .Atunci pe mulimea Lse poate defini o relaie de ordine parial prin a b ab = a, astfel nct a b( respectiv.a b) este infimumul (respective supremumula0mulimii {a,b} n sensul ordinii astfel definite. Demonstratie . Verificm nti c este o relaie de ordine parial: a a rezult din a a = a a a, b c a = a b, b = b a a = b

a b, b c a = a b, b = b c a = a b = a (b c) = (a b) c = a c ac Pentru a arta c a b este infimumul mulimii {a,b} va trebui s stabilim relaiile : a b a, a b b . x a, x b x a b. Primele doua relaii rezult din ( a b) a = a ( a b) = ( a a ) b = a b . ( a b) b = a (b b) = a b Cealalt relaie rezult conform implicaiei x a=x,x b=x x (a b)=(x a) b=x b=x Vom arta arta acumc a b este infimumul mulimii {a,b}. a a b rezult din(L4) : a ( a b) = a i analogsededuce c i b a b . Restul rezult conform implicaiilor: a x, b x a x = a , b x = b

a x = (a x) x = x, b x = (b x) = x (a b) x = (a b) (a x) = (a b) [a (b x)] = . = (a b) [(a b) x] = a b a b a b x. Cu aceasta ,demonstraia este terminat. Indicm cititorului s pun n eviden toate toate punctele demonstraiei n care am folosit relaiile (L1)-(L4). OBSERVAIE. Relaia de ordine din propoziia precedent pote fi definit in mod echivalent i prin a b a b = b .

Intr-o latice avem implicaiile : x y a x a y, a x a y x y, a b x a y b, x a y b Stabilirea lor este imediat. Operaiile unei latici finite pot fi descrise prin tabele. Spre exemplu,n mulimea L={0,a,b,l} putem defini dou operaii de lattice n felul urmtor: 0 a b l 0 a b l 0 0 0 00 0 0 0 a b l a 0 a a 0 a a a a l l b 0 0b b b b b l b l 1 0 al b l 1 l l l l Fie L1,L2 dou latici.O funcie f: L1 L2 se numete morfism de latici dac pentru orice x,y L1,avem f( x y ) = )=f(x) f(y) f ( x y ) = f ( x) f ( y ) Un morfism bijectiv de latici f: L1 L2 se numeste izomorfism de latici. Se mai spune in acest caz c laticile L1, L2 sunt izomorfe. Un element 0 al unei latici L se numete element prim dac 0 x ,pentru orice x L.Dual, un element ultim al lui L este definit de: x 1 ,pentru orice x . PROPOZIIA 3.Intr-o lattice L sunt echivalente urmtoarele relaii
(i ) ( x y ) ( x z ) = x ( y z ) (ii ) ( x y ) ( x z ) = x ( y z ) ,pentru orice x,y,z din L. (iii ) ( x y ) z x ( y z )

Demonstratie: (i ) (ii ) .Vom arta c orice elemente a,b,c L verific . In (i) vom pune x= ( a b) ,y=a,z=c:

(conform (i) ) = a [(a c) (b c)] = [a (a c)] (b c) = a (b c) (conformL4 ) (ii ) (iii ) .Din z x z rezult ( x y) z ( x y) ( x z) = x ( y z) (iii ) (i ) .Fie a, b, c L oarecare.In (iii ) facem x=a,y=b,z= a c: ( a b) ( a c ) a [b ( a c )] = a [( a c ) b] Punnd n (iii ) x=a,y=c,z=c rezult ( a c ) b a (c b ) deci a [( a c ) b] [ a (c b)] = ( a a ) (bc ) = a (b c ) Din inegalitile stabilite mai sus se obine ( a b ) ( a c ) a (b c ) Va fi suficient s stabilim inegalitatea invers, care este valabil n orice lattice: a (b c ) ( a b ) ( a c ) Din a a b , a a c rezult a ( a b) ( a c ) De asemenea, din a b , c a c ,rezult b c (a b) (a c) Din aceste dou inegaliti se obine ,conform definiiei supremumului, exact inegalitatea cutat.demonstraia este terminat. Definiia1.O latice Lcare satisface una din condiiile echivalente (i ) (iii ) se numete latice distributiv. Fie L o latice cu element prin 0 i cu element ultim 1.Un element a L este un complement al lui b B dac a b = 0 si a b = 1 . PROPOZIIA 4. Intr-o latice distributiv L orice element poate avea cel mult un complement. Demonstraie. Presupunem c b,c sunt dou elemente ale lui L care verific egalitile: a b = 0 ab =1 a c = 0 a c =1 Atunci avem b = b 1 = b ( a c ) = (b a ) (b c ) = 0 (b c) = b c . Analog se arat c c = (b c ) ,deci b=c. Intr-o alt latice distributiv (cu element prim0 i cu element ultimo 1 ) L vom nota cu a complementul unui element a L. PROPOZIIA 5.Presupunem c n laticea distributiv L,pentru elementele a i b exist a i b .atunci exist i ( a b) , ( a b) i care sunt dai de ( a b) = a b; ( a b) =a b.

(a b) (a c) = [(a b) a ] [(a b) c] = a [(a b) c] (conformL4 )

Demonstraie:Conform Propoziiei 4, pentru verficarea primei relaii este sufficient s artm c


( a b) (a b)=0 ( a b) (a b)=1. Aceste relaii se obin astfel: ( a b) (a b)= a b a ) ( a b b)=0 0=0 ( a b) (a b)= a a b)( a b)=1 1=1. Egalitatea a doua a propoziiei se obine n mod dual. OBSERVAIE.Pentru cunoaterea in adncime a problemelor fundamentale ale teoriei laticilor,indic urmtoarele cri de referin:G.Birkhoff,Lattice theoty,American Math. Soc.,1967,(ediia a 3-a), San Francisco, 1971. In cele ce urmeaz vom nota x y z=x (y z) z y z=x (y z), pentru orice elemente x,y,z ale unei latici L.

2. ALGEBRE BOOLE. PROPRIETAI GENERALE Definiia 1.O algebr Boole este o latice distributiv B cu element prim 0 i cu element ultim 1,astfel nct orice element x B are un complement x. EXEMPLE (1). Mulimea L 2 ={0,1} este o agebr Boole pentru ordinea natural: 0 0 0, 0 1, 1 1. Operaiile lui L 2 sunt date de 0 1 0 1 0 0 0 0 0 1 ; 0=1 1 0 1 1 1 1 1=0. (2) Mulimea P (x) a prilor unei mulimi nevide X este o algebr Boole n care relaia de ordine este incluziunea . Operaiile lui P (x) vor fi A B=A B A B=A B A=C x (A). pentru orice A,B P (X), este element prim si X este elemental ultimo al lui P (X).Dac B,B sunt dou algebre Boole, atunci un morfism de algebre Boole este o funcie f:BB care sarisface proprietile urmtoare,pentru orice x,y B: f(x y)=f(x) f(y) f(x y)=f(x) f(y) f(x)=f(x) OBSERVAIE. (1) Orice morfism de algebre Boole f:BB verific condiiile: f(0)=0 ; f(1)=1 . Cum B= , atunci exist x B, deci vom putea scrie: f(0)=f(x x)=f(x) f(x)=0 f(1)=f(x x)= f(x) f(x)=1

(2) Orice morfism de algebre Boole este o aplicaie izoton: x y x y=y f(x) f(y)=f(y) f(x) f(y). In cele ce urmeaz vom arta c algebra Boole sunt echivalente cu o claas de inele commutative numite inele Boole. Definiia2. se numete inelBoole orice inel unitar (A, +, *, 0, 1) cu proprietatea c x 2 =x ,pentru orice x A. Lema1. Pentru orice dou elemente x,y ale unui inel Boole A ,avem relaiile x+y=0 xy=yx ( comutativitatea) Demonstraie. Din x+y=(x+y) 2 = (x+y)(x+y)=x 2 +xy+xy+y 2 = x+xy+xy+y rezult xy+xy=0. Fcnd y=x, se obine x 2 +x 2 =0, deci x+x=0.Pentru orice x A, vom avea deci z+z=0, adic z=-z.Lund z=xy,din relaia stabilit mai sus avem xy= -xy=yx. Dac A,A sunt dou inele Boole,atunci un izomorfism de inele Boole g:AA este o funcie g:AA cu proprietaile urmtoare: g(x+y)=g(x)+g(y) g(x*y)=g(x)*g(y) g(1)=1 pentru orice x,y A.Cu alte cuvinte, este un morfism de inele unitare. PROPOZIIA 1. Daca A este un inel Boole, atunci A poate fi organizat ca o algebr Boole F(A) : x y=x+y+xy x y=xy x=x=1 0 este element prim al lui F(A) 1 este elementul ultim al lui F(A) x y xy=x . Demonstraie. Operaiile astfel definite verific axiomele (L 1 )-(L 4 ) din 1 Spre exemplu, s artm c x ( x y)=x, pentru orice x A. x ( x y)=x+xy+xxy=x+xy+x 2 y=x+(xy+xy)=x+0=0, comform Lemei 1. Deci F(A) este o latice .Printr-un calcul simplu se poate arta c F(A) este distributiv i c 0 x, x 1, pentru orice x A. S artm c x+1 verific proprietile complementului x (x+1)=x+x+1+x(x+1)=2x+1+ x 2 +x=0+1+(x+x) =1+0=1 x (x+1)= x(x+1)= x 2 +x=x+x=x. PROPOZIIA2. Dac B este o algebr Boole, atunci B poate fi organizat ca un inel Boole G(B) punnd x+y=(x y) (x y) x*y=x y pentru orice x,y B.0 i 1 vor avea semnificaia natural.

Demonstraia este calculatorie i o lsm pe seama cititorului. PROPOZIIA 3. (i) Dac f:AA este un morfism de inele Boole, atunci f este i un morfism de algebre Boole f:F(A)F(A). (ii) Dac g:BB este un morfism de inele Boole, atunci g este i un morfism de algebre Boole g:G(B) G(B). PROPOZIIA 4. Dac A este un inel Boole i B este algebr Boole, atunci (i) A i G(F(A)) coincid ca inele Boole. (ii) B i F(G(B)) coincid ca inele Boole. Demonstraia celor dou propoziii este un exerciiuIntr-o algebr Boole B se definete operaia de implicaie boolean: xy=x y, x,y B i operaia de echivalen booleana: xy=(xy) (yx), x,y B. Se poate arta c xy=1 dac i numai dac x y. Aceste dou operaii au proprietile urmtoare: x(yx)=1 (x(xy)) (xy)=1 (xy)((yz)(xz)=1 (xy) (xy)=1 (xy)(yx)=1 (xy)((yx)(xy))=1 (yx) (xy)=1 (x y)(xy)=1 (x y)(x y)=1 (xy)=1 x=y. S stabilim ,de exemplu proprietatea a doua: (x(xy)) (xy)= (x(xy)) (xy) =(x x y) (x y) =(x y) (x y)=1 Lema2:In orice algebr Boole B avem (i) x=x (ii) x y y x (iii) x y x y.=0 Demonstraie (i) Rezult din unicitatea complementului: x x=1, x x=0. (ii) x y x y=x x y=x y x y x x y (conform celor demonstrate) xy (iii) x y x y y y=0 x y=0 x y =0 x=x 1=x (y y)=(x y) (x y) (x y) 0= x y

xy Un morfism de algebra Boole f:BB se numete izomorfism de algebra Boole dac este bijectiv. OBSERVAIE. Compunera a dou morfisme (respective izomofisme) de algebre Boole este nc un morfism (respectiv izomorfism) de algebre Boole.Pentru orice algebr Boole B, aplicaia l B :BB este un izomorfism de algebre Boole. PROPOZIIA 5. Fie f:BB un morfism de algebre Boole.Sunt echivalente afirmaiile urmtoare: (i) f este izomorfism ; (ii) f este surjectiv i pentru orice x,y B, avem x y f(x) f(y) ; (iii) f este inversabil i f 1 este un morfism de algebre Boole. Demonstraie(i) (ii) .Amintim c orice morfism de algebre Boole este o aplicaie izoton. x y f(x) f(y) Presupunem f(x) f(y) ,deci: f(x) f(y) f(x) f(y)=f(x) f(x y)=f(x) x y=x xy . Am aplicat injectivitatea lui f. (ii) (i) .Trebuie s artm c f este injectiv f(x)=f(y) f(x) f(y) i f(y) f(x) x y i y y x=y . (i) (iii).Este sufficient s artm c f 1 este morfism de algebre Boole. Fie y,y B i x= f 1 (y) B,x= f 1 (y) B.Cum f este morfism,rezult: f(x x)=f(x) f(x) Dar f(x)=y,f(x)=y,deci f(x x)=y y, de unde prin aplicarea lui f 1 rezult: f 1 (f(x x))= f 1 (y y), deci f 1 (y y)= x x= f 1 (y) f 1 (y) Analog se arat c : f 1 (y y)= f 1 (y) f 1 (y) f 1 (y)= f 1 (y). (iii) (i) .Evident. Definiia 3. O submulime nevid B a unei algebre Boole B se numete subalgebr Boole a lui B dac: x,y B x y B i x y B x B x B. OBSERVAIE . Dac B este subalgebr Boole a lui B , atunci 0 B i 1 B: Intr-adevr , cum B=,exist x B,deci: 0=x x B;1=x x B.

Demonstraia este imediat. OBSERVAIE. Dac f:BB este un izomorfism de algebre Boole Injective , atunci B este izomorf cu subalgebra Boole f(B) a lui B. Este util s observm c un izomorfism de algebreBoole f:BB verific relaiile: f(xy)=f(x)f(y), f(xy)=f(x)f(y), pentru orice x,y B. Exerciiu. Pentru ca funcia f:BB s fie morfism de algebre Boole este necesar ca s avem f(x y)=f(x) f(y) ,x, y B f(x y)=f(x) f(y) ,x,y B f(1)=1;f(0)=0 . 3.FILTRE . ALGEBRE BOOLE CIT Definiia 1. Fie B o algebr Boole oarecare.O submulime nevid F a lui B se numete filtru, dac pentru orice x,y B avem : (a) x,y F x y F (b) x F,x y y F Dual, un ideal al lui B este o submulime nevid I a lui B pentru care : (a) x,y I x y I (b)y I, x y y I OBSE4RVAIE: Pentru orice filtru F,1 F. Filtrele unei algebre Boole B se pot pune n coresponden bijectiv cu idealele sale. Unui filtru F i se asociaz idealul I F ={x B| x F} Iar f idealului I i se asociaz filtrul. F I ={ x B|y I}. Se observ cu uurina c funciile F I F i I F I sunt inverse una celeilalte. Conform acestei observaii, vom studia numai filtrele unei algebre Boole. Pentru ideale, proprietiole respective se vor enuna prin dualizare. Definiia 2. Fie B o algebr Boole. O relaie de echivalen ~ pe B se numete congruen dac: x~y,x~y x x~y y x~y,x~y x x~y y x~y x~y. OBSEVAIE . Dac ~este o congruen pe B atunci (xx) ~ (yy) x~y,x~y (xx) ~ (yy)

PROPOZIIA 1. Filtrele unei algebre Boole B sunt in coresponden bijectiv cu congruenele sale. Demonstraie: Fiecrui filtru F al lui B i asociem urmtoarea relaie binar pe B: x~ F y (xy) F. Aceast relaie sepote scrie echivalent x~ F y (xy) F i (yx) F. Intr-adevr, aplicm proprietile filtrului i xy=(xy) (yx): (xy) F, (yx) F (xy) (yx) F (xy) F (xy) F, (xy) (xy) (xy) F i analog (xy) F (yx) F. Vom arta c ~ F F este o relaie de echivalen: x~ F x : deoarece (xy)=1 F. x~ F y (xy) F (yx) F y~ F x, folosind inegalitatea evident (xy)=(yx). x~ F y, y~ F z (xy) F i (yz) F Dar (xy) (yz) F x z=x (y y) z = (x y z) (x y z) (x y) (y z) ,

deci avem (xz) (xy) (yz) In mod analog obinem (zx) (zy) (yx) Din ultimile dou relaii se obine (xz) (zx) (xy) (yz) (zy) (yx) sau xy (xy) (yz) F Rezult (xz) F,deci x~ F z . Relaia de echivalen ~ F este o congruen: x~ F y x~ F y x~ F y x~ F y x x~ F y y x x ~ F y y

Presupunnd c x~ F y, x~ F y,avem (xy) F, (xy) F , deci (xy) (xy) F. Avem inegalitile: (xy) (xy)=(x y) (x y) ( x y y) (x y y)=(x x) (y y)=(x x) (y y)=(x x)(y y)

i analog (yx) (yx) (y y)(x x) Din aceste dou inegaliti rezult: (xy) (yx) (xy) (yx) [(x x(y y)] [(y y)(x x)] adic (xy) (xy) (x y)(x y). Va rezulta [(x y)(x y)] F, deci x y~ F x y. Presupunem acum c x~ F y, deci (x y) (y x)=(xy) F. Aadar am artat c x~ F y. Fie x~ F y i x~ F y.Conform celor artate ,x~ F y i x~ F y, deci (x x) ~ F (y y) (x x) ~ F (y y) Din acestea se obine ( x x) ~ F ( y y), adic x x~ y y. Cu aceasta am stability c~ F este o congruen . Reciproc,unei congruene ~ i asociem filtrul
F ={x B|x~1}.
~

Intr-adevr , F este filtru: x,y F x~1,y~1 x y~1 1 x y~1 x y F x y, x F x y=y,x~1 y= x y~1 y=1 (pentru c y~y) y F . Observm c F , edeoarece 1~1 1 F . Dac F B este mulimea filtrelor lui B i C B este mulimea comgruenelor lui B, atunci considerm aplicaiile: : F B C B , : C B F B definite astfel: (F)= ~ F , pentru orice F F B
(~)= F ,pentru orice ~ din C B . Vom arta c , sunt inverse una celeilalte: ( (F))=F ( (~))= ~ Intr-adevr avem relaiile: ( (F))= (~ F )={x|x~ F 1} ={x| (x1) F}={x| x F}=F, deoarece (x1)=(x 1) (0 x)=1 x=x Pentru stabilirea celeilalte relaii, observm c ( (~))=~ F ~ , deci
~ ~ ~ ~ ~ ~

x~ F ~ y (xy) F Dac (xy) F , atunci (xy) F i (yx) F . Conform proprietilor congruenelor avem: (xy) F x y~1
~ ~ ~ ~

(x y) x~1 x (x y) (x y)~x x y~x i analog

(yx) F x y~y Din rezultat x~ F ~ y x~y Reciproc,

x y~x, x y~y, rezult x~y. Aadar a

x ~ y (x y) (y y) (x y) 1 (x y) F x ~ y, deoarece y y =
F

( y y) =1. Am artat c x ~ y x y, adic ( ( ~ )) = ~. Demonstraia este ncheiat.


F

Fie F un filtru n algebra Boole B. Considernd mulimea ct B / ~ nzestrat cu


F

operaiile
x y = x y x y = x y

x = x

i cu elementul 0 i 1 . Conform proprietilor congruenei, aceste definiii nu depind de reprezentani : x ~ F x' ( x y )~ F ( x' y ' ) y ~ F y ' ( x y )~ F ( x' y ' ) x ~ x x ~ F x
F

PROPOZIIA 2. Mulimea B / F = B / ~ F nzestrat cu operaiile de mai sus este o algebr Boole. Demonstraie : Direct din definiia operaiilor lui B / F i din proprietile de algebr Boole a lui B. B / F se numete algebra Boole ct a lui B prin filtrul F . Se poate arta c surjecia canonic p : B B / F definit dup cum tim : x x , este un morfism de algebre Boole. PROPOZIIA 3. Fie f: B B un morfism de algebre Boole. (a) F f ={xB | f (x) =1} este un filtru al lui B. (b) f este injectiv F f = {1} { x | f (x) = 0 } = { 0 }. (c) f(B) este o subalgebr Boole a lui B izomorf cu B / F f Demonstraie : (a) F f are propietile filtrului : x, y F f f ( x y) =f (x ) f (y ) = 1 1 =1 x y F f . x y, x F f 1= f (x ) f (y ) f ( y ) = 1 y F f

f ( 1 ) = 1 1 F f F f . (b) Presupunem f injectiv. Implicaiile x F f f (x ) =1= f (1 ) x = 1 ne dau incluziunea F f {1 }. Cealalt incluziune este evident. Dac F f = {1 }, atunci avem f (x ) = f (y ) f (x y ) = f (x ) f (y ) = 1 x y = 1 x y = ( x y ) = 0 yx Analog se arat c f (x ) = f (y ) x y, deci x = y. Am demonstrat c f este injectiv. Cealalt echivalen este evident. (d) Considerm aplicaia g : B / F f f (B ) definit astfel : g ( x ) = f (x ) f (B ), pentru orice x B / F f . Definiia lui g nu depinde de reprezentani : x~y(xy)Ff
(f( x ) f ( y ))= f (x y ) = 1 f (x ) = f (y ) g este un morfism de algebre Boole :

g ( x y ) =g ( x y ) = f ( x y ) = f ( x ) f ( y ) = g ( x ) g ( y ) Analog se arat c g ( x y ) = g ( x ) g ( y ) ; g ( x ) = g ( x ), g este injectiv Conform (b ), este suficient s artm c F g = {1 } x F g g ( x ) = 1 f ( x ) = 1 x F g


(x 1 ) = x F x

Ff

x =1

Am artat c F g { 1 }, deci F g = {1 }, G este n mod evident i surjectiv : pentru orice y = f ( x ) f ( B ), avem elementul x B /F f pentru care care g ( x ) = f ( x ) = y, Corolar : Dac f : B B este un morfism surjectiv de algebre Boole, atunci B este izomorf cu B /F f .

4. TEOREMA DE REPREZENTARE ALUI STONE

Scopul acestui paragraf este de-a demonstra c orice algebr Boole este iyomorf cu o algebr Boole ale crei elemente sunt pri ale unei mulimi.Acest rezultat ocup un loc central n teoria algebrelor Boole i are importante aplicaii n logic, calculul probabilitilor ( vezi [6] ), ]n topologie etc. Instrumentul principal folosit n demonstraia acestei teoreme va fi conceptul de ultrafiltru. Fie B o algebr Boole, fixat pentru ntreg paragraful. Un filtru F al lui B este propriu dac F B . OBSERVAIE. F este propriu 0 B. PROPOZIIA 1. Dac ( Fi )iI este o familie de filtre ale lui B, atunci Fi este un
i I

filtru al lui B. Demonstraie: x, y Fi x, y Fi , pentru orice i I


i I

x y Fi , pentru orice i I x y Fi
i I

Analog se stabilete i cealalt proprietate din definiia unui filtru. Definiia 1. Dac X este o submulime, atunci filtrul generat de X este intersecia tuturor filtrelor ce include pe X:

filtru, X F } } {F {F F Filtrul generat de X va fi notat (X). PROPOZIIA 2. Dac X , atunci (X)={yBexist x1 ,...., xn X , astfel nct x1 ... xn y } Demonstraie: Dac F0 este mulimea din dreapta, va trebui s artm c F0 este filtru (i) X F0 (ii) (iii) Pentru orice filtru F al lui B, avem X F F0 F . Dac y1 , y2 F0 ,atunci exist x1 ,..., xm X i z1 ,..., zn X astfel nct x1 ... xm y1 i z1 ... zn y2 Rezult x1 ... xm z1 ... zn y1 y2 , deci y1 y2 F0 . Analog se arat: y1 y2 , y1 F y2 F0 , deci F0 este filtru. Proprietatea (ii) este evident. Presupunem acum c F este un filtru astfel nct XF, deci y F0 exist x1 ,..., xn X , x1 ... xn y
exist x1 ... xn F , x1 ... xn y

yF, ceea ce arat c F0 F . Propoziia este demonstrat. Fie F(B) mulimea filtrelor propii ale lui B. F(B) este o mulime parial ordonat n raport cu incluziunea . Definiie: Un element maximal al mulimii parial ordonate (F(B), ) se numeste ultrafiltru. Cu alte cuvinte, un ultrafiltru este un filtru propriu F al lui B cu proprietatea c pentru orice filtru propriu F avem F F F=F PROPOZITIA 3:Pentru orice filtru F exist un ultrafiltru F 0 astfel nct F F 0 . Demonstraie. Fie mulimea filtrelor propri ale lui B ce include pe F . ={FF filtru propriu i FF} Cum FF, avem F , deci . Considerm mulimea parial ordonat (,). Vom arta c (,) este inductiv. Pentru aceasta, fie (F i ) iI o familie total ordonat de filtre din : Pentru orice i,j I , F i F j sau F j F i .

Demonstrm c familia (F i ) iI admite un majorant. Fie F= Fi . Atunci F este filtru:


i I

x,y F i,j I, astfel nct x F i , y F j . Presupunnd, de exemplu, F i F j , rezult x,y F j , deci x,y F j .Se deduce c
x y Fi = F ' .
iI

Analog se stabileste cealalt proprietate din definiia filtrului.Observm c FF, deci F . ns F i F, pentru orice i I, deci F este un majorant al familiei total ordonate (F i ) iI .Asadar (,) este inductiv. Aplicnd axioma lui Zorn, rezult existena unui element maximal al lui (,), adic al unui ultrafiltru F 0 F. OBSERVAIE:Este primul exemplu n care am folosit explicit axioma lui Zorn. Corolar:Dac x0, atunci exist un ultrafiltru F 0 astfel nct x F 0 . Demonstraie: F={y B xy} este un filtru propriu al lui B. Definiia 3.Un filtru propriu F al lui B se numeste prim dac : x y F x F sau y F . Teorema urmtoare caracterizeaz ultrafiltrele algebrei Boole B. Propoziia 4.Fie F un filtru propriu al lui B.Snt echivalente urmtoarele afirmaii: (i) F este ultrafiltru; (ii) F este filtru prim; (iii) Pentru orice xB, avem xF sau xB; (iv) Algebra Boole ct B/ F este izomorf cu L 2 ={0,1}. Deminstraie (i)(ii).Presupunem prin absurd c F nu este prim, deci exist dar y F , y F .Atunci x,zB, astfel nct x y F

F ( F {x}) ( F {x}) = A o ( F {x}) i analog 0 ( F {x}) .

Aplicnd propoziia 2, din 0 ( F {x}) se deduce existena unui element aF, astfel nct a x0, deci a x=0. Analog, exist b F, astfel nct b y=0.Rezult 0=( a x)(b y)=(a b) (a x) (x b) (x y) ns din relaiile aF, bF a bF aF, a a y a yF bF, b x b x bF x yF se obine (a b) (a y) (x b) (x y) F, deci 0F, ceea ce contrazice faptul c F este propriu.Deci F este propriu. (ii) (iii) Din xx=1F, rezult xF sau xF. (iii)(iv) Aplicaia f:BL 2 ,definit astfel: 1, dac x F f ( x) = 0, dac x F este un morfism de algebre Boole.Intr-adevr, avem f(xy)=1 x y F x F i yF (F este filtru) f(x)=1 i f(y)=1, deci f(xy)=f(x) f(y), pentru orice x,yB. De asemenea: f(x)=1 xF xF (conform (iii)). f(x)=0 f(x)=1, de unde rezult f(x)= f(x), pentru orice x,yB. Cum 1F, avem f(1)=1.Din 0 F,rezult f(0)=0.Pentru orice x,yB, vom avea: f(x y)=f((x y))= f(x y)= (f(x) f(y))= (f(x) f(y))=f(x)f(y) deci f este morfism de algebre Boole. Cum f(1)=1, f(0)=0, f este surjectiv. Aplicnd corolarul Propoziiei 2,3, rezult c B/F f este izomorf cu L 2 . Dar F f ={xBf(x)=1}={xBxF}=F, deci B/F i L 2 sunt izomorfe. (iv)(i). Fie B/F L 2 un izomorfism de algebre Boole. Presupunem prin absurd =1 . Am avea c F nu este propriu, deci 0F. Cum (01)=0F, rezult 0~ 1, deci 0
F

)=f( 1 ), deci0=1 n algebra Boole {0,1} ceea ce este absurd. Deci F este propriu. f( 0 Presupunem c exist un filtru propriu F`, astfel nct F F ` . Fie xF`-F.

, deci x=(x1) F, ceea ce este o contradicie. ), atunci x )=1=f( 1 =1 Dac f( x ), deci x . =0 )=0=f( 0 Aadar f( x Rezult x=(x0) FF`

Din xF`,xF` se obine 0=xxF, ceea ce ar fi n contradicie cu faptul c F este propriu. Deci F este ultrafiltru. Suntem acum n msur s demonstrm teorema de reprezentare a lui Stone. PROPOZIIA 5(Stone). Pentru orice algebr Boole B, exist o mulime nevid X i un morfism de algebre Boole injectiv f: BP(X). Demonstraie . Vom nota cu X mulimea ultrafiltrelor lui B i cu f: BP(X), funcia definit astfel: f(x)={FXxF} Pentru orice x,y B, avem echivalenele: Ff(xy) xy F xF sau yF (F este prim) F f(x) sau F f(y) F f(x) f(y) Ff(xy) xy F xF i yF (F este filtru) F f(x) i F f(y) F f(x) f(y) Ff(x) x F x F (Propoziia 3, (iii)) F f(x) F C X f(x) Am artat deci c: f(xy) = f(x) f(y) f(xy) = f(x) f(y) f(x)= C X f(x) Pentru a arta c f este injectiv, vom proba c F f ={1}(vezi Propoziia 3, (b), 3). Presupunem f(x)=X, deci f(x)=. Dac x1, atunci x0. Aplicnd corolarul Propoziiei 3 rezult un ultrafiltru F astfel nct x F, deci Ff(x) =, ceea ce este o contradicie. Aadar x=1. OBSERVAIE: Teorema lui Stone se poate enuna i altfel: Orice algebr Boole este izomorf cu o subalgebr Boole a unei algebre Boole de forma P(X). 5. ALGEBRE BOOLE FINITE Definiia 1. Fie B o algebr Boole. Un element x A se numeste atom dac x0 i dac pentru orice y B, avem implicaia 0 y x y = 0 sau y = x Algebra Boole se numete atomic dac pentru orice x B diferit de 0 exist un atom x, astfel nct a x. B se numeste fr atomi dac nu are nici un atom. Exemplu: ntr-o algebr Boole de forma P(X), orice parte de forma {x}, x X este un atom. Noiunea de atom ne va fi necesar n caracterizarea algebrelor Boole finite. PROPOZIIA 1. Orice algebr Boole finit este atomic. Demonstraie. Fie B o algebr Boole finit care nu este atomic, deci exist a 0 A , a 0 0 i pentru care nu exist nici un atom a 0 .

Construim prin inducie un ir strict descresctor a 0 > a 1 >>a n >.> 0. ntr-adevr, presupunnd c a 0 > a 1 >>a n , atunci exist a n +1 , cu proprietatea c a n > a n +1 >0 (dac nu exist nicu un element a n +1 cu aceast proprietate, ar rezulta c a n este un atom i a n < a 0 , ceea ce contrazice ipoteza fcut ). Dar existena irului strict cresctor a 0 > a 1 >>a n >.> 0 contrazice faptul c B este finit. Deci B este atomic. PROPOZIIA 2.Dac B este o algebr Boole finit cu n atomi a 1 ,..,a n , atunci B este izomotf cu P({a 1 ,..,a n }). Demonstraie :Fie A= { a 1 ,..,a n }. Comsiderm funcia f: B P(A) definit de f(x)= {a Aa x }, pentru orice x B. Artm c f(xy)=f(x)f(y). Incluziunea f(x) f(y) f(x y) este evident: a f(x) f(y) a x sau a y a x y a f(x y) . Presupunnd prin absurd c incluziunea cealalt nu are loc, va exista a f(x y) i a f(x), a f(y). Atunci avem a > x, a > y deci a x < a, a y < a. Cum a este atom, rezult c a x = 0 i a y = 0 deci a (x y) = (a x) (a y) = Din a f(x y) rezult a x y, deci a (x y)= a. Ar rezulta a = 0, ceea ce contrazice faptul c a este atom. Deci i incluziunea cealalt este adevrat. Vom stabili acum egalitatea f(x y) = f(x) f(y) : a f(x y) a x y a x i a y (conform definiiei infimului) a f(x) i a f(y) a f(x) f(y) Avem i relaiile : f(0) = : deoarece nu exist nici un atom a astfel nct a 0. f(1) = A : deoarece a 1, pentru orice a A Am demonstrat c f este morfism de algebre Boole. Pentru a arta c f este injectiv este suficient s artm c : f(x) = X x = 1 sau, echivalent, f(x) = x = 0 Presupunnd x 0, atunci, B fiind atomic, exist a A astfel nct a x, deci a f(x). Cu alte cuvinte, x 0 f(x) . A rmas s artm surjectivitatea lui f. Fie X A, deci X are forma X={ a i1 ,, a iK }, 1 i1 << i k n. Notm x = a i1 a iK . Vom arta c f(x) = X. Din a i1 x, , a iK x rezult a i1 f(x), , a iK f(x), deci X f(x). Presupunnd a f(x), avem a x, deci a = a x = a [ a i1 a iK ]= (a a i1 ) (a a iK ) Exist un indice j { i1 ,., i k }, astfel nct a a j 0.

Astfel, am avea a a i1 = = a a iK = 0 a = 0

( absurd)

Cum a, a j sunt atomi, rezult a= a j . ntr-adevr, dac a a j am avea 0 < a


a j < a, ceea ce contrazice faptul c a este atom . Aadar a = a j X, ceea ce stabilete

incluziunea f(x) X. n concluzie , f este un izomorfism. PROPOZIIA 3 . Pentru orice algebr Boole B, sunt echivalente afirmaiile : (i) B esteatomic Pentru orice a B, avem a = {x x a, x atom al lui A} (ii) Demonstraie (i) (ii) . Fie a B. Este evident c a este un majorant al familiei X a = {xx a, x atom al lui A}. Presupunem c b este un alt majorant al acestei familii. Dac a b, atunci a b 0, dac exist un atom x cu x a b. Atunci x a, deci x X o , de unde rezult c x b. Am obinut contradicia x b b = 0, deci a b. Am artat c a este cel mai mic majorant al lui X a . (ii) (i). Evident. Corolar. Dac B este atomic i are un numr finit de atomi, atunci B este finit. Demonstraie. Conform propoziiei precedente, orice element a B este supremul mulimii X a a atomilor a. Din ipotez rezult c X a este ntotdeauna o submulime a unei mulimi finite, deci B este finit. Exerciiu. Fie A, B dou algebre Boole finite. Atunci A, B sunt izomorfe dac i numai dac card A= card B. Indicaie: Se aplic Propoziia 2. 6.PRODUS DIRECT DE ALGEBRE BOOLE Dac ( Bi ) iI este o familie de algebre Boole, atunci produsul cartezian poate fi nzestrat cu urmtoarele operaii: ( xi ) iI ( xi ) iI = ( xi y i ) iI ( xi ) iI ( y i ) iI = ( xi y i ) iI ( xi ) iI =( xi ) iI . Considerm n

B
iI

B
iI

elementele 0 i 1 definite de :

0 = ( xi ) iI , cu xi = 0 B i , pentru orice i I 1 = ( xi ) iI , cu xi = 1 B i , pentru orice i I. PROPOZIIA 1

B
iI

este o algebr Boole fa de operaiileintroduse mai sus.

Demonstraie : Se verific foarte simplu propietile din definiia algebrei Boole. Bi se numete produsul direct al familiei ( Bi ) iI .
iI

Observaie : Proieciile canonice i : Bi B, i I sunt morfisme de algebre


iI

Boole. PROPOZIIA 2. Fie ( Bi ) iI o familie de algebre Boole. Atunci pentru orice algebr Boole A i pentru orice familie de morfisme de algebre Boole

B
iI

i
Bi

{ f i : A Bi }iI exist un unic morfism de


iI

algebre Boole f : A Bi astfel nct urmtoarele diagrame sunt comultative

f A

f i (iI)

Demonstraie: Din Cap.I, 5, Propoziia 1 tim c exist o mic aplicaie f : A Bi , definit


iI

f(x)= ( f i ( x)) iI Bi
iI

care face comutativ diagrama de mai sus. Rmne de artat c f este morfism de algebre Boole. Vom proba numai c f(x y) = f(x) f(y), pentru orice x,y A. ntr-adevr, avem : f(x y) = (f i (x y) ) iI = (f i (x) f i (y)) iI = (f i (x)) iI (f i (y)) iI = f(x) f(y). Rezultatul urmtor arat c Propoziia 2 caracterizeaz produsul direct de algebre Boole. PROPOZIIA 3: Fie ( Bi ) iI o familie oarecare de algebre Boole. Considerm o algebr Boole B i o familie de morfisme de algebre Boole { pi : B Bi }iI cu urmtoarea propietate : (*) Pentru orice algebr Boole A i pentru orice familie de morfisme de algebre Boole { f i : A Bi }iI exist un mic morfism de algebre Boole f: A B astfel nct diagrama urmtoare este comutativ :

B f

Bi fi

pentru orice i I. n aceste condiii, B este izomorf cu

B
iI

A Demonstrie : Conform Propoziiei 2, exist un mic morfism de algebre Boole f : B Bi , astfel nct 0 of = pi , pentru orice i I, iar din (*) rezult existena unui mic morfism de algebre Boole g : Bi B astfel nct pi og = i pentru orice i
iI iI

I:

B
iI

Bi pi B

g f

Vom arta c f,g sunt inverse unul celuilalt. Observm c urmtoarele diagrame sunt comutative : i pi

B
iI

Bi

B
go f

Bi
pi

f og

B
iI

(I) ( II ) pentru orice i I. ntr-adevr, avem relaiile : i o ( f o g ) = ( i o f ) o g = pi o g = i , i I pi o ( f o g ) = ( pi o f ) o g = i o g = pi , i I ns avem i urmtoarele diagrame comutative: i pi

B
iI
i I

Bi

Bi

1 B i

1B
B

pi

B
iI

( I ) ( II ) pentru orice i I. Conform unicitii exprimate n propoziia 2, rezult : f o g = 1 B i analog, din i (*), rezult g o f = 1b . Deci B i

B
iI

i I

sunt izomorfe.

OBSERVAIE. Proprietatea (*), care dup cum am vzut caracterizeaz produsul direct de algebre Boole poart numele de propietatea de universalitate a produsului cartezian. Dac B i =B, pentru orice i I, atunci vom nota B I = Bi . Vom nota cu Hom
iI

(B,B) mulimea morfismelor de algebre Boole f: B B. Lema 1. Mulimea ultrafiltrelor unei algebre Boole B se poate pune n coresponden bijectiv cu mulimea Hom (B, L 2 ), unde L 2 este algebra Boole {0,1}. Demonstraie : Fiecrui ultrafiltru F al lui B i asociem morfismul de algebre Boole f F : B L2 . 1, daca x F f F ( x) = 0, daca x F

Reciproc, fiecrui morfism de algebre Boole f F : B L2 I se asociaz

M f = f 1 ({1}) = {x B | f ( x) = 1}.
Se poate arta c M f este un ultrafiltru al lui B. Funciile f M f , F f F sunt inverse una cu cealalt. Lsm cititorului ca exerciiu detalierea acestei propoziii. Fie acum B o algebr Boole oarecare. Conform propietii de universalitate a produsului direct rezult un mofism de algebre Boole Hom (B, L 2 ) : B L2 care face comutative diagramele: Hom (B, L 2 ) B L2 f f L2 Pentru orice f Hom (B, L 2 ) PROPOZIIA 3 : este injectiv. Demonstraie: Vom arta c: ( x ) = 0 x = 0. Dac ( x ) = 0 , atunci f (x ) = f ( ( x )) = f (0 ) = 0 , pentru orice f Hom(B, L2 ). Presupunerem prin absurd c x 0, deci exist un ultrafiltru F al lui B, astfel nct x F , Atunci, conform demonstraiei Lemei 1, avem un morfism f F .B L2 astfel nct: f F (x ) = 1 (deoarece x F ). Contradicia este evident.
X PROPOZIIA 4: Pentru orice mulime X , L2 este o algebr Boole izomorf cu P( X ) . Demonstraie: n demonstraie Propoziia 4. 6, Cap.1 am artat c funcia X P( x ) L2 (B ) = B . X L2 . Pentru orice B P( X ) este o bijecie. Relaiile urmtoare: AU B = A B

AB = A B C (B ) = 1 X (B ) arat c este un morfism de algebre Boole. Deci este izomorfism.


X

( B , L2 ) OBSERVAIE: Conform Propoziiei 4, LHom i P(Hom(B, L2 )) snt izomorfe, 2 deci Propoziia 3 de mai sus poate fi considerat ca o exprimare echivalent a teoremei de reprezentare a lui Stone. Demonstraia Propoziiei 3 nu este esenial diferit de cea a teoremei lui Stone, n ambele demonstraii intervenind cam n acelai mod proprietile ultrafiltrelor.

7. ALGERE BOOLE NUMARABILE Fie A o algebr Boole oarecare i a A. Vom nota A a = {x A x a}.

Atunci A a este o algebr Boole fa de operaiile: x y = x y x y = x y x = a x o = o 1 = a PROPOZIIA 1. Pentru orice a A , A este izomorf cu produsul direct ( Aa )x( A a ) Demonstraie: Considerm funcia f: A ( Aa )x( Aa ) definit astfel: f ( x ) = ( x a, x a ) f este un morfism de algebre Boole: f ( x y ) = (( x y ) a, ( x y ) a ) ) = (( x a ) ( y a ), ( x a ) ( y a )) F = ( x a, x a ) ( y a, y a ) = f (x ) f ( y ) f ( x y ) = (( x y ) a, ( x y ) a ) = (( x a ) ( y a ), ( x a ) ( y a )) = ( x a, x a ) ( y a, y a ) = f (x ) f ( y ) f (x ) = (x a, x a ) = f ( x ), conform negaiilor din algebrele Boole A a i A a , f este o injecie:

f este subjecie: pentru orice ( y, z ) ( A a )x( A a ), avem y a, z a, deci


y a = y , z a = 0, y a = 0, z a = z. De aici rezult: f ( yz ) = (( y z ) a, ( y z ) a ) = (( y a ) ( z a ), ( y a ) ( z a )) = ( y 0,0 z ) = ( y, z )

f ( x ) = 0 ( x a, x a ) = (0,0) x a = 0 i x a = 0 ( x a ) ( x a ) = 0 x = x 1 = x (a (a a )) = (x a ) ( x a ) = 0

PROPOZIIA 2. Fie R o relaie binar ntre algebrele Boole cel mult numrabile 1 ) astfel nct urmtoarele relaii snt verificate: (i) ARB BRA

(ii) ARB cardA = cardB existab B, astfelincit ( A a )R (B b ) (iii) ARB, a A si ( A a )R (B b ) n aceste condiii, ARB A, B snt izomorfe. Demonstraie. Presupunem ARB. Distingem dou cazuri: A este finit sau numrabil. Presupunem nti c A este finit. Conform (ii), rezult c b este finit i are acelai numr de elemente cu A, deci A i B snt izomorfe. Presupunem acum c A este numrabil, deci, conform (ii), i B este numrabil: A = {a 0 , a1 ,....., a n ,.....} B = {b0 , b1 ,....bn ,.....} Vom defini dou iruri {x0 , x1 ,.....xn ,.....} A {y 0 , y1 ,..... y n ,.....} B astfel pentru orice m 1 i pentru orice t N m = {0,1,..., m 1}, s avem
RB y i y i A xi x i it iN it iN m t m t Fie x 0 = a 0 i, conform (iii), putem alege y 0 B astfel nct

(1)

(A x )R(B y ) i (A x )R(B y )
0 0 0 0

Din (1) se verific pentru m = 1. Presupunem x1 i y1 definii pentru orice i n i (1) este verificat pentru orice m n . Pentru orice i N n , notm

u t = xi xi it iN n t y1 = y i y it iN m t Vrem s definim pe x m , y m astfel nct (1) s fie verificat pentru orice


s N n +1 .

Presupunem c n este par. Fie j cel mai mic numr natural cu proprietetea c b j {yi i n}. Vom pune y n = b j . Pentru orice t N n , avem ( A u t )R(B vt ) , deci

(B v )R(A u ) conform (i). Aplicnd (iii), exist [(B v )(v y )]R[(A u ) w ] [(B v ) (v y )]R[(A u ) w ]
t t t t n t t
n

wt A u t astfel nct

Aplicnd din nou (i) rezult [(A ut ) wt ]R[(B vt )(vt y n )]

[(A u ) w ]R[(B v ) (v
, ,,
t t t

yn )

Am notat cu , , ,, negaiile n algebrele Boole A u t i B vt . Din aceste relaii, rezult: [(A wt )]R[B (vt y n )] (2)

[A (u

wt )]R[B (vt y n )] ,

deoarece wt u t .

Vom nota x = wt . Vom demonstra acum (1) pentru m = n + 1 . Pentru orice


t n

submulime s a lui N n +1 distingem dou cazuri:

Cazul 1: N s . Atunci s se poate scrie sub forma s = t U {n}, cu t N n . Atunci avem relaiile: x i x i = u t x n is iN n +1 s y i x i = v t y n is iN n +1 s , Dac t N n i t = t , , atunci u t u t , = 0 , deci u t x n = wt . Atunci din (2)

rezult relaia (1) pentru m = n + 1, t = s . Cazul 2: n s . Atunci s N n , deci


x i x i = u s x n is iN n +1 s y i y i = v s y n is iN n +1 s

Cum u s x n = u s ws , vom aplica i n acest caz relaia (2). Pentru n impar, se procedeaz la analog, inversnd pe A i pe B, pe a i pe b, pe xi i pe y i . Aplicnd relaia (ii), din relaia (1) rezult n particular: (3) x i x i = 0 y i y i = 0 it it iN m t iN m t m N i t N m . pentru orice Pentru orice i, j N , vom arta c (4) xi x j y i y j . Fie m = max (i,j)+1. Se poate arta prin inducie asupra lui m: x x i =1 i i t N m it N t m

De aici se deduce xi x j = x k x k t m, i m, i t , j t kt kN m t i analog y i y j = y k y k t m, i t , j t kt kN m t Cu ajutorul acestor relaii, avem (3) (4). Prin inducie, se poate arta c pentru orice i N , avem ai {x0 ,..., x 21 } bi {y 0 ,..., y 21+1 }. (5) Definim f: A B prin f ( xi ) = y i . Din (4) i (5) se deduce c f este un izomorfism de algebre Boole. Coroloar: Orice dou algebre Boole numrabile i fr atomi snt izomorfe. Demonstraie: Dac A,B snt dou algebre Boole cel mult numrabile notm: cardA = cardB = 1 sau ARB A, B sin tnumarabile; sifaraatomi
Se arat uor c R verific proprietile (i) (iii) din Propoziia 2.
8. TEOREMA RASIOWA-SIKORSKI Fie B o algebr Boole oarecare i ( xi )iI o familie oarecare de elemente ale lui B. Lema 1. Presupunem c exist n B infismul xi al familiei ( xi )iI . n acest caz,

exist n B supremul familiei (xi )iI i este dat de x i = x i


iI iI

iI

Demonstraie. Pentru orice j I , din inegalitatea


x j x i ,
iI

x
iI

x j va rezulta

deci xi este un majorat al familiei (xi )iI .


iI

Presupunem acum c xi y , pentru orice i I . De aici rezult y xi , pentru orice i I , deci , conform definiiei lui xi , avem
y x i .
iI iI

Obinem din aceast relaie xi y = y deci xi este cel mai mic majorant al familiei (xi )iI .
iI iI

Lema 2. Dac n B exist

x , atunci n B exist x i este dat de


iI i iI i

x
iI

= xi .
iI

Demonstaie: Analoag cu cea a Lemei 1. OBSERVAIE. Cele dou leme de mai sus reprezint generalizarea legilor lui organ pentru algebrele boole. Definiia 1. O algebr Boole se numete complet , dac pentru orice familie (xi )iI de elemente ale lui B exist xi i xi .
iI iI

PROPOZIIA 1 Snt echivalente afirmaiile urmtoare: (i) B este o algebr Boole complet. Orice familie ( xi )iI de elemente ale lui B admite supremum. (ii) (iii) Orice familie ( xi )iI de elemente ale lui B admite infimum. Demonstaie: Vezi Lema 1 i Lema 2. PROPOZIIA 2. (Rasiowa Sikorski). Fie o algebr Boole i An = {x ni i N }, n N un ir de submulimi numrabile ale lui B, astfel nct pentru orice n N exist urmtorul infimum a n = x ni
iN

n aceste condiii, pentru orice y B, y 0 exist un ultrafiltru F al lui B, astfel nct y F i pentru orice n N avem: x ni F , pentru orice i N a n F . Demonstraie. Vom construi prin inducie un ir din B: b1 , b2 ,..., bn ,... astfel nct (1) bn An , pentru orice n N . (2) y (a1 b1 ) ... (a n bn ) 0 , pentru orice n N . Presupunem prin absurd c pentru orice b A1 , avem y (a b ) = 0 . Deci ( y a1 ) ( y b) = 0 de unde rezult y a1 = 0 i y b = 0 , pentru orice b A1 .

Avem egalitile: b = ( y b ) b = ( y b ) (b b = ) = ( y b) 1 = y b . De unde rezult y b, pentru orice b A1 . Aceasta nu nseamn altceva dect c y x1i = a1 .
iN

Rezult y = y a1 = 0 , cea ce este o contradicie. Deci va exista b1 A1 , astfel nct:

y (a1 b1 ) 0 . Deci (1) i (2) au fost verificate pentru n = 1 . Presupunem c am gsit elementele b1 ,..., bn B , astfel nct (1) b1 A1 ,..., bn An (2) y (a1 b1 ) ... (a n bn ) 0 . Presupunem prin absurd c pentru orice b An +1. , avem
y (a1 b1 ) ... (a n bn ) (a n +1 b ) = 0

Notnd

z = y (a1 b1 ) ... (a n bn ) 0 , avem z (a n +1 b ) 0 . Prin acelai raionament ca mai sus, cu z n locul lui y, rezult contradicia z=0. Deci exist bn +1 An +1 , astfel nct y (a1 b ) ... (a n bn ) (a n +1 bn +1 ) 0 . Cu aceasta, inducia este terminat. Considerm urmtoarea mulime: M = {y, y (a1 b ),..., y (a1 b1 ) ... (a n bn ),...} M este un ir descresctor: y y (a1 b ) ... y (a1 b1 ) ... (a n bn ) .. . Filtrul lui B generat de M este: (M ) = {x L existaz1 ,..., z m M , z1 ... z n x} . Vom arta c (M) este filtru propriu. Presupunnd prin absurd c (M) nu ar fi propriu, am avea 0 (M ) , deci ar exista z1 ,..., z m M , astfel nct z1 ... z m = 0 . Cum elementele lui M formeaz un ir descresctor, vom putea ordona mulimea {z1 ,..., z m }:
z i1 z i2 ... z im

Se subnelege c z i1 , z i2 ,..., z im snt elementele z1 ,..., z n n alt niruire, deci


0 = z1 ... z m = z i1 z i2 ... z im = z i1 .

Conform (2), toate elementele lui M snt nenule, deci z i1 0 . Contradicia este evident. Deci (M) este propriu.

Vom putea atunci considera un ultafiltru F al lui B astfel nct: y M (M ) F . Pentru orice n N , avem: y (a1 b1 ) ... (a n bn ) F a n bn F , conform definiiei filtrului. Rezult a n bn F ,pentru orice n N . Cum orice ultrafiltru este filtru prim rezult a n F sau bn F . Dac x n1 F , pentru orice i N , atunci n particular bn F , deci nu putea avea

bn F , datorit faptului c F este propriu. Vom avea deci a n F . Demonstria este terminat, cealalt implicaie fiind evident. Forma dual a teoremei Rasiowa-Sikorski este urmtoarea: PROPOZIIA 3. Fie B o algebr Boole i An = {x ni i N }, n N un ir de submulimi numrabile ale lui B, astfel nct pentru orice n N exist a n = x ni
iN

n aceste condiii, pentru orice y B , y 0 exist un ultrafiltru F al lui B astfel nct y F i pentru orice n N avem: a n F existai N , astfel nct x ni F . Demonstaie: Fie irul de submulimi ale lui B: . An = {x ni i N }, n N . Conform Lemei 2, exist . an = x ni = x ni = a n
iN iN

Aplicnd propoziia precedent, va exista un ultrafiltru F al lui B astfel nct y F i pentru orice n N s avem: . x ni F , pentru orice i a n F. Pentru orice n N , vom avea deci urmtoarele implicaii . an F an = a n F existai N , astfel nct x ni F existai N , astfel nct x ni F . Definiia 2. Se numete - algebr orice algebr Boole B n care exist x n i x n pentru orice familie numrabil ( xn )nN din B. Cu ajutorul teoremei Rasiowa-Sikorski se poate stabili o teorem de reprezentare pentru - algebrele Boole numrabile.
nN nN

PROPOZIA 4. Dac B este o o algebr Boole numrabil, atunci exist o mulime X i un morfism de algebre Boole f: B P( x ) injectiv nct pentru orice familie ( xn )nN de elemente ale lui B s avem:
f x n = U f (x n ) nN nN

f xn = I f (x n ) nN nn Demonstaia acestei teoreme se face n maniera demonstraiei teoremei de reprezentare a lui Stone.

III Logica propoziiilor


Omul este msura tuturor lucrurilor; a lucrurilor care exist, pentru c exist; a lucrurilor care nu exist, pentru c nu exist. Protagoras

1.1 Introducere
Pn n anul 1850, demonstraiile matematice s-au bazat pe experien i intuiie i au fost acceptate n general n aceast form. Leibniz a fost primul care a evideniat, nc din 1666, necesitatea unui limbaj formal, numit caracteristic universal, care ar trebui creat i utilizat n formulrile matematice i metodologia matematic. Cu toate acestea, ideile lui au fost prea avansate pentru acele timpuri i nu s-au concretizat dect mult mai trziu. Dezvoltarea iniial a unui limbaj formal matematic este atribuit lui Boole, doua sute de ani mai trziu, pe baza lucrrilor Analiza matematic a logicii, publicat n 1847, i Legile gndirii, publicat n 1854. De Morgan a contribuit de asemenea la eforturile de creare a unui astfel de formalism cu publicaiile sale din 1847 i 1864, la fel ca Pierce n 1867 i Frege n 1879, 1893 i 1903. Publicarea lucrri n trei volume Principia Mathematica (Principii matematice) a autorilor Russel i Whitehead a marcat ncununarea acestor eforturi, deoarece a prezentat un sistem logic n a\cadrul cruia se formaliza matematica i n care toate teoremele erau derivate pe baz de axiome i reguli logice. Logica s-a dezvoltat ca o tiin independent dup 1920, prin reprezentaii ei de marc Lukasiewicz (1878-1956), Lewis (1883-1964), Gdel (1906-1978), Tarski (19011983), Church (1903-1995) i Kleene (1909-1994). ncepnd cu anii 50, tehnologia calculatoarelor a artat cum poate fi folosit calculatorul pentru efectuarea prelucrrilor simbolice. O soluie a acestei probleme a fost dat de programarea funcional, creat de McCarthy alturi de ali cercettori i utilizat mai ales n Statele Unite ale Americii. O alt soluie a fost oferit de programarea logic, creat mai ales n Europa, printre alii de Colmerauer i Kowalski. Programarea logic a dat logicii un nou impuls; pe baza programrii logice s-au rezolvat numeroase problemelegate de forma expresiilor logice care permit automatizarea realizrii deduciei i a procedurilor de judecat logic. Programarea logic a oferit, de asemenea, rspunsuri la ntrebri referitoare la natura i mecanismele procedurilor logice executabile pe calculator.

Pentru a nelege logica trebuie s examinm, n primul rnd, cum sunt formalizate propoziiile logice i matematice. Conectorii logici formeaz elementele de baz ale unei astfel de formalizri, aa cum se poate vedea din exemplele urmtoare. (1) Conjuncia este formalizat prin . S presupunem c tim urmtoarele dou proprieti ale unui anume x: A: B: x>3 x<10

Atunci tim despre x c este mai mare dect 3 i mai mic dect 10. Cu alte cuvinte, cunoatem propoziia: AB unde conectorul logic corespunde conjunciei gramaticale i. Propoziia AB indic faptul c x>3 i x<10, ceea ce nseamn 3<x<10. (2) Negaia este formalizat cu ajutorul simbolului . De exemplu, s considerm propoziia: C: 50 este divizibil cu 7. C nseamn n acest caz: 50 nu este divizibil cu 7 . (3) Disjuncia este reprezentat prin simbolul . Dac D i E sunt propoziiile: D: 60 este multiplu de 6 E: 60 este multiplu de 5 Atunci propoziia: DE spune c 60 este multiplu de 6 sau 60 este multiplu de 5. Simbolul nu este exculsiv, deoarece 60 este att multiplul lui 6 ct i al lui 5, aa cum 60 este i un multiplu al lui 20, dei acest fapt nu se menioneaz n propoziiile D sau E. (4) Implicaia dac atunci este reprezentat n logic prin . Dac F i G sunt propoziiile: F: numrul a este un multiplu de 10 G: numrul a este multiplu de 5 atunci propoziia: spune c dac a este multiplu de 10, atunci este multiplu de 5.

(5) Dac i numai dac se reprezint prin simbolul de echivalen . De exemplu, dac H i I sunt propoziiile: H: 16 este multiplu de 2 I: 16 este numr par Atunci putem scrie formal: HI Conectorii logici pot avea proprieti diferite. n exemplul propoziiilor A i B, a scrie AB nu difer conceptual de BA. Astfel, intuitiv, conectorul logic pare s fie comutativ i acelai lucru este valabil i pentru . Nu se poate ns spune la fel despre conectorul : propoziia G F, dac a este multiplu de 5, atunci a este multiplu de 10, nu pare a fi corect deoarece 15 este multiplu de 5, dar nu i de 10. n consecin, trebuie s studiem proprietile conectorilor logici. Exist, de asemenea, diverse tipuri de propoziii. De exemplu, propoziii cum ar fi: 6 este multiplu de 6 7 este mumr prim un numr raional este egal cu 0 sau este diferit de 0 sunt propoziii bune, adic corecte, propoziii ca: 50 este un numr impar 50 este divizibil cu 7 dac x=3 atunci x=5 sunt propoziii greite sau eronate, n timp ce propoziii cum ar fi: Acum plou mi este foame x este egal cu valoarea sa absolut sunt n anumite cazuri propoziii corecte, iar n alte cazuri sunt eronate. Intuitiv, fiecare propoziie are o anumit interpretare: aceasta poate exprima adevrul sau falsul, ceea ce nseamn c poate fi adevrat sau fals . Dar pe ce criterii este o propoziie adevrat? Care este relaia ntre interpretarea unei propoziii compuse i interpretarea propoziiilor care o compun? i ce rol joac conectorii logici n aceast interpretare? Trebuie s studiem interpretrile propoziiilor i s determinm rolul conectorilor logici n aceste interpretri. Propria noastr logic ne permite s lum decizii i s ajungem la diverse concluzii. De exemplu, spunem dac x>3 atunci x>0 sau, formal: (x>3) (x>0)

S presupunem c x>3. Atunci x>0. Ce regul ne permite s deducem x>0 atunci cnd presupunerea x>3 este valid? i are aceast regul o valabilitate general, cu alte cuvinte dac M N este valid, este propoziia N valid? Fie acum un alt exemplu. tim c pentru a merge la film este nevoie de bani pentru a cumpra bilet. film bani pentru bilet (1) S presupunem c nu avem destui bani pentru a cumpra bilet: (bani pentru bilet) (2)

Este posibil s mergem la film? Care este impactul negaiei? Ce form va lua (1) n cazul apariiei negaiei? (film) (bani pentru bilet)? sau (film bani pentru bilet)? sau (bani pentru bilet) (film)? i ce concluzie poate fi obinut dac (1) i (2) sunt valide? Pentru a putea rspunde la aceste ntrebri trebuie s examinm sintaxa propoziiilor i regulile care determin cnd i cum putem deduce concluzii valide din premise pe baza informaiilor disponibile. Logica propoziiilor, la fel ca i logica predicatelor, care este mai complex, se ocup de aceste probleme. n capitolul de logica propoziiilor (LP) vom examina propoziiile LP att din punctul de vedere al sintaxei ct i al semanticii. Vom studia de asemenea metode de deducere a concluziilor din premise i vom stabili formele adecvate ale propoziiilor LP pentru reprezentarea cunotinelor, a procedurilor de decizie i pentru demonstrarea automat a teoremelor n programarea logic.

3.2.

Limbajul logicii propoziiilor

Alfabet, sintax i semantic Limbajul logicii propoziiilor (LP) este un lmbaj formal. Prin intermediul acestui limbaj formalizm acea parte a limbajului cotidian care este necesar conceptelor logice i matematice. O dat formalizate diverse propoziii cu ajutorul acestui limbaj, trebuie s examinm aceste propoziii din punctul de vedere al structurii i validititii lor. Pentru fiecare limbaj formal exist: (a) un alfabet ce conine toate simbolurile limbajului;

(b) o sintax care stabilete cum sunt utilizate simbolurile i care este forma corect a propoziiilor din limbaj; (c) o semantic, pe baza creia se stabilete interpretarea i semnificaia simbolurilor din limbaj. Alfabetul limbajului logicii propoziiilor conine: (i) (ii) (iii) Simboluri propoziionale: A, A1, A2, , B, B1, B2 Conectori logici: , ^, , , Virgule i paranteze: , i ( , )

Conectorii logici corespund intuitiv conjunciilor gramaticale utilizate n limbajul curent. Avem astfel urmtoarea coresponden: , ^, , , , disjuncie: sau conjuncie: i implicaie: dac atunci echivalen: dac i numai dac negaie: non

Orice secven de simboluri ce aparine alfabetului unui limbaj se numete expresie. De exemplu, AB, AB, A sunt expresii n limbajul logicii propoziiilor. Anumite expresii bine formate sunt considerate drept propoziii corecte din punctul de vedere al sintaxei limbajului. Urmtoarea definiie stabilete conceptul de propoziie i descrie legile sinctactice ale limbajului LP. Definiia 3.2.1: Definiia inductiv a propoziiilor: (i) (ii) (iii) Simbolurile propoziionale sunt propoziii , numite propoziii atomice sau atomi. Dac , sunt propoziii, atunci expresiile ( ^ ), ( ), ( ), (), () sunt de asemenea propoziii numite propoziii compuse. Expresiile construite conform regulilor (i) i (ii) sunt singurele expresii din limbaj care sunt propoziii.

Expresiile AB i A nu sunt deci propoziii, deoarece ele nu sunt construite conform regulilor (i) i (ii), n timp ce (AB) i ((A) (B(C)) sunt propoziii. Definiia de mai sus folosete metoda induciei pentru a defini propoziii compuse; (i) este primul pas i (ii) este pasul inductiv. Inducia se face dup lungimea logic i structura propoziiilor. Prin lungime logic a unei propoziii A nelegem un numr natural ce reprezint numrul, tipul i ordinea de apariie a conectorilor logici folosii pentru construcia lui A pornind de la propoziiile anatomice ce apar n A. tim c principiul induciei matematice este valabil pentru numerele naturale:

Definiia 3.2.2: Dac P(a) este o proprietate a unui numr natural a i dac avem: (1) P(0), i (2) Pentru orice numr natural n, dac P(n) este adevrat atunci putem demonstra c P(n+1) este adevrat, Atunci putem concluziona c pentru toate numerele naturale n, P(n) este adevrat. Relaia de ordine ce se definete pe mulimea numerelor naturale (pentru care este satisfcut proprietatea conform creia orice submulime nevid de numere naturale are u cel mai mic element) mpreun cu principiul induciei conduc la o a doua form de inducie, numit inducie complet. Definiia 3.2.3: Inducie complet Dac P(a) este o proprietate a unui numr natural a i dac avem: (1) P(0), i (2) Pentru toate numerele naturale n i m, astfel nct s m<n, putem obine P(n) din P(m), atunci pentru toate numerele naturale n, P(n) este adevrata. Am folosit inducia complet pentru a enuna definiia inductiv a propoziiilor (definiia 1.2.1) i o vom folosi din nou pentru a enuna urmtoarea definiie. Definiia 3.2.4: Schema general a induciei pentru propoziii: Fie P o proprietate propoziional. Vom scrie P() pentru a spune c propoziia are proprietatea P. Dac demonstrm c: (a) P(A) este adevrat pentru orice atom A din limbaj, (b) Dac 1, 2 sunt propoziii i P(1), P(2), atunci P((1^2)), P((12)), P((12)), P((12)), P((1)) i P((2)), putem concluziona P() pentru orice propoziie din limbaj. Exemplul 3.2.5: (i) Proprietatea P: numrul de paranteze deschise este egal cu numrul de paranteze nchise este adevrat pentru toate propoziiile LP. ntr-adevr, conform schemei generale a induciei, avem:

(a) n simbolurile propoziionale numrul de paranteze deschise i nchise este egal cu 0; (b) Dac n propoziiile 1 i 2 numrul de paranteze deschise este egal cu numrul de paranteze nchise fie n i m acete numere pentru 1 i respectiv, 2 atunci, n propoziiile (1^2), (12), (12), (12), (1) i (2) numrul parantezelor deschise este egal cu numrul parantezelor nchise, care este n+m+1. (ii) Expresia E: ((A^B)C) este o propoziie. Demonstraia se bazeaz pe definiia 1.2.1: Pasul1: A^B este o propoziie conform definiiei 1.2.1 (ii) Pasul2: (A^B) este o propoziie conform definiiei 1.2.1 (ii) Pasul 3: C este o propoziie conform definiiei 1.2.1 (i) Pasul 4: ((A^B)C) este o propoziie coform definiiei 1.2.1 (ii) (ii) Expresiile de mai jos nu sunt propoziii: : simbolul nu este un atom ^ A: simbolul ^ nu este o propoziie (A^B : exist un numr incorect de paranteze Exemplul 3.2.6: Se consider propoziia F n limbaj cotidian: F: Dac nu plou atunci merg la plimbare

Pentru a formaliza aceast propoziie n LP se pot folosi simboluri propoziionale auxiliare: A: Plou B: Merg la plimbare Atunci F devine ((A)B), aceasta fiind o propoziie. Dac nu exist riscul unei confuzii, parantezele pot fi omise: F: AB

Fiecare atom care apare ntr-o formul bine format D este considerat o subformul a lui D. De exemplu, A i B sunt subformule ale lui F n exemplul 1.2.6. Mai mult, fiecare parte compus bine format a unei formule D este o subformul a lui D. De exemplu, dac:

D:

(A^ B)[(C A) B]

atunci A, C A, A ^ B i (C A) B sunt subformule ale lui D. n plus, chiar D, adic (A^ B) [(C A) B],este considerat o subformul a lui D. Mulimea subform() a tuturor subformulelor unei formule bine formate este stabilit de urmtoarea definiie inductiv: Definiia 3.2.7: (1) dac este un atom A, atunci: subform() = {A} (2) dac este de forma , atunci: subform() = subform() {} (3) dac este de forma o , unde o { , ^, , }, atunci: subform()=subform() subform() {}. Observaia 3.2.8: Pentru a evita confuzia n cazul utilizrii conectorilor n formule fr paranteze, considerm ca avnd cea mai mare prioritate, i ^ ca avnd prioritate mai mare dect i , i cu prioritate mai mare dect . Astfel, formulele: AB C, A^ BC, ABC se citesc: (A)(B C), (A^B)C, A(BC)

Obsevaia 3.2.9: Din motive de ordin istoric, vom considera simbolul un conector logic, formula BA avnd aceeai semnificaie cu AB.

3.3.

Concepte semantice n logica propoziiilor

Valorizri i valori de adevr Propoziiile, conform definiiei 1.2.1, sunt obiecte sintactice generale i abstracte. Dorim s interpretm aceste obiecte abstracte cu ajutorul semanticii. Aceasta nseamn c suntem interesai n a determina condiiile n care o propoziie este adevrat sau fals. Pentru aceasta crem o structur al crei domeniu este { a, b}, unde a i b semnific valorile de adevr adevrat i respectiv, fals, i ncercm s atribuim una din aceste dou valori fiecrei propoziii. Metoda folosit n atribuirea valorilor de adevr, mpreun cu definiiile necesare, constituie semantica LP. Definiia 3.3.1: O valorizare este orice funcie: F: Q | {a,b} unde Q este mulimea de atomi din limbaj.

O valorizare atribuie astfel valori de adevr atomilor din limbaj. Acum, asociem mulimii de valori de adevr {a,b} opreaii algebrice interne, astfel nct s otransformm ntr-o structur algebric. Operatorii interni ai acestei structuri, respectiv ~,,, ~>, <~>, vor corespunde conectorilor logici , ^ , , i . Similaritate simbolurilor corespunztoare nu este ntmpltoare, ci pune n eviden corespondena existent. S considerm, de exemplu, propoziia A B. Prin atribuirea unor vaori de adevr lui A i B, interpretm A B folosind interpretrile asociate lui A i B. Operaia care realizeaz acest lucru este , aa cum se va vedea mai clar din execuia urmtoare. Definiia 3.3.2: Operaiile interne ~, , , ~>, <~> peste mulimea {a,b} sunt definite de urmtoarele tabele: ~ a b b a a b a a a b a b a b a b a b b b

~> a b a a b b a a

<~> a b a a b b b a

n tabelele de definire a operaiilor , , ~>, <~>, prima coloan definete prima component iar prima linie definete a doua component a operaiei corespunztoare. Structura ({a,b}, ~, ,) cu operaiile ~, , definite de tabelele de mai sus este o algebr boolean cu dou valori. Algebrele booleene sunt foarte importante pentru semantica LP [RaSi70, Curr63, Rasi74, Raut79] ct i pentru studiul general al bazelor teoretice ale tiinei calculatoarelor. Definiia 3.3.3: Fie S mulimea de propoziii din limbajul logicii propoziionale. Prin valorizare de adevr sau valorizare boolean se nelege funcia: V: S | {a,b} astfel nct, pentru orice , S: (a) (b) (c) (d) (e) (f) dac este un atom, atunci V() {a,b} V()= ~V() V( )= V()V() V( ^ ) = V() ~> V() V() = V() ~> V() V() = V() <~>V()

Aa cum se poate vedea din ultima definiie, valorile valorizrilor de adevr ale atomilor unei propoziii sunt legate prin operaiile algebrice ~, , , ~>, <~> i determin valoarea valorizrii de adevr a propoziiei n cauz [Smul68]. O valorizare atribuie o valoare de adevr, a sau b, atomilor din limbaj. O valorizare de adevr este extensia unei valorizri la mulimea de propoziii a limbajului. Aa cum se stabilete prin teorema urmtoare, fiecare valorizare de adevr se extinde unic la o valorizare a mulimii de propoziii din limbaj. Teorema 3.3.4: Pentru fiecare valorizare F exist o unic valorizare de adevr V, astfel nct V extinde F. Demonstraie: Vom folosi inducia peste lungimea propoziiilor. Fie o F valorizare i Q o mulime de atomi. Definim inductiv o valorizare de adevr n urmtorul mod: (a) V(A)=F(A) pentru orice A Q Fie , dou propoziii. Dac V() i V() sunt deja definite de(a), impunem: (b) V() (c) V( )=V()V() (d) V( ^ ) = V()V() (e) V()=V()~>V() (f) V()=V()<~>V() V este evident o valorizare de adevr ce extinde F. Ceea ce rmne acum de demonstrat este faptul c dac valorizrile de adevr V1 i V2 sunt extinderi ale lui F, atunci V1()=V2() (a) (b) Pentru fiecare simbol propoziional A, avem V1(A)=V2(A), deoarece V1, V2 sunt extinderi ale lui F. S presupunem c V1()=V2() i V1()=V2(); atunci: V1()=~V1()=~V2()=V2() V1( )=V1()V1()=V2()V2()=V2( ) V1( ^ )=V1()V1()=V2() V2()=V2( ^ ) Tratnd similar celelalte condiii ale definiiei 3.3.3, demonstrm c V1 i V2 au aceeai valoare pentru orice propoziie, deci coincid. Urmtorul corolar este o consecin direct a teoremei 3.3.4.

Corolarul 3.3.5: Fie o propoziie coninnd numai atomii A1, ... ,Ak. Dac dou valorizri de adevr iau aceleai valori n mulimea {A1, ... ,Ak}, adic: atunci V1()=V2(). V1(A1)=V2(A1), ... ,V1(Ak)=V(Ak)

Exemplul 3.3.6: Calculul valorizrii de adevr pe baza unei valorizri: care: Fie S muimea de propoziii atomice S={A1, A2} i F o valorizare pentru F(A1)=a F(A2)=b Conform teoremei 3.3.4, valorizarea de adevr VF care extinde F este unic definit. S impunem: VF(A1) :=F(A1) VF(A2) :=F(A2) unde := nseamn egal prin definiie. Putem acum calcula valorile valorizrii de adevr VF pentru orice mulime de propoziii ce conin numai atomii A1 i A2: VF(A1 ^ A2) = VF(A1) VF(A2) = a b =b VF(A1 A2) = VF(A!) VF(A2) =ab =a VF((A! A2) A2) = VF(A1 A2)~>VF(A2)= a~>b=b etc. Propoziiile LP pot fi clasificate n funcie de valorile de adevr pe care le primesc. Definiia 3.3.7: O propoziie din LP este logic adevrat, sau tautologie, dac pentru orice valorizare de adevr V, V()=a. Acest lucru se noteaz |=. Vom scrie | ca s indicm c nu este o tautologie, adic exist o valorizare de adevr V pentru care V()=b. O propoziie este realizabil sau verificabil dac exist o valorizare de adevr V, astfel nct V()=a. O propoziie se numete logic fals sau neverificabil sau contradicie dac pentru orice valorizare de adevr V, V()=b.

Observaia 3.3.8: Fie V o valorizare de adevr i: SV={ propoziiilor LP | V()=a} mulimea propoziiilor din limbaj realizabile n valorizarea V. Dac pentru orice valorizare de adevr V, propoziia aparine mulimii SV, atunci este o tautologie. Fiecare mulime SV, cu V o valorizare de adevr , constituie o lume posibil [Fitt69, Chel80] a mulimii propoziilor LP. Fiecare lume posibil este aristotelian, adic pentru orice propoziie , fie , fie este adevrat ntr-o anume lume posibil. (V()=a sau V()=b, deci V()=a conform principiului aristotelian al terului exclus, obsevaia 3.4.4). Lumile posibile sunt conceptul de baz al semanticii Kripke. Semantica Kripke este folosit n studiul logicii modale. Logica modal conine simboluri speciale pe lng conectorii logici numii operatori modali, de exemplu , simboluri care cresc puterea expresiv a limbajului. Astfel, ntr-un limbaj modal, pe lng expresia A, exist de asemenea expresia A care poate fi interpretat drept cteodat A este adevrat sau A va fi valid n viitor. Logica modal permite exprimarea unor proprieti specifice instruciunilor unui program, proprieti logice de locul i ordinea instruciunilor n program. De exemplu, fie urmtorul program FORTRAN care calculeaz factorialul unui numr, n! pentru 1 n 10. k=1 do 10 i=1,...10 k=k*i write (*,*)k end

10

Fie A i B dou propoziii n logica modal: A:=write(*,*)k i B:=end

La nceperea execuiei programului, A i B sunt ambele valide, ceea ce nseamn c programul va determina n! la un anumit moment viitor i c la un alt moment viitor programul se va termina. Definiia 3.3.9: Dou propoziii i cu proprietatea c V()=V() pentru orice valorizare de adevr V se numesc logic echivalente. Aceasta se noteaz . Exemplul 3.3.10: Propoziiile A A i ((AB)A)A sunt tautologii.

Demonstraie: nti, vom demonstra c A A este o tautologie. Fie V1 i V2 dou valorizri de adevr, astfel nct: V1(A)=a i V2(A)=b

Obsevm c : V1(A A) = V1(A)V1(A) = V1(A)(~V1(A)) = a(~a) = ab = a V2(A A) = V2(A)V2(A) = V2(A)(~V2(A)) = b(~b) = ba = a O valorizare de adevr aleatoare a lui A stabilete pentru A fie valoarea dat de V1, adic, fie valoarea dat de V2, adic b. Astfel pe baza corolarului 3.3.5, avem: V(A A) = V1(A A) = a V(A A) = V2(A A) = a n consecin, propoziia este adevrat pentru orice valorizare de adevr V, deci este tautologie. Vom demonstra acum c ((AB)A)A este tautologie. n acest caz, avem patru valorizri diferite F 1, F2, F3, F4 peste Q={A, B}: F1(A) = a F2(A) = a F3(A) = b F4(A) = b i i i i F1(B) = b F2(B) = b F3(B) = a F4(B) = b sau

Pentru fiecare dintre aceste valorizri exist o unic valorizare de adevr Vk , k {1,2,3,4}, care o extinde. Putem uor verifica: Vk ( ((AB)A)A) = a pentru k {1,2,3,4}. Orice valorizare de adevr V a simbolurilor propoziionale A i B concord cu una din valorizrile Vk , k {1,2,3,4}. Conform corolarului 3.3.5, avem deci: V( ((AB)A)A) = a pentru orice k {1,2,3,4}. n consecin, propoziia ((AB)A)A est adevrat pentru orice valorizare de, adevr, deci este tautologie. Exemplul 3.3.11: Propoziia K [[(A ^ B)C] D] este realizabil.

ntr-adevr, fie F o valorizare peste simbolurile propoziionale din K pentru care: F(A) = a F(B) = a F(C) = b F(D) = b

Valorizrile de adevr care extind F iau urmtoarele valori: V(A) = a Atunci: V(A) = ~V(A) = b V(A ^ B) = V(A)V(B) = ba = b V[(A ^ B)C] = V(A ^ B)~>V(C) = b~>b = a V[[(A ^ B)C] D] = V[(A ^ B)C] V(D) = a b = a ceea ce nseamn c V(K) = a. Propoziia K nu este o tautologie: Fie G o valorizare cu: G(A) = b G(B) = a G(C)=b G(D) = b V(B) = a V(C) = b V(D) = b

Fie G valorizarea de adevr care extinde G. Folosind metoda utilizat pentru a demonstra V(K) = a, se poate arta c G(K) = b. Atunci, conform definiiei 3.3.7, K nu este tautologie.

3.4

Tabele de adevr

n seciunea precedent, am dat definiia valorizrii atomilor din limbaj i apoi, prin extinderea valorizrii e la atomi la propoziii compuse, am definit valorizrile de adevr. Cu aceast metod, dorim s aflm dac o propoziie este tautologie, o contradicie sau este realizabil. Dar cu ct formula este mai complicat, cu att metoda devine mai laborioas. Pentru a simplifica abordarea, vom grupa toate valorile posibile ale atomilor unei propoziii ntr-o tabel numit tabela de adevr a propoziiei. Astfel, pentru propoziiile compuse A, A B, A ^ B, AB i AB, avem urmtoarele tabele de adevr:

A A a b b a

A a a b b

B a b a b

A B a a a b

A a a b b

B a b a b

A^ B a b b b

A a a b b

B AB a a b b a a b a

A a a b b

B a b a b

AB a b b a

Fiecare linie din aceste tabele corespunde unei valorizri i unicei ei extensii la o valorizare de adevr. De exemplu, a doua linie din tabela asociat formulei A ^ B este a, b, b, n funcie de care A ia valoarea a, primul element din linie, i B ia valoarea b, al doilea element din linie. Pe baza definiiei 3.3.2, ct i pe baza definiiei 3.3.3, tim c valoarea de adevr corespunztoare lui A ^ B este ab, i anume b. Obinem astfel b, al treilea element de pe linie. De acum nainte, vom foloi tabelele de adevr de mai sus ca definiii ale valorilor ce rezult din utilizarea conectorilor logici, fr a ne mai referi l valorizri i la valorizri de adevr. Observaia 3.4.1: (1) Disjuncia LP este inclusiv, adic A B poate lua valoarea a i atunci cnd att A ct i B au valoarea a, spre deosebire de limbajul curent care este de multe ori exclusiv: de exemplu, se spune Stau acas sau m duc la film i prin aceasta se nelege c numai una din variante este posibil i nu amndou. Propoziia AB ia valoarea b, numai dac A are valoarea a i B are valoarea b. Astfel, dac A este b, AB este a oricare ar fi valoarea lui B. Aceste proprieti ale conectorului i partea din LP care se bazeaz pe aceste proprieti nu au fost ntotdeauna acceptate de diverse coli ale logicii. n perioada 1910-1920, concepia predominant asupra tiinelor aplicative n Europa a fost aceea a colii lui Hilbert (Hilbert 1862-1953) [Boye68, Heij67]: Matematica i logica trebuie s fie fundamentate axiomatic i metodele de lucru ale acestor tiine trebuie s fie extrem de formale.

(2)

Cu toate acestea, n 1918, Brouwer (1881-1966) a publicat o critic sever a LP i a propus un sistem logic alternatv numit logic intuiionist. Acest nume i gsete originea n faptul c Brouwer a afirmat, pe baza concepiei lui Kant, c percepem numerele naturale (i n consecin logica care caracterizeaz tiin) numai pe baza intuiiei noastre [Dumm77, Brou75]. Logica intuiionist nu a reuit niciodat s nlocuiasc n totalitate logica formulat de Hilbert (observaia 3.8.8); cu toate acestea, logica intuiionist are, la ora actual, diverse aplicaii n tiina calculatoarelor. Pe de alt parte, LP ofer un instrument (n sens aristotelian) foarte eficient pentru studiul i rezolvarea problemelor i constituie constituie baza tehnologiei tiinelor actuale. S recapitulm ceea ce am discutat despre tabelele de adevr ale unei propoziii: Pe baza definiiei inductive a propoziiilor ct i pe baza definiiei valorilor conectorilor logici, se poate construi tabela de adevr a unei propoziii prin atriubuirea de valori atomilor constitueni ai propoziiei. Exemplul 3.4.2: Tabela de adevr a propoziiei A ^ BC este: A a a a a b b b b B a a b b a a b b C a b a b a b a b A ^ B A ^ BC a a a b b a b a b a b a b a b a

Pentru tripletul de atomi (A, B, C), tripletul de adevr (b, a, b) face ca formula A ^ BC s fie adevrat, n timp ce pentru tripletul (a, a, b) formula este fals. Tabela de adevr redus a propoziiei A ^ BC este tabela de adevr ce rezult prin eliminarea celei de-a patra coloane ce este coloan auxiliar. Tabela de adevr redus a unei propoziii ce conine n atomi const n 2n linii i n+1 coloane. Prin intermediul tabelelor de adevr se poate determina dac o propoziie este adevrat sau fals. Conform corolarului 3.3.5, dac tabelele de adevr pentru dou propoziii au aceleai valori de adevr n coloanele atomilor componeni i n ultima coloan, atunci cele dou propoziii sunt logic echivalente.

Exemplul 3.4.3: (i) Propoziia ((AB)A)A este o tautologie: A a a b b B a b a b AB a b a a ((AB)A) a a b b ((AB)A)A a a a a

(ii) propozitia (PQ) (P Q) este nerealizabil: P a a Q a a Q a a PQ a a a P Q a (PQ) (P Q)

Observaia 3.4.4: Pe baza definiiei 3.3.7 avem: (i)O propoziie este tautologie dac i numai dac negaia ei nu este realizabil; (ii) O propoziie este realizabil dac i numai dac negaia ei nu este o tautologie; (iii)O propoziie care este tautologie este realizabil n timp ce o propoziie realizabil nu este neaparat tautologie; (iv)Exist anumite tautologiide baz ce sunt frecvent utilizate: (1) (A B)(A B) Legea lui De Morgan (2) (A B)(A B) Legea lui De Morgan (3) (A)A Legea dublei negaii (4) (AB)(BA) Legea contrapoziiei (5) (BC)((AB)(AC)) Prima lege a silogismului (6) (AB)((BC)(AC)) A doua lege a silogismului (7) (A(BC))((A B)C) Legea transportrii (8) A A Legea terului exclus Aristotel a fost primul care a enunat propoziiile (5),(6),(8).Propozi.Propoziiile (5) i (6) sunt cunoscute sub numele de legile silogistice ale lui Aristotel. 3.4.4

Metoda determinrii valorii de adevr a unei propoziii compuse cu ajutorul tabelelor de adevr este destul de simpl att timp ct propoziiile conin un numr mic de atomi.n cazul propozitiilor cu 3 atomi,tabela de adevr corespunztoare are23=8 linii.Tabela de adevr a unei propoziii cu 4 atomi are 24=16 linii,iar dac propoziia are 10 atomi,tabela ei de adev r are 210=1024 linii! n plus,nu putem utiliza tabele de adevr n logica predicatelor.Vom studia n seciunile urmtoare metode amai avansate i mai economice de determinare a valorii de adevr a unei propoziii sau a unei mulimi de propoziii.Aceste metode vor constitui baza studiului programrii logice.

3.5 Consecine i interpretri


Pentru exemplul 3.4.2 al tabelei de adevr a propoziiei (A B)Cam vzut c aceast propozitie ia valoarea a dac toi atomii A,B i Cau valoarea a.Aceasta revine la a spune c validitatea propoziiei (A B)C a fost o consecin a faptului c orice propoziie din S={A,B,C}a luat valoarea a[Chur56].Dm astfel urmtoarea definiie: Definiia 3.5.1: Fie S o mulime de propoziii.O propoziie se numete consecin a lui S(notat cu S)dac pentru orice valorizare de adevr V,pentru care V()=aoricare ar fi S,putem deduce c V()=a. Mulimea Con(S)={S}este mulimea tuturor consecinelor lui S.Formal: Con(S) (Pentru fiecare valorizare de adevr V) (pentru fiecar S) (V()=aV()=a) n loc de (pentru fiecare S)(V()=a) scriem adeseori V[S]={a}sau chiar,informal,V[S]=a. Observaia 3.5.2: Simbolurile i folosite n definiia de mai sus cu semnificaia dac i numai dac i implicsunt simboluri ale metalimbajului.Metalimbajul este folosit pentru a raionadespre formulele din LPi pentru a investiga proprietile acestora.De aceea cnd spunem,propoziia este o tautologie,exprimm o judecat despre . este o metapropoziie a LP ,respective o propoziie a metalimbajului LP. Metalimbajul poate fi de asemenea formalizat,aa cum se formalizeazi LP.Pentru a evita utilizarea excesiv i pedeant a simbolurilor,de exemplu n limbaj i n metalimbaj ,vom folosi ca metalimbaj o form ngrijit i precis formulat a limbajului vorbit. Vom ncheia comentariile despre metalimbaj cu un alt exemplu.Fie A o propoziia a LP.Atunci AA este o propozitie a LP,n timp ce dac A este o propoziie LP,atunci A este o propozitie a LP este o propoziie a metalimbajului LP. Exemplul 3.5.3: Fie S={A B,BC} o multime de propoziii.Atunci propozitia C este o consecin a lui S,adic SC. Demonstraie: S presupunem c S este o valorizare de adevr ce valideaz toate propoziiile din S: V(A^B)=a i V(BC)=a

Atunci avem,conform definitiei 3.3.3: V(A) V(B)=a (1) i V(B)V(C)=a (2) Atunci,din(1) i definiia 3.3.2 avem: V(A)=V(B)=a (3) (2) devine astfel: aV(C)=a (4) Pe baza definiiei 3.3.2 i (4) putem concluziona c V(C)=a.Aceasta nseamn c orice valorizare de adevr ce verific toate propoziiile din S verific i pe C.C este deci o consecin a lui S, S C. Dac notm cu Taut mulimea tuturor tautologiilor,putem demonstra urmatorul corolar: Corolarul 3.5.4:Con()=Taut, unde este mulimea vid. Demonstraie:Fie Taut.Atunci,pentru orice valorizare de adevar V ,V()=a. Atunci, pentru fiecare V astfel nct V()={a}: V()={a}V[]=a Deci, Con(). Invers: S considerm Con().Atunci,pentru orice valorizare de adevar avem: Pentru orice , dac V()=a,atunci V()=a. (1) Dar nu are nici un element.Putem astfel scrie: Pentru orice ,dac V()=,atunci V()=. (2) Din (1) i (2) avem V()=a,pentru orice valoare .Aceasta inseamn c pentru toate valorizrile de adevr V,V() se indeplinete. este o tautologie . 3.5.4 Astfel, tautologiile nu sunt consecine ale nici unei mulimi particulare S;ele sunt independente de S,pentru orice mulime de propoziii S,i sunt legate numai de tabelele de adevr din subcapitolul 3.3. Prile subliniate din demonstraia corolarului 3.5.4 pun in evidena trei aspecte tehnice ale demonstraiei.Mulimea vida nu are nici un element.Cum putem deci sa scrie implicaiile subliniate?Sa ne gndim la a treia i a patra linie din definiia tabelei de adeavr a propoziiei AB(ezi subcapitolul 3.4).Dac are valoarea i B valoarea a sau ,atunci AB este a.Aceasta nseamna c o implicaie AB ,cu A fals,este ntodeauna adevrat!Acest lucru este exact ceea ce folosim n metalimbaj,limbajul n care se demonstreaz teoremele.n (1) de exemplu, nu poate fi adevrat deoarece nu are nici un element.(1) esteastfel adevrat indifferent dac V()=a atunci V(=a) este adev rat sau fals. Aa cum s-a spus nainte LP se ocupa de studiul propoziiilor.Urm oarele doua definiii sunt legate derealizabilitatea unei mulimi de propoziii.

Definiia 3.5.5: O mulime de propoziii Seste(semantic) consistent, dac exist o valorizare de adevr care s verifice orice propoziie din S.Formal: consistent(S)(exist o valorizareV)[(pentru orice S)(V()=a)] Faptul c S este consistent se noteaz cu V(S)=a. Pentru omulime consistent S ,folosim de asemenea termenii realizabil sau verificabil ,cu aceeai semnficaie. S este inconsistent,irealizabil sau neverificabil dac pentru orice valorizare de adevr exist cel puin o propoziie nerealizabil n S: Inconsistent(S)(pentru orice V)[(exista S)(V()=)] 3.5.5 Exemplul 3.5.6:Mulimea de propoziii S={A^ B,AB} este inconsistent. Demonstraie: S presupunem c exist o valorizare de adevr V astfel nct : pentru oriceC S ,V(C)=a Atunci: V(A^ B)=a i V(AB)=a ceea ce inseamn c : V(A)V(B)=a (1) i V(A)V(B)=a (2) Din (1)i definiia 3.3.2 avem V(A)=V(B)=a,deci: V(A)=a i V(B)= Atunci (2) devine : a =a. ceea ce contrazice definiia 3.3.2 unde a=.n consecin,nici ocalorix\zare de adevr nu poate verifica propoziiile din S,deci S este inconsistent. 3.5.6 Definiia 3.5.7: O valorizare de adevr ce satisface o mulime de propoziii Sse numete interpretare a lui S.Mulimea tuturor interpretrilor lui Sse noteaz cu Int(S),unde: Int(S)={V\Vvalorizare de adevr i pentru orice S,V()=a} 3.5.7 Prezentm acum un corolar despre anumite concluzii utile n ceea ce privete consecinele i interpretrile. Corolarul 3.5.8: Pentru mulimile de propoziii S,S1,S2 avem: (1) S1S2Con(S1) Con(S2) (2) SCon(S) (3) TautCon(S),pentru orice mulime de propoziii S (4) Con(S)=Con(Con(S)) (5) S1S2Int(S2) Int(S1) (6) Con(S)={\V()=a,pentru orice V Int(S)} (7) Con({1,,n})(2(n)..) Taut Demonstraie: (1)S presupunem c Con(S1).Fie V o valorizare de aadevr astfel inct pentru fuecare S2,V()=a.Avem astfel V()=a deoarece con(S1).n consecin ,Con(s1) Con(S2).

(2) Dac S,atunci orice valorizare de adevar Vcare valideaz toate propoziiile din S valideaz de asemenea .Astfel, Con(S).Dar atunci SCon(S). (3) S presupunem c Taut.Fie V o valorizare de adevr astfel nct,pentru orice din S V()=a se ndeplineste.AtunciV()=a,deci Con(S).Deci Taut Con(S). (4) Din (2) avem SCon(S).Din (1), Con(S) Con(Con(S)).Trebuie s demonstrm: Con(Con(S)) Con(S). S presupunem c Con(Con(S)).Fie V o valorizare de adevr astfel nct,pentru orice din S,V()=a.Atunci pentru orice Con(S),V(=)a.Prin definiia lui Con(Con(S)) avemV()=a,ceea e nseamn c Con(S).n consecin , Con(Con(S)) Con(S). (5) Dac V Int (S2),atunci pentru orice S2 avem V()=a.Deoarece S2S2,pentru orice S1,V()=a se ndeplinete i deci V Int(S1). (6) Dac Con(S),atuncipentru orice V Int(S),V()=a.Atunci: {\V()=a,pentru orice V Int(S)} n plus ,dac: {\V()=a,pentru oriceV Int(S)} atunci este evident c Int(S). (7)()S presupuem c Con({1,2,n}).Fie V o valorizare de adevr.Pentru V avem urmtoarele posibiliti: (a) pentru fiecarei,1in,V(i) =a (b) Exist cel puin in j,1jn,astfel nctV(j)= vom analiza aceste dou cazuri separate. (a) Deoarece pentru orice i,cu 1in, V(i)=a i Con({1,2,n}) avem V()=a.Astfel: V(n)=V(n)>V()=a>a=a Dac V(k(k+1(n)))=a,atunci: V(k-1(k(k+1(n)..)))= =V(k-1)>V(k(K+1(N)...))=a>a=a Atunci (inductiv) V(1(2(n)..))=a (b) Fie r cel mai mic numr natural pentru care V(r)=.astfel: V( r(r+1(n)..))= =V(r)V(r+1 (n)..)= =>V(r+1..(n)..)=a Deoarece V(r-1)=a, avem: V(r-1(r(n)..))=V(r-1..(n))=a>a=a Dac V(k(k+1..(r..(n))))=,atunci: (k-1(k(k+1(n)..)))= =V(k-1)V(k(K+1(N)...))=a>a=a Deci V(1(2(n)..))=a Att n (a) ct i n (b) avem V(1(2(n)..))=a,pentru orice valoriazre de adevr V,i deci (1(2(n)..)) este o tautologie.

() S presupunem ca 1(2(n)..) este o tautologie.Fie V o valorizare de adevr astfel nct V(i)=a pentru orice i {1,2,..,n}. Dac presupunem c V()=,atunci: V(n)=V(n)V()=a>= n consecin ,dac V(k(K+1(N)...))=, atunci: V(k-1(k(K+1(N)...)))= V(k-1)V(k(K+1(N)...))=a>=a Deci V(1(n)..)=este o contradicie datorit presupunerii conform creia (1(2(n)..)) este o tautologie. 3.5.8 Corolarul 3.5.8(7) ofer o metod pentru a determina dac este o consecin a unei mulimi finite de propoziii S,prin verificarea in 2 pai dac partea dreapt a lui (7) este o tautologie.Cu toate acestea, pentru o mulime infinit S,aceast metod ar necesita un numr infinit de pai.Utilizarea tablourilor semantice devine ,n acest caz,mult mai potrivit. 3.6. Mulimi adecvate de conectori logici-Forme normale

Determinarea valorii de adevr a unei propoziii,ca si demonstrarea corectitudinii sau a lipsei de corectitudine a unei mulimi de propoziii ,depinde adeseori de numarul i tipul conectorilor ce apar n propoziii.Cei cinci conectori logici pe care i folosimsunt conectorii utilizai mai frecvent n textele matematice.n cele ce urmeaz se va demonstra c orice mulime de conectori logicipoate fi exprimat pe baza mulimii {, , }i vom demonstra astfel c mulimea de conectori logici {, , }este suficient pentru a exprima orice propoziie din LP[Smul68,Mend64,Schm60]. Definiia 3.6.1: Se spune c o muime Q de conectori logici este adecvat dac pentru orice propoziie din LP exist o propoziie echivalent logic care nu conine conectori diferii de ei coninui n Q. 3.6.1 Teorema 3.6.2: Fie (A1,A2,..,Ak) o propoziie n care apar numai atomii A1,..,Ak.S considerm tabela redus de adevr a lui .

A1 11 .. .. v1

A 1 . .

Ak 1k . .

(A1,,Ak) 1 . v

..

vk

. . 21k .

2k

. .. 2kk

.. 2k

nl reprezint valoarea de adevr corespunztoare liniei n i coloanei l iar n este valoarea de adevr a propozitiei (A1,A2,..,Ak) n cea de-a n-a linie. (1) S presupunem c n ultima coloan se afl cel puin un a.Vom demonstra c exist o propoziie pentru care tabela de adevr redus asociat propoziiei are aceeai ultim coloan ca tabela de ami sus i care utilizeaz numai conectorii {, , } .n acest caz ,propoziia va fi logic echivalent cu (A1,A2,..,Ak). (2) Pentru orice atom A,Aa reprezint A i A reprezint A.Din cea de-a n-a linie formm conjuncia: tn: (A1v1 Akvk) care conine numai conectorii i .Fie l1,..,lm linnile cu un a pe ultima coloan.Atunci propoziia : tl1 . tlm Este propoziia pe care o cutm deoarece tabela ei de adevr redus are un a n ultima coloan ,exact n acele linii n care tabela de adevr redus a propoziiei (A1,A2,..,Ak) are un a. (1) Dac ultima coloan nu contine nici un a,atunci propoziia este fals i este deci logic echivalent cu (A A),unde A este orice symbol propoziional. 3.6.2 Pe aceast baz,folosind tehnica din teorema anterioar ,putem exprima orice propoziie cu ajutorul coeficientilor , , . Propoziia echivalent ce rezult se spune a fi Forma Normal Disjunctiv(FND). Fie F o propoziie astfel ct atomii lui F sunt A1,,An.Forma generala lui F n FND este: FND(F): (A11 A1n) (A21 A2n) (Ak1 Akn), unde Aij {A1,,An} sauAij(A1,,An),adic Aij sunt atomi dau negarea unor atomi din F i n fiecare component a FND(F) fiecare atom a lui F apare numai o singur dat,negat sau nenegat. Conceptul dual al lui FND este numit Form Normal Conjunctiv(FNC) i are urmtoarea form: FNC(F):( A11 A1n) (A21 A2n) (Ak1 Akn) Exemplul 3.6.3:S se gseasc FND a propoziiei Fcunoscndu-se tabela de adevr redus a lui F:

A a a a a

B a a a a

C a a a a

F a a a

Vom urma metoda descris n teorema 3.6.2: Pasul 1: Gsim toate liniile care au un a n ultima coloan.Aceste linii sunt 1,5,8. Pasul 2: FND(F)t1 t5 t8(A B C) (A B C) (A B C) Vom enuna acum dou corolare interesante i utile referitoare la diverse mulimi adecvate de conectori logici. Corolarul 3.6.4: K1={, }i K2={, } sunt muimi adecvate de conectori . Demonstraie: Folosind tabelele de adevr, putem demonstra c: AB(A B) ABA B i 3.6.4 AB(AB) (BA) Exemplul 3.6.5: n afara conectorilor ,, ,,,putem crea i ali conectori,cum ar fi i : definii de urmtoarele tabele de adevr: A B AB a a a a a a a

A a a

B a a

A:B a

Corolarul 3.6.6: Mulimile 1 ={} i 2 ={:} sunt mulimi adecvate.

3.6.5

Demonstraie: ( 1 ): Intuitiv AB nseamn c A i B nu pot fi adevrate n simultan.Atunci AB(A B).(Aceast echivalen poate fi uor verificat pe baza tabelelor de adevr).Atunci: AB(A A)A i n acest fel negaia este exprimat prin ;n acelai fel, pentru conjuncie avem: A B(A B) (AB)(AB)(AB) ( 2 ): Negaia devine: A(A A)A:A, i conjuncia: A B(A B) (A:A):(B:B) 3.6.6 S observm c {} i{:} sunt singurele mulimi care conin un unic conector logic care sunt mulimi adecvate (vezi subcapitolul3.14,exerciiul 20).Mai mult,orice mulime cu doi conectori logici,unul dintre acetia fiind i cellalt fiind unul dintre , ,, este adecvat(Schm60,Smul68,Mend64). Observaia 3.6.7: Transformarea unei propoziii n alta ,care este logic echivalent dar conine conectori diferiti de cei din ,este foarte util.De exemplu,n metoda de demonstrare prin rezoluie,care va fi prezentat n seciunile urmtoare ,exprimm toate implicaiile,adic propoziii de tipul ,folosind conectorii , ,.Pentru aceast transformare folosim echivalena : ABA B ,care poate fi verificat folosind tabelele de adevr. 3.6.7 In seciunile urmtoare vom descrie metodele de demonstrare utilizate n LP.Prezentarea lor va simplifica introducerea n programarea logic.

3.7. Tablouri semantice


Metodele de demonstrare sunt proceduri algoritmice care pot fi urmate pentru a dac o propoziie este sau nutautologie sau dac o mulime de propoziii poate fi sau nu

poate fi satisfacut.Aceste metode sunt incluse n dezvoltarea teoriei demonstrrii automate a teoremelor,teorie care reprezint o aplicaie de baz a programrii logice. Prima metod de demonstrare algoritmic ce va fi prezentat folosete tablourile semantice.Gentzen(logician german,1909-1945) a fost primul care a demonstrat n 1943 c toate tautologiile sunt produsw prin aplicarea anumitor reguli,ceea ce revine la a spune c pentru orice tautologie exist o anumit tautologie ce conduce la (Klee52,Raut79).Teoria demonstrrii a fost utilizat n 1955 de Beth i Hintikkapentru a crea un algoritm de determinare a caracterului tautologic al unei propoziii. Cu ajutorul tablourilor semantice Beth,pe scurt tablouri semantice,putem examina care sunt posibilitile ca o propozie dat s ia valoarea de adevr a sau valoarea de adevr . Tabloul semantic al unei propoziii compuse K este construit inductiv,pe baza tablourilor semantice ale propoziiilor ce apar n K.Vom ncepe astfel prin a defini ce nseamn tablouri semantice atomice(Smul68,Fitt90). Definiia 3.7.1: (1) Fie o propoziie. reprezint aseriunea este fals,iar a reprezint aseriunea este adevrat. i a se numesc formule cu semn . (2) n conformitate cu definiia inductiv a propoziiilor,tablourile sematica atomice ale propoziiilorA,1,2 sunt cele prezentate n tabelul urmtor:

aA

a(1 2) a1 a2 a(1 2) / \ 1 2

(1 2) \ 1 2

a()

() a

(1 2) 1 2 (12 ) / \ a1 1 2 a2

a(1 2 ) / \ 1 2

(1 2 ) a1 2

a(12 ) / \ a1 1 a2 2

Intuitiv,formula cu semn aA sau A este privit ca aseriunea conform creia A este adevrat,respective fals.Pentru tabloul semantic atomic(4a),aseriunea 1 2 este adevratnecesit fie ca 1,s fie adevrat,fie ca 2 s fie adevrat(ramificare),n timp ce n tabloul(5b),aseriunea 1 2 este fals necesit ca 1 s fie adevrat i 2 s fie fals(secven).Aceasta nsemn c ntr-un tablou semantic atomic o ramificare reprezint o disjuncie ,n timp ce o secven reprezint o conjuncie. 3.7.1 Pentru a construi tabloul semantic al unei propoziii compuse K,ncepem prin a scrie formula cu semn aK sau K, la originea(nceputul) tabloului semantic.Dezvoltm apoi tabloul semantical lui K conform definitiei 3.7.1. Prezentm n continuare un exemplu ce va fi urmat i n definiia formal a regulii generale de construcie a tablourilor semantice. Exemplul 3.7.2: Fie K:((A A) (B (C D))) o prpoziie.Atomii lui K sunt A,B,C i D.ncepem tabloul semantic cu originea aK. a((A A) (B (C D))) 4a / \ 4a a(A A) aA a(A) 3a A k1 a(B (C D)) 4a / \ 4a aB a(C D) k2 aC aD k3

2a

Acesta este un tablou semantic complet cu 3 ramuri,respective 3 secvene k1,k2 i k3.Ramurile ncep din origine.Ramura stng,k1,este contradictorie deoarece conine formulele cu semn mutual contradictorii aA i A.Caracterul contradictoriu al unei ramuri se marcheaz cu simbolul la captul ramurii.Celelalte dou ramuri nu sunt contradictorii. Prin intermedilu tabloului semantic al propoziiei K,observm c ipoteza aK este aadevrat n anumite condiii,de exemplu aB pe ramura k2 sau aD pe ramura k3.Poate fi ns i fals,cum ar fi cazul ramurii k1. Sunt uor de identificat tablourile sematice atomice constituente ale tabloului semantic anterior.De exemplu:

a((A A) aA a(A) n zona ncerciut cu linie punctat este tabloul semantic atomic 2a.

3.7.2

Definim acum conceptele necesare pentru construcia tablourilor semantice. Definiia 3.7.3 : (1) Nodurile unui tablou semantic sunt toate formulele cu semn care apar n tablou. (2) Un nod al unui tablou semantic se numete folosit dac apare ca origine a unui tablou semantic atomic;n caz contrar ,nodul se numete nefolosit. (3) O ramur a unui tablou semantic se numete contradictorie dac pentru o anumit propoziie ,a i sunt noduri ale ramurii respective. (4) Un tablou semantic se numete complet dac nici una din ramurile necontradictorii din tablou nu are noduri nefolosite;n caz contrar se numete tablou incomplet. (5) Un tablou semantic este contradictoriu dac toate ramurile sale sunt contradictorii. 3.7.3 Definiia 3.7.4: Construcia inductiv a tablourilor semantice: Vom construi un tablou semantic pentru o propoziie K dup cum urmeaz: Vom ncepe cu formula cu semn aK(sau K) ca origine a tabloului i continum inductiv . Pasul n: Avem un tablou semantic atomic Tn. Pasul n+1: Tabloul semantic atomic Tn va fi extins la tabloul Tn+1 prin utilizarea anumitor noduri ale Tn care nu vor ami fi utilizate n continuare.Dintre nodurile neutilizate ale lui Tn aflate cel mai aproape de origine,selectm pe cel mai din stnga.Fie X acest nod. Extindem acum fiecare ramur necontradictorie ce trece prin X prin concatenarea unui tablou atomic semantic Tn+1 (n practic nu se va mai scrie nodul Xdin nou deoarece el este deja un nod al ramurii necontradictorii). Construcia se termin atunci cnd fiecare ramur necontradictorie nu mai are noduri nefolosite. 3.7.4 Urmtorul exemplu,ce prezint un tablou semantic contradictoriu,clarific modul de construire definit anterior. Exemplul 3.7.5: Legea lui Peirce ((AB)A)A (1) ncepem cu aseriunea conform creia ((AB)A)A este fals: (((AB)A)A) a((AB)A) A \ aA (AB)

aA B

Ipoteza c legea lui Peirce este fals a condos la un tablou semantic contradictoriu,n consecin formula este adevrat. (2) Dac ncepem cu presupunerea cpropoziia este adevrat,concluzia rmne n continuare aceeai:

a(((AB)A)A) / \ ((AB)A) aA a(AB) A / \ A aB Observm c nu exist nici o ramur contradictorie. Atunci, dac A sau aB i A,sau aA, ((AB)A)A devine adevrat. Chiar dac B, atunci fie aA fie A se ndeplinete. Deci legea lui Peirce este logic adevrat. 3.7.5 Intuitiv: Dac un tablou semantic complet cu originea K este contradictoriu, acesta nsemn c am ncercat toate modurile posibile n care propoziia K poate deveni fals i am euat;n consecin.K este o tautologie. Aceast idee cheie este exprimt de urmtoarea definiie: Definiia 3.7.6: O demonstratie Betha unei propoziii K este un tablou semantic contradictoriu complet cu originea K.Un tablou semantic contradictoriu complet cu originea aK se numete o respingere Beth a lui K. Se spune c propoziia K este demonstrabil Beth dac K admite o demonstraie Beth.K se numete respins Beth dac exist o respingere Beth pentru K. Faptul c propoziia K este demonstrabil Bethse noteaz cu B K. 3.7.6 Aa cum vom demonstra n teorema 3.10.7 i n teorema 3.10.9,orice tautologie este demonstrabil Beth(completitudinea demonstrabilitii Beth) i invers,orice propoziie care este demonstrabil Beth este o tautologie(corectitudine a demonstrabilitii Beth). Exemplul 3.7.7: S presupunem c urmtoarele propoziii sunt adevrate. (1) George o iubete pe Maria sau George o iubete pe Ecaterina. (2) Dac George o iubete pe Maria atunci el o iubete pe Ecaterina.

Pe cine iubete George de fapt? K a((M K) (M K)) a(M K) a(M K) / \ M aK / \ / \ aM aK aM aK S notm atunci George o iubete pe Maria cu M i George o iubete pe Ecaterina cu K. Atunci,(1)M K i (2) MKM K. Formm propoziia A(M K) (M K)(1) (2),care conform ipotezei,este adevrat. Dorim s aflm dac Goerge o iubete pe Ecaterina sau echivalent,dac aK.S presupunem c nu oiubete,adic K.Atunci putem construe arboreal semantic cu originea K. Pentru pasul 2 am adugat t((M K) (M K)),deoarece (1) i (2)sunt ,conform presupunerii iniiale,adevrate. ncepnd cu aK,obinem un tablou semantic contradictoriu,ceea ce nseman c propoziia K este ntodeauna adevrat,cu alte cuvinte George o iubete pe Ecaterina. Dac construim un tablou semantic cu originea n M,vom obine un tablou semantic necontradictoriu i astfel nu vom putea concluziona dac George o iubete pe Maria sau nu. 3.7.7

3.8. Demonstraii axiomatice


Logica propoziiilor, ca i alte sisteme matematice,poate fi prezentat,de asemenea,ca un system axiomatic cu axiome logice i reguli de derivare n loc de tablouri sematice.Axiomele sistemului sunt o parte dintre tautologii i o regul de derivare R deriv o propoziie dintr-o secven de propoziii 1,2,,n.Vom face acum o scurt descriere a unei astfel de prezentri axiomatice a LP[Schm60,RaSi70,Mend64]. Definiia 3.8.1: Axiomele: Privim ca axiom oricare din propoziiile de forma urmtoare: (1) ( ) (2) (( ))(( )()) (3) ( )( ) Trebuie remarcat c propoziiile ,, pot fi nlocuite cu orice alte propoziii.n acest fel avem scheme axiomatice(sau scheme de axiome) se conduc la un numr nelimitat de axiome.Se poate verifica uor c toate aceste formule bine formate ale LP i,bineneles,tautologii.

Definiia 3.8.2: Regula Modus Ponens: Folosim o regul de derivare , regula Modus Ponens,care spune c propoziia i .Regula Modus Ponens(mode conform Doigenes Laertius[Zeno76])se noteaz cu : sau chiar cu : , (2) 3.8.2 (1)

Pentru (1),care este o definiie caracteristic a unei reguli logice,linia orizontal separ ipotezelel de concluzie.Pentru (2),simbolul reprezint derivarea n sistemul axiomatic.Considerm cele trei axiome ale definiiei 3.8.1 ca formule derivate n acest system axiomatic.Pe baza acestor trei axiomei a regulii Mdus Ponensse pot produce noi propoziii.Urmtorul exemplu arat cum se pot aplica axiomele i Modus Ponens pentru a deriva formula LP AA. Exemplul 3.8.3: S se demonstreze c AA. Demostratie: A((BA)A) (1) pe baza primei axiome.Pe baza celei de-a doua axiome avem: A((BA)A)[((A(BA))(AA)] (2) Din (1),(2)i Modus Ponens rezult: (A(BA))(AA) (3) Dar A(BA), conform primei axiome i,cu regula Modus Ponens,(3) conduce la AA.Astfel,prpoziia AA este derivat n sistemul axiomatic descries. 3.8.3 Urmtoarea teorem ne permite s nlocuim una din subformulelel unei propoziii LP cu o subformul logic echivalent.Demonstraia poate fi gsit n exerciiul 22(subcapitolul 3.14). Teorema 3.8.4: Substituia echivalenelor: Dac o propoziie 1 este derivat n LP i este o subform a propoziiei,atunci propoziia 1poate fi de asemenea derivat n LP,unde 1este propoziia obtinut din prin nlocuirea a zero,una sau mai multe aparitii ale propoziiei cu echivalentul ei 1.Formal: 3.8.4 11 Vom enuna acum definiia formal a demonstraiei unei propozitii pe baza metodei aximatice. Definiia 3.8.5: Fie S o mulime de propoziii. (1) O demonstraie din S este o secven finit de propoziii 1 , 2 ,.... n

astfel nct pentru fiecare 1 < i < n: (i) i aparine lui S, sau (m) (ii) i este o axiom, sau

urmeaz din j ,

, 1 < j,k < i, prin aplicarea regulii Modus

Ponens. (2) O propozie a este S-demonstrabil dintr-o mulime de propoziii S dac exist o demonstraie 1 , 2 ,.... n din S astfel- nct c coincide cu . Formal se scrie

S (3)Propoziia a este demonstrabil dac , adic dac este derivat n sistemul axiomatic din definiia 3.8.1 prin utilizarea regulii Modus Ponens. Evident, conceptul de propoziie S-demonstrabil coincide cu conceptul de propoziie demonstrabil pentru S = . Exemplul 3.8.6: Vom prezenta demonstraia formulei B (C A) din S = {A}: (1)A A S (2)A (C A) axioma 1 (3)(C A)Modus Ponens din (1) i (2) (4)(C A) ( B (C A)) axioma 1 (5) B (C A) S observm c dac o propoziie este demonstrabil din S i S este o mulime infinit, atunci este demonstrabil dintr-o submulime finit a lui S, deoarece demonstraiile sunt ntotdeauna finite. Urmatoarea teorem este fundamental n teoria demonstrrii. Teorema 3.8.7: Teorema deduciei: Fie S o mulime de propoziii i fie K, L dou propoziii LP. Atunci: S {K} L S K L Demonstraie: (pS) Daca S K L, atunci exist o demonstraie a lui K L notat prin 1 , 2 ,.... n unde n cK L i, pentru orice i {1 ,...,n}, i este o axiom sau i S sau Modus Ponens. Astfel, secvena , 1 , 2 ,.... n , unde n este K si an+2 este L, este demonstratie a lui L deoarece pentru fiecare

este derivat din dou propoziii precedente prin aplicarea regulii

i {1,..., n, n+1},

este o axioma sau

S {K} sau

este derivat din

si

prin Modus Ponens.

<=>Prin ipotez,tim c exist o demonstraie a lui L din S {K} notat cu L1, L2 ..., Ln unde Ln este L. S considerm urmtoarea secven de propoziii: K LI K L2 K Ln Aceast secven nu este o demonstraie. Cu toate acestea, ea devine o demonstraie dac "adaugm" nite propoziii ntre termeni succesivi, folosind urmtoarea metod inductiv: . Pentru LI avem urmtoarele cazuri:.

L1 este o axiom sau Ll aparine lui S sau L1 este K. Conform axiomei (1) avem L1 (K L1).. n primele dou cazuri adugm L1 i L1 (K L1) deasupra lui K L1. n ultimul caz, teorema este adevarat conform exemplului 3.8.3. . S presupunem c am completat secvena pn la K Lm, astfel nct primii m+1 termeni ai secvenei constituie o demonstraie pentru K Ln Vom aduga acum propoziii n secven, ntre propoziiile K Lm i K Lm+1, astfel nct primii m+ 1 termeni ai secvenei, completai cu aceste propoziii, constituie o demonstraie pentru K Lm+1 Lm+1 este o axiom sau aparine lui S sau este K sau este derivat din Lj, Lk (l<j, k<m) prin Modus Ponens. Cu alte, cuvinte exist un Lk de forma Lj Lm+l Pentru primele trei cazuri, vom proceda ca mai sus prin adugarea ntre K Lm _i K -+ Ln1+1 a propoziiilor, Lm+1 si Lm+1 (K Lm+I). n cel de al patrulea caz,tim pe baza presupunerii inductive c secvena a fost completat astfel nct primii m termeni constituie o demonstraie pentru K Lj si K (Lf Lm+I) Vom "aduga" astfel propoziia: (K (Lj Lm+l)) ((K Lj) (K Lm+I)) care este legal deoarece ultima propoziie este axioma (2). K Lm+1 este astfel derivat prin dubl aplicare, succesiv, a regulii Modus Ponens. S observm c am folosit numai dou din cele trei axiome ale sistemului axiomatic pentru a demonstra aceast teorem. 3.8.7

Axiomele LP sunt deseori numite axiome logice. De obicei, definim o teorie prin extinderea axiomatizrii LP printr-o multime S de axiome suplimentare care caracterizeaz teoria respectiv. Teoremele teoriei S sunt elementele mulimii { S

} (vezi observaia 3.8.8). Observaia 3.8.8: (1) Sistemu/ axiomatic: Axiomele LP si regula Modus Ponens constituie sistemul axiomatic Frege-Lukasiewicz [Heij67, Boye68,. Schm60]. Frege (german, 18481925) a fost primul filozof i logician care a definit un limbaj formal adecvat logicii. Lukasiewicz (polonez, 1878-1956) s-a ocupat de axiomatizarea LP. . (2) Modus Ponens: Dac si sunt demonstrabile Beth, atunci si sunt logic adevrate i astfel i este adevarat (de ce?). Exist o metod algoritmic ce reprezint o demonstraie Beth a lui din demonstraiile Beth ale lui si . Aceast metod este o aplicare a teoremei lui Gentzen (Gentzen Hauptsatz), dar demonstraia ei este n afara cadrului acestei cri. (3) Teoreme: O teorem este orice propoziie ce apare ntr-o demonstraie. Aceasta nseamn c teoremele teoriei S sunt exact elementele mulimii { S } . De obicei,

concluzia apare ca ultima propoziie din secven dar, de fapt, orice parte iniiala din demonstraie este de asemenea o demonstraie. (4) Se/ecia axiome/or: Metoda axiomatica de demonstrare este corect si complet, aa cum se va arta n capitolele urmtoare. Sistemul axiomatic ales este astfel complet, ceea. ce nseamn c orice tautologie poate fi.demonstrat din axiome prin aplicarea succesiva a regulii Modus Ponens. (5) Demonstrabilitate Beth: Deoarece axiomele sunt propoziii logic adevrate, ele sunt de asemenea demonstrabile Beth i regula Modus Ponens conduce de la propoziii logic adevrate la propoziii care sunt tot logic adevrate. n acest fel, orice teorem este demonstrabil Beth. (6) Axiome i reguli: Putem nlocui una sau mai multe din axiomele sistemului axiomatic LP cu reguli. De exemplu, cea de a treia axiom: ( ) ( ) poote fi nlocuit cu regula:

/
Alegerea ntre axiome i reguli este de obicei o opiune bazat pe evaluarea Personal a necesitailor teoretice specifice. (7) Derivarea din axiome: Pentru a demonstra o propoziie din axiome, trebuie s ncercm diverse combinaii pentru a putea determina combinaia adecvat de propoziii n aplicarea axiomelor si a regulii Modus Ponens. O singur derivare, de exemplu: (A B) ((C A) (CcB)) devine astfel dificil i consumatoare de timp, chiar avnd indicaia c prima i cea de a doua axiom trebuie utilizate ambele, de dou ori.

n schimb, demonstraiile Beth, aa cum au fost fixate de definiia 3.7.6, ofer o metod algoritmic sistematic de producere a rezultatului. Pentru acest motiv preferm utilizarea demonstraiior Beth. 3.8.8

3.9 Rezolutie
Terminologie si notaie n programarea logica
Metoda rezoluiei este cea mai eficace metod de demonstraie algoritmic a LP precum i, dup cum vom vedea n capitolul al doilea, a logicii predicatelor. Ea constituie metoda de demonstraie pe care se bazeaz limbajul de programare logic PROLOG. Metoda rezoluiei este o metod de demonstraie prin respingere, la fel ca demonstraiile Beth. n ansamblu, ea are un ir de asemnri cu metoda de demonstraie Beth, dar este mai potrivit pentru scrierea de programe logice, unde limbajul de programare este foarte apropiat de limbajul LP. Pentru a expune rezoluia, trebuie s definim unele concepte de baz ale programrii logice moderne. Definitia 3.9.1: Un literal este orice atom sau negaia acestuia De exemplu: A, B, C sunt literali. tim c putem dezvolta orice propoziie din LP ntr-o form normal conjunctiv, FNC,care este echivalent cu propoziia iniial. O component a FNC este de fapt o disjuncie de literali, astfel c n fiecare disjuncie nici un literal nu apare mai mult dect o dat. Prezentm acum un algoritm pentru construcia unei FNC pentru o propoziie dat, care este mult mai rapid decat construirea tabelei de adevr a propoziiei, urmat de alegerea coloanelor etc. . Acest algoritm rezult a fi o aplicaie bazat pe: (i)legile lui De Morgan:

(A B) A B si (A B) A B
(ii) proprietile de asociativitate ale lui i : (A B) C A (B C) si (A B) C A (B C) (iii) proprietile de comutativitate ale lui A i v: A B B A i A B B A (iv) proprietile de distributivitate ale lui fa de si ale lui fa de : A (B C) (A B) (A C) i A (B C) (A B) (A C)

(v)propoziiile: A A A A A A A (B B) A si

A (B B) A A A

Precum i pe teorema substituiei echivalenelor. (Ca exerciiu demonstrai c propoziiile de mai sus sunt tautologii.) Aceast metod va fi prezentat cu ajutorul unui exemplu. Exemplul 3.9.2 Dezvoltai propoziia S ntr-o FNC unde: S: (( A B) ( A B) C Pasul1: Mutm negaiile spre interiorul parantezelor folosind legile lui De Morgan: a: S [ (A B) ( A B)] C b: S [ ( A B) ( A B)] C Pasul2: Folosim proprietile de asociativitate i comutativitate pentru a aduce la un loc literalii aceluiai atom. Apoi putem simplifica dublele negaii, termenii dubli de forma A A si A A precum i termenii inutili de forma B Bsau B B folosind teorema substituiei echivalenelor: S [( A B) (A B)] Pasul 3: Conform proprietilor de distributivitate avem: S [(( A B) A) (( A B) B)] C Continum prin repetarea pailor al doilea i al treilea. pn ce stabilim FNC final: Pasul 1: S (( A B) A) (( A B) B) C Pasul 3': PasuI2':

( A A) ( B A) ( A B)( B B) C ( B A) ( A B) C
3.9.2

Care este FNC a lui S pe care o cautm.

Ultima form a lui S este o conjuncie de disjuncii de literali i este echivalent cu formula iniiala. Acest algoritm se termin n general cnd se obine urmtoarea forma a lui S:

( A1

A ... A ) ... ( A A
2 k 1

...

A)
k

unde elementele lui { A1 ,... Ak ,... A1 ,... Ak } sunt literali. n contextul metodei de demonstraie prin rezoluie, exprimarea unei propoziii ca o mulime de literali se vdete foarte util. De exemplu, propoziia din prima parantez din (*) devine: { A1 , A2 ,..., A } k1 Considerm c o astfel de mulime reprezint o disjuncie de literali i anume, o propoziie din LP. Vom da acum definiia riguroas a formei unei propoziii exprimat pe baza teoriei mulimilor. Definitia 3.9.3: Disjuncia unui numr finit de literali poate fi reprezentat conform teoriei mulimilor ca o mulime ale crei elemente sunt literalii n cauz. Aceast mulime se numete clauz. Astfel, o clauz este echivalent cu o propoziie disjunctiv din LP. Din motive tehnice vom introduce i noiunea de clauz vid, o clauz care nu conine literali i este ntotdeauna neverificabil. Clauza vid se noteaz prin O. 3.9.3 Definiia 3.9.4: Conjuncia unui numr finit de clauze poate fi reprezentat conform teoriei mulimilor ca o mulime ale crei elemente sunt aceste clauze. Aceasta mulime se numete mulime (set) de clauze. O mulime de clauze constituie astfel o conjuncie de disjuncii, n spe o propoziie conjunctiv din LP 3.9.4

Exemplul3.9.5: Mulimea de clauze: {{A,B},{B,C},{D}} 1 2 3 reprezint propoziia: ((A B) ( B C) D) 1 2 Observaia 3.9.6: 3

(1) Este evident c o valorizare de adevr verific o mulime de clauze dac verific fiecare clauz din mulime. De exemplu, fie S = {{A, B}, { C}} o multime de clauze i fie V o valorizare de adevr astfel nct: V(A) = V(B) = V(C) = a. Atunci,. V nu verific S ntruct nu verific una din componentele sale si anume pe { C}. .

(2) "Firete putem considera i mulimea de clauze vid { }, care trebuie s nu se confunde cu clauz vid o. n mod formal, fiecare valorizare de adevr verific mulimea de clauze vid, deoarece valideaz fiecare din componentele sale (nu exist nicio propoziie coninuta n clauzele din { }. vezi demonstraia corolarului 3.5.4). Dimpotriv, orice mulime de clauze "care conine clauza vid nu poate fi verificat de nici o valorizare de adevr, deoarece nu este verificabil. n mod intuitiv, mulimea de clauze vid arat c nu exist nici o "aseriune"(propoziie) privind "lumea" (mulimea de propoziii), n timp ce clauza vid arat c avem cel puin o propoziie privind "Iumea" noastr, clauza , care creeaz ntotdeauna contradicii, ntruct o face inconsistent, i anume neverificabil. 3.9.6 n programarea logica, precum i n majoritatea versiunilor de PROLOG, predomin reprezentarea de mai sus. . ". FIe S propoziia:

unde S

A ( B ) ( B ) A ,, A , B ,.., B sunt atomi. Atunci avem:


k 1 l k 1 l 1

B ) conform De Morgan ( B B ) ( A A )conform ( B A) (B A)



1 k l l 1 k

( B1

si, n sfrsit: . S (( A1

A ) ( B
k

B ))
l

Pentru folosirea lui drept conector logic vezi i observaia 1.2.9. Dac dorim acum ca n locul conectorilor logici , si s folosim simbolurile analoage "," (virgula), ";" (punctul si virgula) si ":-" (simbolul "gatului"), atunci S poate fi reprezentat echivalent prin:

A ; ; A
1

:-

B ,.., B
1

.. Dac n propozitia (2) este valabil k= 1, atunci avem:

:-

B , ..., B
1

Definia 3.9.7: Fiecare clauz de forma (3) este o clauz Horn. Atomul A este capul sau scopul lui S, iar componentele conjunctive B1 , ..., Bl . sunt coada sau corpul sau subscopurile lui S. 3.9.7 I . Interpretarea intuitiv a unei clauze Horn este c pentru ca un scop A s fie valid, trebuie ca i subscopurile B1 , ..., Bl s fie valide.

Definiia 3.9.8: Dac ntr-o clauz de forma (2) k = 0, atunci clauza: :-

B , ..., B
1

(4)

se numete scop de program sau scop definit (determinat). Dac 1 = 0, clauza:

A :1

(5)

II 3.9.8

se numete clauz unitate sau fapt. Observatia 3.9.9: (1) O mulime de clauze S dat poate fi considerat n sens larg drept o baz de date, vezi si seciunea 3.3.1, deoarece clauzele din S reprezint informaii privind relaiile dintre atomii pe care i conin. (2) Verificarea scopului A n clauza" A :- B1 ,..., Bl este dedus din validarea subscopurilor exist o demonstraie a lui A. n caz contrar, se spune c A eueaz.

B , ..., B . ntr-un astfel de caz se spune ca scopul A reueste sau c


1 l

ntotdeauna. n acest caz, Al constituie o afirmaie,un fapt al bazei noastre de date. 3.9.9 Privind n ansamblu, rezoluia este o regul deductiv prin care, ntr-o clauz, putem deduce o propoziie din alte dou propozitii. nainte de a descrie metoda riguros, s dm un exemplu. Exemplul3.9.10: S considerm urmatoarele clauze: { A, B} {A, C} Aplicnd rezoluia, putem deduce: {B, C}

(3) Forma (4) a unei clauze Horn, denotnd absena unui scop, afirm c cel puin unul dintre Bl ,1 i l esueaz. Forma (5) a unei clauze Horn nseamn c A1 reueste

Sensul intuitiv al folosirii unei astfel de reguli devine foarte clar cnd reexprimam clauza precedenta conform formulrilor clasice din LP: propoziii date: ( A B) (A C)

concluzia:

(B C)

Aceast regul este o aplicare a tautologiei: ( A B) (A C) (B C)

Din teorema competudinii 3.10.9 tim c tautologiile se pot deduce folosind axiomele i Modus Ponens.Astfel: Atunci, din teorema deduciei (teorema3.8.7),obinem : Regula rezoluiei este deciderivabil in LP. Ca o generalizare a exemplului anterior, s considerm ca fiind date urmtoarele clauze:

C C

={ A1 ,, A , k1

B ,, B }
1 l

={ D1 , D2 ,..., D , F 2 ,..., F } k1 l2
1
1

unde
1

A ,..., Ak , B ,..., Bl , D ,..., Dk , F ,..., F l A coincide cu F .


1
1

sunt atomi.S presupunem ca si ca


2

Putem atunci rescrie cele dou clauze dup cum urmeaz:

C C

={ A1 } C1 ={

'

unde
' 2

C C
' 2

' 1

={ A1 ,, A , k1

B ,, B }
1

A } C
1

unde

={ D1 , D2 ,..., D , F 2 ,..., F } k1 l2

Atunci, regula rezoluiei pe care vrem s o stabilim va trebui s ne permit s producem drept deducie clauza urmtoare:
C= C1 C 2
' '

Cu alte cuvinte: Fiind date:

C C

={ A1 } C1 ={

'

A } C
1

' 2

Concluzia:

(*) A }) Putem considera c cele dou clauze, C si C , "sunt n conflict" sau "se ciocnesc" pentru c C conine literalul A iar C literalul A .nlturarea cauzei de conflict
1

C
1

'

C 2 =( C1 -{ A1 }) ( C 2 -{
1

'

conduce la clauza (*), care rezolv ciocnirea. Metoda i datoreaz numele acestei rezolvri (rezoluii). Putem defini acum riguros metoda rezoluiei.

Definiia 3.9.11: Rezoluia, o descriere formalizat:

Fie

dou clauze i fie L un literal astfel nct L C1 i ( L) C 2 .

putem atunci deduce rezolventul D al lui D=( C1 -{L}) ( C 2 -{ L})


Exemplul3.9.12:

si

fiind date:

C C

={P,Q} ={ P, Q}

concluzia:

D={Q, Q} 3.9.12

Dac avem o mulime care conine mai mult dect dou clauze, putem introduce noiunea de mulime rezolvent:
Definiia 3.9.13: Fie S={ C1 , C 2 ,, C n } o multime de clauze. Atunci mulimea:

R(S)=S {D D este rezolventul clauzelor lui S.

C ,C
i

S,i j ,1 i, j n }este rezolventul

Exemplul 3.9.14: Fie S o mulime de clauze:

S={{A, B, C}{B,D}{ A, D}} 1 1 {A, B, C} 2 {B,D} 4 {A,D, C} 2 3 3 { A, D} 1{A, B, C} 6 { B, C, D} Aplicnd regula rezoluiei perechilor de clauze ale lui S, avem: 2 {B,D} 3 { A, D} 4{B, A}

i, n final:R(S)={{A, B, C},{B,D},{ A, D},{A,D, C},{B, A},{ B, C, D}}

Firete, putem continua cu aplicarea metodei, lund succesiv mulimile urmtoare:

R (S ) = S , R (s) = R(S ), R (S ) = R( R(S )),..., R


i, n final:

( S ) = R( R

n 1

( S ))

( S ) = U R ( S ) = {C i C i R ( S ) si j }
n =1

unde

sunt clauzele coninute n al j-lea rezolvent al lui S.

De notat c

R (S )

este o mulime finit dac i numai dac S este finit. 3.9.14

Observaia 3.9.15:

(1) n exemplul 3.9.12, am ales s aplicm rezoluia cu ajutorul literalului P. Am fi putut s facem aceasta cu ajutorul lui Q, deoarece i Q este evident o cauz de conflict. (2) Este intuitiv c la fiecare aplicare a rezoluiei; dac o valorizare de adevr verific pe C1 i C 2 ,atunci verific si rezolventul lor D. De asemenea, oricnd o valorizare de adevr verific S, verific i R(S). (3) De notat c rezolventul D al lui C1 i C 2 cuprinde mai puin informaie dect C1 i

. Aceasta se vede clar din urmtorul exemplu.

3.9.15

Exemplul 3.9.16 Fie S = {{A, B}, {-'B}} o mulime de clauze. Atunci, prin rezoluie avem

date:

C C

1 2

= {A, B} = { B}

rezoluia: D = {A} Aplicnd rezoluia asupra lui S, producem D = {A}, care nu conine nici o informaie despre literalul B. 3.9.16 Vom da acum definiia riguroas a demonstraiilor prin metoda rezoluiei.

Definiia 3.9.17: Fie S o mulime de clauze. O demonstraie prin rezoluie din S este o secven finit de clauze C1 ... , C n , astfel nct pentru fiecare C i , i = 1, ... , n,avem:

C (S )sau C R({C , C })1 j, k i n


i i j k

O clauz C este demonstrabil prin rezoluie dintr-o mulime de clauze S, formalizat SRC, dac exist o demonstraie prin rezoluie din S a crei ultim clauz este C. * Evident, C R ( S ) 1 .9. I 7
Exemplul 3.9.18 Aflai toi rezolvenii mulimii de clauze:

S = {{A, B}, { A B}} S numerotm toate clauzele n S: 1. {A,B} 2. { A, B} 3. {B, B} 4. {A, A } din 1 i 2 din 1 i 2

Atunci:

R (S ) = {{A, B}, { A, B, {B, B}, {A, A}}


La sfrit:

R (S ) = R (S ) R (S ) = {{A, B}, { A, B}, {B, B}, {A, A}}


Clauze de tipul {A, A}, adic A v A, sunt tautologii.
Exemplul.l.9.19: Se d urmtoarea propoziie:

S: (( A ( B C )) ( A B)( A C) Demonstrai c S nu este verificabil.


Demonstraie:

Pasu/1: Se stabilete FNC a lui S:

S ((A (B C)) ((B C) A) (A B) (B A) (A C) ( C A)


( A B C) A C) (C A)

(B A) 2

( C A) 3

( A B) 4 5

( B A) (

1 7

Pasu/ 2: Se alctuiete mulimea de clauze corespunztoare:

S={{ A, B,C},{B,A},{ C,A},{ A,B},{ B,A},{ A, C},{C,A}} 1 2 3 4 5 6 7 Pasu/3: Se stabilesc feluriii rezolveni: 8. {A} 9. { A, B} 10.{ A} 11. din 2 si 5 din 1 si 6 din 4 si 9 din 8 si 10

(vezi si definiia 3.9.3. Literalul A este eliminat, iar clauza 11 nu conine nici un literal). ntruct clauza vid aparine rezolventului conform 11, mulimea de clauze S nu este verificabil. Astfel, propozitia S nu este verificabil. 3.9.19
Exemplul 3.9.20:Demonstrai c propoziia B este demonstrabil prin rezoluie din mulimea:

S= {{A, B}, { A, B, C}, { A, B, C}}


Demonstraie 1. {A, B} 2. { A, E, C} 3. { A, B, C} 4. { A, E} 5. { B}

din 2 ii 3 din 4 i 1

Demonstraia prin rezoluie pe care o cutm este succesiunea clauzelor 1,2,3, 4 i 5. 3.9.20

Observaia 3.9.21 Demonstraia din exemplul 3.9.20 ar fi putut fi nfptuit i dup cum urmeaz:

Aplicm rezoluia asupra lui:

= {{A, B}, { A, E, C}, { A, B, C}, {B}} = S {B}

Pentru a da: 5. {A} din 1 i 4 6. { A, B} din 2 i 3 7. { A} din4 i 6 8. din 5 i 7 Anume avem S {B}R . ntruct regula rezoluiei este o regul derivabil n LP dup cum am vzut n exemplul 3.9.10, avem de asemenea S {B} . Dar,n acest caz, avem, conform teoremei deduciei 3.8.6, ca S B . Conform tautologiei (B ) B B, putem conchide S B; cu alte cuvinete B este demonstrabil din S. 3.9.21

3.10 Corectitudinea si completitudinea tablourilor

n seciunile urmtoare vom da teoremele de baz privind corectitudinea a i completitudinea metodelor de demonstraie pe care le-am prezentat.Vom incepe cu corectitudinea i completitudinea demonstraiilor Beth. Pentru fiecare din definiiile sau teoremele urmtoare care conin noiunile de demonstraie Beth"i"logic adevrat", exist definiii i teoreme duale, corespunznd noiunilor duale de "respingere Beth" i respectiv "logic fals", Formularea acestor definiii i teoreme este lsat ca exerciiu pentru cititor. Vom demonstra c toate propoziiile demonstrabile Beth sunt,adevrate (corectitudine) i,reciproc, c oricare propoziie logic adevrat este demonstrabil Beth (completitudine) [SmuI68]. Demonstraiile pe care le vom prezenta sunt inductive asupra lungimii unei propoziii sau asupra lungimii unui tablou semantic. Am descris deja schema de inducie pentru propoziii. Acum vom descrie schema de inducie general pentru tablouri semantice.
Definiia 3.10.1: Schema de inducie pentru tablouri semantice:.

Fie P o proprietate a unui tablou semantic oarecare T, simbolic P(T). Dac. demonstrm c.: (a) fiecare tablou semantic atomic are proprietatea P,

(b) dac P este o proprietate a tabloului semantic T iar dac T' este un nou tablou semantic format prin concatenarea unui tablou semantic atomic la captul uneia din ramurile lui T, atunci P este i o proprietate a lui T' , putem deduce atunci ca P este o proprietate a tuturor tablourilor semantice, adic P(T) este valabil pentru fiecare tablou semantic T. numrul de tablouri semantice atomice din T. Analogia dintre schema de inducie pentru propoziii, definiia 1.2.2, i schema de inducie pentru tablouri semantice este evident.
Exemplul 3.10.2: Fie P proprietatea "numrul de noduri al unui tablou semantic este mai mare sau egal cu numrul de ramuri". Demonstraie:

3.10.1 .

Pentru un tablou semantic T, inducia este realizat pe lungimea lui T., n spe pe

(a) n toate tablourile semantice atomice numrul de noduri este mai mare sau egal cu numrul de ramuri. (b) S presupunem c n tabloul semantic T, numrul de noduri este mai mare sau egal eu numrul de ramuri. Mergem mai departe concatennd un tablou semantic la captul uneia din ramurile lui T. Dac nodul de concatenare este a( ) sau f ( ) ,atunci avem un nod n plus n timp ce numrul de ramuri a rmas acelai. Pentru orice altfel de nod de concatenare vor fi cel mult dou noi ramuri i cel puin dou noduri noi, conform definiiei 3.7.1. Astfel, n noul tablou semantic T' , numrul de noduri este iari mai mare sau egal cu numrul de ramuri. 3.10.2 Dm acum unele definiii i leme auxiliare privind teoremele de corectitudine i completitudine pentru demonstraiile Beth.
Definiia 3.10.3: Fie K o ramur a unui tablou semantic T si fie P = { P1 ,..., Pn }

mulimea nodurilor lui k, unde pentru fiecare propoziie , ori

P = aori P = f . Atunci, valorizarea de adevr V concord cu ramura K dac pentru fiecare P P :


i i i

Lema 3.10.4 Fie V o vaIorizare de adevr care concord cu originea unui tabIou semantic, ceea ce nseamn c dac originea este aa, atunci V( ) = a,iar dac originea este a, atunci V( ) = f. Atunci V concord cu o ramur a tabloului semantic. Demonstraie: Prin inducie:

P = a V ( ) = asi P = f V ( ) = f
i i

(a) Lema este evident valabil pentru tablourile semantice atomice. (b) S presupunem c lema este valabil n tabloul semantic T. Fie T' tabloul semantic construit prin concatenarea unui tablou semantic atomic cu o origine X la captul unei ramuri K a lui T. Vrem s demonstrm acum c lema este valabil n tabloul semantic T' .

Cazul 1: V concord cu toate nodurile din ramura K. Atunci V concord cu nodul X i astfel, concord cu una din ramurile tabloului semantic atomic cu X la origine. Fie k 1

ramura de concordan dintre V i tabloul semantic atomic. Ramura K k 1 rezultat din concatenarea lui K cu

este ramura lui T pe care o cautm i cu care concord V. .

Cazul 2: V nu concord cu K, dar concord cu originea lui T, altfel nu trebuie s demonstrm nimic. Atunci, exist o alt ramur K a lui T cu care V concord. Dar i K este o ramur a lui T. Aadar, V concord cu K .

3.10.4
Lema3.10.5: Lema lui Hintikka:

Fie K o ramur necontradictorie a unui tablou semantic complet. Definim o atribuire de adevr i astfel, valorizarea de adevr corespunztoare, dup cum urmeaz: V(A) = a dac aA este nod al luiK V(A) = f dac aA nu este nod al lui K . Atunci V concord cu ramura K.
Demonstraie: Prin inducie peste lungimea propoziiilor:

(a) . Dac A este un atom i aA este un nod al lui K, atunci V(A) = a iar V concord cu K. Dac IA .este nod, ntruct K este necontradictorie,. AA nu este nod i deci V(A) = I. este complet, acest nod a fost utilizat undeva ntr-un punct i: (b) Dac a( 1 2) este un nod al lui K, atunci, deoarece tabloul semantic

a 1 a 2
a fost concatenat la captul ramurii K. Prin urmare, a 1 i a 2 sunt noduri ale ramurii K. Conform ipotezei: V( 1 )=a si V( 2 )=a i astfel V( 1 2 ) = a. Dac f( 1 2 ) este nod al lui K, atunci, deoarece tabloul semantic este complet, nodul f( 1 2 ) a fost utilizat undeva ntr-un punct i:

f 1

f 2

a fost concatenat la captul ramurii K. Dar, n acest caz, ori f( 1 ) ori f( 2 )sunt noduri ale lui K. i, de aceea,conform ipotezei, V( 1 ) = f sau V( 2 ) = f, deci V( 1 2 )=f.

Analizarea n acelai fel a restului cazurilor posibile este lsat ca exerciiu n seama cititorului. *Lema.lui Hintikka ne ofer practic un algoritm pentru construirea unui contraexemplu la aseriunea ca o propoziie este logic adevrat. S presupunem c ni se d o propoziie . Construim atunci un tablou semantic complet cu f drept origine. Dac tabloul semantic este contradictoriu, atunci propoziia este ntr-adevr ,logic adevrat. Dac tabloul semantic nu este contradictoriu, atunci are cel puin o ramur necontradictorie K. Lema lui Hintikka ne indic modul n care s construim pe baza lui K o valorizare de adevr, astfel nct V( )=f S examinm acest procedeu cu un exemplu.
Exemplul3.10.6: Aflai o valorizare de adevr V astfel nct:

Ramurile K2 i K4 contradictorii. Putem folosi oricare din ramurile necontradictorii KI si K3 pentru a aplica lema lui Hintikka. Avem, de exemplu, valorizrile de adevr VI i V3 cu:,

V V

(A) = f

(B) = f

(A) = a

(B) = f

astfel nct:
1

Asta nseamn c am gsit dou valorizri de adevr care dau propoziiei

(( A B) ( A B)) = V 3 (( A B) ( A B)) = f

( A B) ( A B) valoarea de adevr f.
3.10.6 f ( A B) ( A B)

a ( A B)

f ( A B)

f ( A B)
fA fA fB aB aB fA fB

a( A B)
aA fB aA

Teorem 3.10.7:Teorema de corectitudine:

Dac o propoziie este demonstrabil Beth, atunci este si logic adevrat..


Formalizat:

B Demonstraie: Dac propoziia nu este logic adevrat, atund exista o valorizare de adevr astfel nct V( ) = f Conform lemei 3.10.4, fiecare tablou semantic cu f la origine are cel puin o ramur K care concord cu V i, prin urmare, nu este contradictorie (de ce?). Aadar, nu este demonstrabil Beth. 3.10.7
Observaia 3.10.8:n demonstraia teoremei 3.10.7 am folosit n metalimbajul nostru axioma a treia:

( P1 P2) ( P1 P2)
n loc de a demonstra
1

logic adevrat, am demonstrat c P1 P2 , cu alte cuvinte, dac nu este logic adevrat, atunci nu este demonstrabil Beth. Aceast metod de demonstraie este folosit destul de des i se numete demonstraie indirect sau prin contrapoziie. (Metoda de demonstraie direct ar nsemna s se demonstreze nemijlocit P1 P2 ) 3.10.8
Teorema 3.10.9: Teorema de completitudine:

P P

adic dac este demonstrabil .Beth, atunci este

Dac o propoziie este logic adevrat, atunci este i demonstrabil Beth. Formalizat: B Demonstraie: Dac propoziia este logic adevrat, atunci pentru fiecare valorizare de adevr V. este valabil V( ) = a. S presupunem c nu exist o demonstraie Beth pentru . Construim un tab lou semantic complet cu o origine f .Acest tablou semantic trebuie s aib o ramur necontradictorie. Conform lemei 3.10.4, exist o valorizare de adevr V definit adecvat care concord cu aceast ramur i, prin. urmare, cu originea f . Dar atunci V( ) =f, ajungnd la o contradicie. Aadar, exist o demonstraie Beth pentru . 3.10.9 Din demonstraia de completitudine rezult evident c, dac am fi ncercat s construim o demonstraie Beth pentru o propoziie (n spe un tablou semantic complet avnd drept origine f ) i am fi euat, adic dac tabloul semantic complet construit are cel puin o ramur necontradictorie, atunci, exact ca n lema 3.10.5, poate fi definit o valorizare de adevr care este un contraexemplu la aseriunea ca este logic adevrat. Cu alte cuvinte,construind un tablou semantic al lui avem garania fie de a obine o demonstraie a lui , fie un contraexemplu la aseriunea c este adevrat.
3.11 Deducii din ipoteze Teorema de compactitate

Demonstrarea automat de teoreme din ipoteze i date este un obiectiv de seam al programrii logice.n subcapitolul 3.5 am discutat consecinele unei mulimi de ipoteze S. O propozitie s-a numit consecin a lui S, S = , dac fiecare valorizare de adevr

care face valide toate propoziiile din S atribuie i lui valoarea de adevr a. Putem acum defini ce nseamn deducerea unei propoziii dintr-o mulime de propoziii i de ipoteze.
Definiia 3.11.1: Fie:

, , , ,..., ,...
1 2 n

un ir finit sau infinit de propoziii. Se spune c este o deducie Beth din 1 , 2 , , n , , dac exist un tablou semantic contradictoriu construit dup cum urmeaz: Pasul 0: ncepem cu f drept origine; Pasul P 2 n : plasm a n la captul fiecrei ramuri necontradictorii;

Pasul P 2 n+1 : precedent.

aplicm regulile de dezvoltare tabloului semantic T 2 n de la pasul

Dac irul de propoziii este finit, aceast construcie poate sa nu se termine niciodat. este o deducie Beth numai dac construcia se termin i dac se obine un tablou semantic contradictoriu. Atunci, n mod intuitiv, nu exist o valorizare de care s atribuie valoarea de adevr a tuturor propoziiilor n folosite n construirea tabloului semantic i care s atribuie valoarea de adevr f lui . Dac irul iniial este finit, atunci construcia se va termina cu siguran, oferind un tablou semantic complet. S ilustrm construcia de mai sus cu un exemplu. Exemplul 3.11.2: Dorim s demonstrm c propoziia A este o deducie Beth din propoziiile B i (A B). ncepem cu fA i concatenm succesiv aseriunile a(B) i a(A B), ca n tabloul de mai jos:

fA

a(B)

a(A B)

aA

aB

fB

Examinm pe a(A B). Ramura din stnga este contradictorie i nu mai trebuie examinat mai departe. n ramura din dreapta examinm pe a(B). i aceast ramur este contradictorie. Aadar, A este o deducie Beth din B i (A B). Cele dou teoreme care urmeaz se refer la iruri finite de ipoteze. Ele corespund teoremelor de corectitudine i completitudine din seciunea precedent.
Teorema 3.11.3: corectitudinea deduciilor: Dac o propoziie este o deducie Beth din 1 , 2 , , n , , atunci este o

consecin a 1 , 2 , , n . Formalizat :
{ 1 , 2 , , n } |- B
Demonstraie: Indirect:

=>

{ 1 , 2 , , n } |=

S presupunem c nu este o consecin a 1 , 2 , , n . Atunci exist o valorizare de adevr V cu proprietatea: V( 1 ) = = V( n ) = a n timp ce V() = f. Conform lemei 3.10.4 fiecare tablou semantic cu o origine f are cel puin o ramur care concord cu V i deci necontradictorie. Atunci nu este demonstrabil Beth din { 1 , 2 , , n }. Teorema 3.11.4: Completitudinea deduciilor: Dac o propoziie este o consecin a 1 , 2 , , n , atunci este o deducie

Beth din 1 , 2 , , n . Formalizat:


{ 1 , 2 , , n } |= => { 1 , 2 , , n } |- B
Demonstraie: S presupunem c nu este o deducie Beth din 1 , 2 , , n . Atunci, putem s construim un tablou semantic complet necontradictoriu avnd drept origine f, fiecare ramur a acestuia continnd nodurile a 1 , a 2 , , a n . Aadar, exist o ramur a acestui tablou care este necontradictorie i, conform lemei 3.10.5, exist o valorizare de adevr V care concord cu aceast ramur. Prin urmare avem, avem V( 1 ) = V( 2 ) = V( n ) = a i V() = f. totui, aceasta este o contradicie, deoarece este o consecin a

1 , 2 , , n . Observaia 3.11.5: Teoremele de corectitudine 3.11.3 i de completitudine 3.11.4 sunt valabile chiar dac irul { k , k } are un numr infinit de termeni. Acum putem formula, demonstra i aplica teorema de compacitate a LP. Mai nti vom da o definiie de baz. Definiia 3.11.6: Un ir 1 , 2 , , n , se numete verificabil dac exist o valorizare de adevr V astfel nct V( 1 ) = V( 2 ) = = V( n ) = a. n acest caz se spune c V
verific (sau satisface) irul 1 , 2 , , n . Exemplul 3.11.7: Dac A 1 , A 2 , este un ir de atomi, atunci irul infinit A 1 , A 2 , A 1 A 2 , A 3 , A 1 A 3 , A 2 A 3 , este verificabil. (O valorizare de adevr V astfel nct a =

V(A 1 ) = V(A 2 ) = = V(A 3 ) = verific irul.) Dimpotriv, A 1 , A 2 , (A 1 A 2 ),


(A 3 ) este un ir finit care nu este verificabil. ntr-adevr, dac presupunem c este verificabil, atunci exist o valorizare de adevr V astfel nct: V(A 1 ) = V(A 2 ) = V(A 1 A 2 ) = V(A 3 ) = a Cu alte cuvinte, V(A 3 ) = f n timp ce V(A 1 ) ~ ~ > V(A 3 ) = a, ceea ce nseamn c V(A 1 ) = f, iar aceasta este o contradicie. nainte de a formula teorema de compacitate, vom da o definiie i o lema care sunt necesare demonstraiei n cauz.
Definiia 3.11.8: (1) Fie X,Y dou noduri ale unui tablou semantic. Y este un descendent al lui X dac exist o ramur care trece prin X i Y, iar X este mai apropae de origine dect Y. Y este un descendent imediat al lui X dac Y este un descendent al lui

X i nu exist nici un alt nod ntre X i Y n ramura care trece prin X i Y. Se spune c X este adecvat dac are un numr infinit de descendeni. (2) Un tablou semantic se numete a fi de grad finit dac fiecare din nodurile sale are numai un numar finit de descendeni imediai. Lema 3.11.9: Lema lui Knig: Un tablou de grad finit cu numar infinit de noduri are cel puin o ramur infinit. Demonstraie: De remarcat c originea unui tablou semantic cu un numr infinit de noduri este un nod adecvat. n plus, dac X este un nod adecvat, atunci cel puin unul din descendenii si imediaieste de asemenea un nod adecvat, deoarece tablou semantic este de grad finit. Astfel, dac X 0 este nodul de origine, dac X 1 este un descendent imediat al
lui X 0 i, totodat, un nod adecvat, dac X 2 este un descendent imediat al lui X 1 i, totodat un nod adecvat, dac i aa mai departe, atunci ramura X 0 X 1 are un numr infinit de noduri. Teorema 3.11.10: Teorema de compacitate: Fie 1 , 2 , un ir finit de propoziii. Dac pentru fecare n, irul finit 1 , 2 , , n este verificabil, atunci irul 1 , 2 , este verificabil. Demonstraie: Vom descrie inductiv construirea unui tablou semantic care poate fi infinit: Pasul 1: ncepei cu f( 1 ) drept origine. Pasul P 2 n : Plasai a( n ) la captul fiecrei ramuri necontradictorii a tabloului T 2 n 1 , construind astfel tabloul T 2 n . Pasul P 2 n +1 : Alegei nodul nefolosit al lui T 2 n care se afl cel mai la stnga i aplicai regulile de dezvoltare din definiia 3.7.1. S presupunem c construcia se termin dac, la un pas impar 2n+1, toate ramurile sunt contradictorii. (Dac nu sunt contradictorii,trebuie s continum construcia cu pasul urmtor 2n+1.) Dac se ntmpl aa, avem un tablou semantic contradictoriu cu originea f( 1 ) i cu 1 , 2 , , n ca ipoteze. Conform teoremei 3.11.3, tim c 1 este o consecin a lui 2 , 3 , , n i, prin urmare, 1 , 2 , , n nu este verificabil, ceea ce contrazice premisele. Aadar construcia nu se termin niciodat i astfel, va rezulta un tablou semantic cu un numr infinit de noduri. Acest tablou semantic este de grad finit deoarece fiecare din nodurile sale are un numr finit de descendeni direci. Aplicnd lema lui Knig avem, aadar, un tablou semantic cu o ramur infinit k, unde orice a i este un nod al lui k pentru orice i=1,2, Definim acum o valorizare de adevr V astfel nct: V(A) = a A este un simbol propoziional, iar aA este un nod al lui k. Apoi, din lema lui Hintikka putem deduce c V( i ) = a pentru orice I, iar 1 , 2 , , n este verificabil.

3.12 Corectitudinea i completitudinea demonstraiilor axiomatice


Prezentm acum teoremele de corectitudine, completitudine i compacitate ale metodei axiomatice. Demonstraiile acestor teoreme nu se dau aici, dar cititorul poate s le afle n majoritatea crilor clasice de logic precum [Klee52, Rasi74,RaSi70]. Teorema 3.12.1: este demonstrabil dintr-o mulime S de propoziii dac i numai dac este o consecin a lui S. Formalizat: S |- S |= . Corolarul 3.12.2: este demonstrabil din S= este o logic adevrat. Teorema 3.12.3: Compacitate: S este o mulime de propoziii verificabil dac i numai dac orice submulime finit a lui S este verificabil.

3.13 Corectitudinea i completitudinea rezoluiei


n continuare, ne ocupm de teoremele de corectitudine i completitudine ale metodei rezoluiei. Teorema 3.13.1: Corectitudinea i completitudinea rezoluiei: S este o mulime de clauze neverificabil dac i numai dac R * (S) conine clauza vid. Formalizat: R * (S) S este verificabil Pentru demonstraia teoremei de corectitudine trebuie s demonstrm mai nti o lem auxiliar. Lema 3.13.2: Dac {C 1 ,C 2 } este o mulime de clauze veificabil i dac C este rezolventul lui C 1 ,C 2 , atunci C este verificabil.
' Demonstraie: Pentru un literal oarecare p, avem C 1 = {p} C 1 , C 2 = {p} C '2 i C ' C '2 . dac V este o valorizare de adevr care verific {C 1 ,C 2 }, atunci V(p) = a sau = C1 V(p) = a. S presupunem c V = a, pur i simplu l nlocuim pe C 2 cu C 1 . Teorema 3.13.3: corectitudinea rezoluiei: Dac R * (S), S este neverificabil. Formalizat: R * (S) S este verificabil Demonstraie: Fie C 1 , ,C k o demonstraie prin rezoluie a lui S. Atunci , prin folosirea inductiv a lemei de mai sus, demonstrm c orice valorizare de adevr care verific pe S, verific i pe C 1 . Dac concluzia este clauza vid, atunci C k coincide cu . Deoarece clauza vid este neverificabil, S este neverificabil. Pentru a demnostra completitudinea rezolutiei vom folosi urmtoarea lem auxiliar. Lema 3.13.4: Fie S o mulime de clauze neverificabil n care numai literalele A 1 ,A 2 , , A k . Fie S k 1 mulimea finit de clauze care sunt demonstrabile prin rezoluie i n care

singurele propoziii atomice care apar sunt A 1 ,A 2 , , A k 1 . Atunci S k 1 este neverificabil.

Demonstraie: S presupunem c S k 1 este verificabil. Atunci exist o valorizare de adevr V peste { A 1 ,A 2 , , A k 1 } care verific S k 1 . Fie V 1 i V 2 doua extensii ale lui V

peste { A 1 ,A 2 , , A k } astfel nct: V 1 (A k )= a

V 2 (A k ) = f

Deoarece S este neverificabil, exist o clauz C 1 S care nu este verificabil prin V 1 . Totui, atunci A k C 1 , deoarece altfel exist dou posibiliti:
(a) A k C 1 . Dar atunci V 1 nu conine A k , C 1 S k 1 i V 1 verific C 1 , contradicie; (b) A k C 1 . Atunci V 1 verific S k 1 i V 1 (A k ) = a. Aadar V 1 verific C 1 , contradicie. Putem conchide de asmenea, n mod similar, c exist o clauz C 2 S, care nu este verificabil prin V 2 , astfel nct A k C 2 .

S considerm D = (C 1 - { A k }) (C 2 - {A k }). D este rezolventul lui C 1 ,C 2 iar D S k 1 . Prin urmare, V verific D. Cu alte cuvinte, va fi valabil una din urmtoarele: (a) V verific C 1 - { A k }. Dar atunci V 1 verific C 1 , contradicie;
(b) V verific C 2 - {A k }. Dar atunci V 2 verific C 2 , contradicie.

Atunci S k 1 este neverificabil. Teorema 3.13.5: ompletitudinea rezoluiei: Daca S este o mulime de clauze neverificabil, atunci clauza vid este demonstrabil prin rezoluie din S. Formalizat: S neverificabil => R * (S) Demonstraie: Conform definiiei 3.9.3, S conine un numr finit de literali. Fie aceti literali A 1 ,A 2 , , A k . Aplicnd lema precedent o dat, conchidem c S k 1 este neverificabil. Aplicnd aceeai lem de k ori, conchidem ca S este neverificabil, deoarece n clauzele sale nu apar nici un fel de propoziii atomice iar S 0 R * (S). Observaia 3.13.6: Dac este o propoziie demonstrabil prin rezoluie din mulimea S de propoziii, atunci este demonstrabil din S (definiia 3.8.5). Avem atunci conform teoremei completitudinii 3.12.1: S |- R S |- S |= (1) Conform teoremelor de corectitudine i completitudine 3.10.6 i 3.10.8, (1) se poate generaliza: S |- R S |- B S |- S |=

Capitolul 4 Logica predicatelor


Lucrurile luate mpreun pot forma un ntreg sau nu, pot fi ceva adunat laolalt sau rspndit, pot fi n consonan sau nu: din toate lucrurile se poate face o unitate i dintr-o unitate se pot obine toate lucrurile. Heraklit

4.1

Introducere

n capitolul precedent s-a fcut o descriere analitic a limbajului LP, un limbaj formal, pe baza cruia putem exprima att propoziii simple ct i propoziii compuse. Mai mult, am examinat metodele de derivare a concluziilor din mulimi de propoziii LP. Dei limbajul LP este destul de bogat, el permite numai o exprimare limitat a proprietilor i relaiilor. S considerm urmtorul exmplu de propoziie n limbaj natural: S: Dac George este om atunci George este muritor Dac A reprezint propoziia: George este om iar B reprezint: George este muritor atunci, n contextul LP, S devine: S: A B S exprim anumite caracteristici ale unei anumite persoane particulare, respectiv George. Cum putem ns exprima proprieti similare ale altor persoane, cum ar fi Socrate sau Petre? O soluie ar fi s introducem tot attea simboluri propoziionale diferite ci oameni exist! Dar acest lucru este imposibil n practic. n acest capitol vom descrie limbajul Logicii Predicatelor, care ofer o soluie acestei probleme. Elementul de noutate al acestui limbaj este introducerea variabilelor i a cuantificatorilor. A) Variabile Dac considerm propoziia S i dac presupunem c x este o variabil care ia valori n mulimea numelor de persoane, de exemplu: x = George sau x = Ion sau x= i dac Om i Muritor sunt simboluri ce reprezint proprieti, atunci putem reprezenta relaia general ntre aceste proprieti prin: P : Om(x) Muritor(x) Astfel de reprezentri, cum ar fi Om(x) sau Muritor(x), care exprim relaii generale sub form de proprieti, se numesc predicate. O formul, de exemplu P de mai sus, este o reprezentare care conine predicate legate prin conectori logici. Substituia variabilei x cu constanta George transform P n formula: S ' : Om(George) Muritor(George)

n plus, dac variabila x ia valoarea Socrate, rezultatul va fi o nou formul ce reprezint relaia dinte Socrate i proprietatea de a fi muritor. Ion, George i Petre sunt constante n noul limbaj formal. n general, corespondena ntre variabile i constante, pe de o parte, i simboluri ale limbajului natural, pe de alt parte, poate fi reprezentat intuitiv astfel: Limbaj natural Limbaj formal pronume variabil nume propriu constant simbolurile speciale Om iMuritor se numesc simboluri predicative. Predicatele pot conine mai multe variabile, exprimnd astfel nu numai proprieti, dar i relaii ntre mai multe obiecte. De exemplu, dac variabilele x i y iau valori n mulimea numerelor ntregi i dac introducem predicatul I, mai_mare, putem exprima una dintre relaiile fundamentale ntre ntregi: I(X,Y) : mai_mare(x, y) care este interpretat drept x este mai mare dect y. Dac n expresia de mai sus nlocuim x cu 5 i y cu 3, avem evident o versiune particular a lui I: I(5, 3) : mai_mare(5, 3) care este adevrat pentru respectivele numere ntregi. B) Cuantificatori Introducerea variabilelor rezult n schimbarea validitii unei formule. S considerm, de exemplu, formula: Q(x, y) : zbor_X(x, y) care este interpretat ca: Exist un zbor al companiei X ntre oraele x i y. Validitatea formulei este numai parial, deoarece poate s nu existe un zbor al companiei X ntre New York i Bucureti, de exemplu. n schimb, formula: P(x) : Om(x) Muritor(x) are o validitate universal, deoarece se ndeplinete pentru orice variabil x. n Logica Predicatelor, pe scurt LPr, validitatea general sau parial este reprezentat prin dou simboluri speciale numite cuantificatori; avem astfel un cuantificator universal i un cuantificator existenial, notai prin i, respectiv . Astfel, formula iniial P devine: P(x) : (x)(Om(x) Muritor(x)) i Q devine: Q(x, y) : ( (x, y)) zbor_X(x, y) n seciunile urmtoare, vom introduce formal limbajul logicii predicatelor.

4.2 Limbajul logicii predicatelor


Enunm acum descrierea formal a unui limbaj al LPr. Definiia 4.2.1: Un limbaj LPr conine urmtoarele simboluri fundamentale:

(I) Simboluri logice: (i) Variabile x, y, z, ,x0, y0, z0, , xi, (ii) Conectori logici , , , , (iii) Virgule, paranteze ,() (iv) Cuantificatori , (II) Simboluri specifice: (i) Simboluri predicative P, Q,, R, , P0, Q0, R0, , P1, (ii) Simboluri pentru constante a, b, , a0, b0, , a1, , a2, (iii) Simboluri funcionale f, g, f0, g0, f1, Numrul de variabile diferite ce apare ntr-un predicat reprezint gradul sau aritatea predicatului. De exemplu, Q(x, y, z) este un predicat de gradul 3 sau un predicat de arietate 3. Fiecare cuantificator este dual celuilalt: este echivalent secventei de simboluri i este echivalent cu . Pentru formula (x)Q(x) avem, de exemplu, (x)Q(x) ( x)Q(x) Fiecare limbaj al LPr, adic fiecare mulime de simboluri specifice conine toate simbolurile logice. Astfel, pentru a determina un limbaj, este suficient definirea simbolurilor lui specifice. Exemplul 4.2.2: A= (=, , +, *, 0, 1) este un limbaj pentru aritmetic. a) = i sunt simboluri predicative binare (de aritate 2): =(x, y) se citete x = y, iar (x, y) reprezint x y. b) + i * sunt predicate ternare (de aritate 3): +(x, y, z) se citete x + y = z, iar (x ,y, z) se citete x y = z c) 0 i 1 sunt simboluri constante Definitia 4.2.3: Un termen este definit inductiv astfel: (i) O constant este un termen. (ii) O variabil este un termen. (iii) Dac f este o funcie n-ar i t1, , tn sunt termeni, atunci f(t1, , tn) este un termen. Definiia 4.2.4: O formul atomic sau atom este orice secven de simboluri P(t1, , tn), unde P este un simbol predicativ n-ar i ti este un termen, pentru orice i=1,2, , n. Defniia 4.2.5: O formul este definit inductiv astfel: (i) Orice atom este o formul. (ii) Dac 1, 2 sunt formule, atunci (1 2), (1 2), (1 2), (1) i (1 2) sunt formule. (iii) Dac v este o variabil i este o formul, atunci ((v)), ((v)) sunt de asemenea formule. (iv) Numai secvenele de simboluri formate conform regulilor (i), (ii), (iii) sunt formule.

Exemplul 4.2.6: Urmtoarele expresii sunt formule: (i) 1 : (y) (x) [P(x, f(y)) Q(x)] (ii) 2 : (y) (x) [P(x) Q(x, y)(R(x))] Observaia 4.2.7: Observm c definiia formulelor limbajului permite utilizarea trivial a cuantificatorilor, de exemplu: (y) [y = 3] care este echivalent cu formula: y=3 Aceste utilizri triviale sunt formal acceptate; cu toate acestea ele sunt utilizate numai n demonstraii tehnice. Exemplul 4.2.8: Prezentm diverse formule ale limbajului A definit n exemplul 4.2.2. (1) (x) (x = x) = este reflexiv (2) (x) (y) (x = y y = x) = este simetric (3) (x) (y) (v) [(x = y y = v) x = v] = este tranzitiv (4) (x) (x x) este reflexiv Vom continua prin enunarea anumitor definiii care sunt necesare pentru descrierea complet a contextului LPr i a programrii logice. Definiia 4.2.9: (i) O subsecvena t1 de simboluri a unui termen t, astfel nct t1 este un termen, se numete un subtermen al lui t. (ii) O subsecevn 1 de simboluri a unei formule , astfel nct 1 este o formul, se numete o subformul a lui . Exemplul 4.2.10: (i) dac f(x, y) este un termen, atunci x, y i f(x, y) sunt subtermeni ai lui f(x,y). (ii) P(x), R(x), R(x), P(x) Q(x, y) sunt subformule ale formulei 2 din exemplul 4.4.6. Observaia 4.2.11: n capitolul destinat LP, am examinat propoziiile numai n funcie de construcia lor bazat pe propoziiile simple, atomice i conectori logici. Am presupus astfel c propoziiile atomice nu necesit o analiz mai amnunit. Logica predicatelor, n schimb, utilizeaz un concept mai general, formulele atomice. n acest caz se presupune c formulele atomice sunt reprezenate de predicate i c fiecare predicat n-ar P(t1, , tn) exprim o relaie ntre termenii t1, , tn. Definiia 4.2.12: Apariii libere i legate ale variabilelor: (i) O apariie a unei variabile v ntr-o formul se spune c este legat dac exist o subformul a lui care conine variabila v i ncepe cu (v) sau cu (v). (ii) O apariie a unei variabile v ntr-o formul se spune c este liber dac nu este legat. Definiia 4.2.13: Variabile libere i legate:

O variabil v ce apare ntr-o formul se spune c este liber dac are cel puin o apariie liber n . Se spune c v este legat dac nu este liber. Exemplul 4.2.14: n exemplul 4.2.6, variabila x are o apariie liber n subformula: : (y) [P(x) Q(x, y) (R(x))] din 2, dar este legat n formula 2 nsi. Deci x este liber n (deoarece are cel puin o apariie liber) dare este legat n 2. Definiia 4.2.15: Un termen ce nu conine variabile se numete termen de baz. Exemplul 4.2.16: Dac a, b sunt constante i f este un simbol funcional de aritate 2, atunci a, b, f(a, b), f(f(a, b), b), sunt termeni de baz. Definiia 4.2.17: O fraz sau formul nchis este o formul fr variabile libere. Conform definiiei anterioare, pentru a forma o formul nchis dintr-o formul dat, trebuie s legm toate variabilele libere din acea formul prin cuantificatori. Exemplul 4.2.18: Din formula (x,y): (x+y=x*y) putem forma formula nchis: (x, y) : (x) (y) (x+y = x y) O posibilitate de a forma propoziii este aceea de a substitui apariiile libere ale variabilelor prin constante. n general, avem urmtoarea definiie pentru substituie: Definiia 4.2.19: O mulime substituie, sau mai simplu substituie, este o mulime: = {x1/t1 , x2/t2 , , xn/tn} unde xi i ti, 1 i n, sunt variabile i termeni corespondeni pentru care dac xi = xj atunci ti = tj, 1 j n. Dac este o expreie (atom, termen sau formul), atunci reprezint expresia ce rezult prin substituia apariiilor variabilelor x1, x2, , xn cu termenii corespondeni t1, t2, , tn. Substituia vid se noteaz cu E, cu alte cuvinte E = { }. Exemplul 4.2.20: Dac aplicm substituia = {x/2 , y/2} formulei: K : (x, y) n exemplul anterior, se obine formula: K : (2+2 = 2*2) Exemplul 4.2.21: S considerm formula: (x, y, z) : ( y) R(x, y) ( z) (Q(x, y)) i termenul de baz f(a,b). Dac aplicm substituia {x /f(a, b)} formulei (x, y, z) se obine formula: (f(a, b), y, z) : ( y) R(f(a, b), y) ( z) (Q(f(a, b), z)) Operaia de baz asupra substituiilor este compunerea. Definia 4.2.22: Fie: = {u1/s1, , um/sm} i = {v1/t1, , vn/tn}

Compunerea substituiilor i este substituia: = {u1/s1, , um/sm, v1/t1, , vn/tn} ({ui/si | ui = si} {vi/ti | vi { u1, , um}}) Cu alte cuvinte, pentru a obine compunerea substituiilor aplicm mai nti asupra termenilor s1, , sm din nlocuind variabilele ui din cu temenii si corespunztori conform definiiei 4.2.19, i completm cu elementele lui . Omitem termenii ui din care sunt de forma si i termenii vi din care conin variabile din . Exemplul 4.2.23: (1). Fie = {x / f(y), y / z} (adic {ui / si}) i = {x / a, y / b, z / y} (adic {vi/ti}) dou substituii.Compunerea lui i este: = {x / f(y), y / z, x / a, y / b, z / y} ({ui / si | ui = si} {vi /ti | vi { ui}}) = {x / f(b), y / y, x / a, y / b, z / y} ({y /y} { x / a, y / b}) = {x / f(b), z / y} (2). S considerm termenul t: w(f(v1), h(x), f(v2), v3) i substituiile: = {v1 / f(g(x)), v2 / h(v1), v3 / h(v3)} i = {x / z, v1 / v2, v3 / v1} Atunci: = {v1 / f(g(x)), v2 / h(v1), v3 / h(v3), x / z, v1 / v2, v3 / v1} -{ { v1 / v2 , v3 / v1}}= {v1 / f(g(z)), v2 / h(v2), v3 / h(v1), x / z, v1 / v2, v3 / v1}-{v1 / v2, v3 / v1}= {v1 / f(g(z)), v2 / h(v2), v3 / h(v1), x / z} n consecin: t() : w(f(f(gz))), h(z), f(h(v2)), h(v1)) Mai mult, se observ c: t() = w(f(f(g(x))), h(x), f(h(v1)), h(v3)) = w(f(f(g(z))), h(z), f(h(v2)), h(v3)) = (t ) Putem deci concluziona c proprietatea de asociativitate a compunerii substituiilor se ndeplinete pentru substituia din exemplul 4.2.23. n general avem: Teorema 4.2.24: Pentru orice substituii , i i pentru orice formul nchis avem: (i) E = E = (ii) () = () (iii) () = () Definiia 4.2.25: Fie o formul fr cuantificatori i fie o substituie. Fie formula ce rezult prin substituirea fiecrui termen t ce apare n cu t. Corespunztor, dac S = {C1, , Ck} este o mulime de formule LPr fr cuantificatori, atunci S = {C1, , Ck} rezult din substituia elementelor Ci, 1 ik, cu formulele Ci. Definiia 4.2.26: Fie S1 i S2 dou mulimi de formule fr cuantificatori. S1 i S2 se numesc variani dac exist dou substituii i astfel nct: S1 = S2 i S2 = S1 Exemplul 4.2.27: S1 = P(f(x, y), h(z), b) i S2 = P(f(y, x), h(u), b), unde b este o constant, sunt variani. ntr-adevr, dac: = {x / z, y / x, z / u} i = {x / y, y / x, u / z} atunci:

S1 = P(f(x, y), h(z), b) = P(f(y, x), h(u), b) = S2 S2 = P(f(x, y), h(z), b) = P(f(x, y), h(z), b) = S1 Definiia 4.2.28: O substituie de redenumire este o substituie de forma: {v1 / u1, , vn / un} unde vi i ui, 1 i n, sunt variabile.

4.3.

Bazele axiomatice ale logicii predicatelor

n subcapitolul 3.8 am axiomatizat logica propoziional cu ajutorul unui sistem axiomatic format din trei axiome i o regul. Logica predicatelor poate fi similar axiomatizat [Dela87, Hami78, Klee52, Mend64, Rasi74, RaSi70]. S ncepem prin a da o definiie auxiliar. Definiia 4.3.1: Ovariabil x este liber pentru termenul t n formula , formal liber(x,t,), dac nici una din variabilel libere din t nu devine legat dup substituia lui x cu t pentru toate apariiile libere ale lui x n . Exemplul 4.3.2: Fie : ( y) P(x,y). Atunci x nu este liber pentru termenul y n deoarece, dup aplicarea substituiei x / y pentru apariia liber a lui x, variabila y a termenului y este legat. Invers, x este liber pentru termenul z, unde z este o variabil diferit de y deoarece, dup substituia x / z n , variabilele termenului z, i anume z, nu sunt legate. n plus, y este liber pentru y n ( nu conine apariii libere ale lui y). Definiia 4.3.3: Pentru formulele , , din LPr, axiomele LPr sunt: (1) ( ) (2) ( ( )) (( ) ( )) (3) ( ) ( ) (4) Dac liber(x,t,), atunci formula: ( x) (x / t) este o axiom. (5) Dac x nu este liber n formula , atunci formula: ( x) ( ) ( ( x))) este o axiom. La fel ca n LP, simbolul |- reprezint derivarea fromulelor n sistemul axiomatic al LPr. Acest sistem axiomatic conine dou reguli: (1) Modus Ponens: , |- (2) Generalizare: |- ( x) Observaia 4.3.4: (1) Conform regulii generalizrii, dac este o formul derivat din axiomele i regulile LPr, atunci ( x) este de asemenea derivabil n sistemul axiomatic. S presupunem, de exemplu, c s-a derivat formula: Om(x) Muritor(x) Atunci formula: ( x) (Om(x) Muritor(x)) este de asemenea derivat. Cu alte cuvinte, putem ntotdeauna s obinem validitatea unei formule generalizate ( x) pe baza validitii formulei . anumite erori n discuiile comune sunt generate de o aplicare incorect a regulii generalizrii. De exemplu, spunem de multe ori c: toi politicienii sunt escroci deoarece tim c politicienii a i b sunt escroci.

Cu toate acestea, acest enun nu este logic valid: pentru a putea generaliza, adic pentru a caracteriza toipoliticienii i nu numai a i b, trebuie s ne asigurm c urmtoarea formul este derivabil n sistemul nostru axiomatic: politician(x) escroc(x) Ceea ce (sperm!) nu este cazul. (2) Comparnd sistemele axiomatice ale LP iLPr, observm c axiomele i regulile LP sunt incluse n axiomele i regulile LPr. Cu toate acestea, logica propoziiilor trateaz propoziii, n timp ce logica cu predicate se refer la un concept compus, respectiv formulele LPr. (3) Cuantificatorul nu este inclus n sistemul axiomatic deoarece, aa cum s-a vzut n subcapitolul 2.1, se definete ca . (4) Din (2) i corolarul 1.12.2 concluzionm c toate tautologiile LP sunt derivate n LPr prin considerarea formulelor LPr n locul propoziiilor LP. De exemplu, pentru propoziia AA care este derivabil n LP avem formula LPr care este derivabil n sistemul axiomatic specificat de definiia 4.3.3. Putem astfel aplica toate tautologiile din LP formulelor din LPr (teorema de completitudine 1.12.1) i obine formule ale LPr care sunt derivabile n sistemul axiomatic al LPr. 4.3.4 Teorema substituiei echivalenelor este valid att n LP, ct i n LPr. Demonstraia este similar celei date teoremei corespunztoare din LP. Teorem 4.3.5: Teorema substituiei echivalenelor pentru LPr Dac o formul A1 este derivat dintr-o formul A, dup substituia formulei B cu formula B1 pentru zero, una sau mai multe apariii ale lui B n A, dac {x 1 ,..., x n } sunt variabile libere n B i B 1 i sunt n acelai timp variabile legate n A, i dac: (x 1 )...(x n )(BB 1 ) atunci AA 1 . 4.3.5

Formulele LPr care sunt derivate n sistemul axiomatic al LPr sunt singurele formule legale cu care putem lucra n contextul LPr. Urmtoarea teorem prezint o list de formule des utilizate. Aceste formule exprim asociativitatea i distributivitatea cuantificatorilor fa de conectorii logici. Aa cum se arat n aceast teorem, unele proprieti ale cuantificatorilor sunt valide numai n anumite condiii. Teorem 4.3.6:Dac i sunt formule ale LPr, atunci urmtoarele formule sunt derivabile n LPr: (x)( ) ((x) (x)) ((x) (x)) (x)( ) ((x) (x)) (x)( ) (x)( ) ((x) (x)) ((x) (x)) (x)( ) (x)( ) ((x) (x)) (x)( ) ((x) (x))

(x)( ) ((x) (x)) (x)( ) ((x) (x)) (x)( ) ((x) (x)) (y)(x) (x)(y) (x)(y) (y)(x) (x)(y) (y)(x) (x) dac nu exist nici o apariie liber a lui x n (x) dac nu exist nici o apariie liber a lui x n 4.3.6. Anumite erori care apar frecvent n demonstraiile formale din diverse ramuri ale tiinei se datoreaz unei utilizri incorecte a distributivitii cuantificatorilor fa de conectorii logici. De exemplu, formulele: (x) (x) (x)( ) i (x)( ) ((x) (x)) luat din lista anterioar sunt derivabile n LPr. Dar formulele: ((x) (x)) (x)( ) i (x)( ) ((x) (x)) care exprim distributivitatea total a cuantificatorilor i fa de i respectiv , nu sunt valide. Formulele : (x)( ) ((x) (x)) i ((x) (x)) ((x) (x)) care exprim distributivitatea total a cuantificatorulor i fa de i respectiv , nu sunt valide. Formulele: (x)( ) ((x) (x)) i ((x) (x)) (x)( ) NU sunt derivabile n sistemul axiomatic al LPr i NU sunt valide. De exemplu, formula: (x)[(x = 2x) (x 2x)] este adevrat (vezi exemplul 4.5.4.). Cu toate acestea, formula: [(x)(x = 2x) (x 2x)] NU este o formul adevrat. Dac ar fi adevrat, atunci cel puin una din formulele: (x)(x = 2x), (x)(x 2x) (definiia 4.5.5.) ar trebui s fie adevrat. Acest lucrunu se ntmpl deoarece dac x =1, x = 2x nu este adevrat i dac x = 0, x 2x nu este adevrat. n concluzie, trebuie s fim foarte ateni la utilizarea comutativitii i distributivitii cuantificatorilor deoarece pot aparea frecvent greeli de raionament. Observaia 4.3.7: Dac am extinde limbajul LPr cu un simbol logic particular de paritate 2, simbolul = ar exista proprieti ale lui = care nu ar putea fi exprimate pe baza sistemului

axiomatic din definiia 4.3.4; aceast axiomatizare exprim proprieti generale ale predicatelor i nu poate descrie proprietile partivulare ale unor predicate, cum ar fi =. De exempl, egalitatea trebuie s fie reflexiv, simetric i tranzitiv. Pentru a exprima aceste proprieti axiomatic, trebuie s extindem sistemul axiomatic din definiia 4.3.3 cu dou axiome [Dela87, Hami78, Mend64, Schw71]: (5) Pentru toi termenii x, formula: x=x este o axiom. (6) Dac A 1 este o formul derivat din formula A prin substituirea a zero, o parte sau a tuturor apariiilor unui termen x printr-un termen y, atunci formula: (x = y) (A A 1 ) este o axiom. Am axiomatizat astfel reflexivitatea relaiei de egalitate i o regul de substituie a termenilor egali. Proprietile de simetrie i tranzitivitate ale egalitii sunt derivabile pe baza axiomelor (1) pn la (6) i a regulilor generalizare i Modus Ponens. 4.3.7 Demonstraia teoremei 4.3.6 ct i teoremele de cosisten i complitudine ale sistemului axiomatic din definiia 4.3.3, cu sau fr egalitate, sunt n afara contextului acestei cri. Cititorul le poate gsi, de exemplu, n [Klee52, Mend64, RaSi70]. Definiia 4.3.8.: (i) Dac S este o mulime de formule, posibil vid, i A este o formul a LPr, o demonstraie a formulei A din S, notat prin S A, este o secven finit de formule B 1 ,...,B n ale LPr, unde fiecare B i ,1 i k, este fie o axiom, fie aparine lui S, fie urmeaz din dou formule anterioare n secven B j ,B l , 1 j, l i, folosind regula (ii) (iii) Modus ponens sau regula generalizrii. A este demonstrabil din S dac exist o demonstraie a lui A din S. A este demonstrabil dac exist o demonstraie a lui A din mulimea vid. 4.3.8.

n LPr, teorema deducieieste de mare interes. Aplicarea teoremei corespunztoare din LP, anume teorema 1.8.7, formulelor LPr poate duce la rezultate neateptate: S presupunem c tim c exist oameni bogai: bogat(x) Atunci, pe baza regulii generalizrii, avem: bogat(x) (x) bogat(x) i pe baza teoremei deduciei LPr echivalente celei din LP putem concluziona:

bogat(x) (x) bogat(x) Cu alte cuvinte, existena oamenilor bogai implic faptul c toi oamenii sunt bogai, ceea ce nu corespunde, evident, realitii! De aceea, pentru a obine concluzii corecte, teorema deduciei trebuie s includ limitri n utilizarea regulii generalizrii. Teorema 4.3.9: Teorema deduciei: Dac S este o mulime de formule ale LPr, A, B formule ale LPr astfel nct S {A)B, i dac regula generalizrii nu a fost utilizat n derivarea lui B din S {A} pentru o variabil liber ce apare n A, atunci SA B. Demonstraia teoremei deduciei a LPr este similar cu demonstraia teoremei LP corespunztoare. Pe baza regulii Modus Ponens, inversa este evident adevrat. Atunci: S A B S {A}B.

4.4 Notaii n programarea logic


n subcapitolul 3.9 am definit mai multe concepte de baz ale programrii logice n LP. Vom extinde aceste definiii la LPr [ChLe73, Dela87]. Definiia 4.4.1: (i) (ii) Un literal este un atom (definiia 2.4.4.) sau un atom negat. O secven de simboluri de forma: (x 1 )( x 2 )...(x k )(C 1 C 2 ... C n ) unde C i , i = 1,..., n sunt literali i x 1 ,..., x k sunt toate variabile ce apar n C i , 1 i n, se numete clauz. Dac n = 0, avem clauz vid, care se noteaz prin . 4.4.1. Parantezele cuantificatorilor vor fi omise ori de cte ori poziia variabilelor i a cuantificatorilor este explicit. O clauz poate fi scris echivalent i n una din urmtoarele forme: (a) x 1 ... x k (A 1 ... A m B 1 ... B l ) (b) (c) x 1 ... x k ( A 1 ... A m B 1 ... B l ) x 1 ... x k ( A 1 , ... , A m B 1 ,... , B l )

(d) {C 1 , C 2 ,..., C n }, form mulime-teoretic, unde pentru orice 1 i n, C i este A j , 1jm, sau C i este B j , 1jl (e) A 1 , ... , A m B 1 ,... , B l .

Fiecare clauz este astfel o fraz, definiia 2.2.27. Inversa nu este valabil datorit existenei posibile a cuantificatorului . Cu toate acestea, programarea logic include toate frazele LPr. Vom vedea cum se poate rezolva aceast problem n subcapitolul 2.7 unde vom discuta formele Skolem. Exemplul 4.4.2: Urmtoarele secvene de simboluri sunt clauze: (i) xyz(P(x) Q(x,y) R(x, y, z)) (ii) xy(P(f(x, y),a) Q(x, y))

4.4.2

Definiia 4.4.3: O fraz ce rezult prin eliminarea cuantificatorilor dintr-o clauz i substituia tuturor variabilelor cu constante este o instan de baz a lui . 4.4.3 De exemplu, fraza: P(a) Q(b) R(a, b) este o instan de baz a clauzei: xy(P(x) Q(y) R(x, y)) Definiia 4.4.4: O clauz Horn este o clauz de forma: x 1 ... x k (A B 1 ,..., B l ) unde A, B 1 ,..., B l sunt atomi i l 1. Atomii B i , i = 1, , l, sunt premisele clauzei Horn i A este concluzia. 4.4.4 Definiia 4.4.5: Un scop este o clauz Horn fr concluzie, adic o clauz de forma: x 1 ... x k (B 1 ,..., B l ) Atomii B i sunt subscopurile scopului. 4.4.5 Interpretarea intuitiv a unui scop devine clar dac l rescriem n forma LPr formal i dac utilizm dualitatea cuantificatorilor i i legile lui De Morgan (vezi observaia 4.3.4(3)): x 1 ... x k ( B 1 ... B l ) x 1 ... x k (B 1 ... B l ) ( x 1 ... x k )(B 1 ... B l ) Cu alte cuvinte, nu exist x 1 ,..., x k astfel nct toate presupunerile B 1 ,..., B l s fie adevrate. Definiia 4.4.6: Un fapt este o clauz Horn fr presupuneri, adic este o clauz de forma: x 1 ... x k ( A ) 4.4.6 Observaia 4.4.7: n seiunile urmtoare, vom discuta n special frazele LPr, adic formulele fr variabile libere (defiiniiile 2.2.12 i 2.2.13). Exist dou motive care ne determin s ne ocupm de fraze: (1) Clauzale (definiiile 4.4.1, 4.4.4, 4.4.5 i 4.4.6) care sunt folosite n programarea logic sunt fraze ale LPr n care toate variabilele sunt legate prin cuantificatori universali; (2) Pentru fiecare formul a LPr ca re conine numai variabilele libere {x 1,..., x k } avem:

(x 1)( x k ) (unde (=>) rezult prin regula generalizrii, iar (<=) din axioma (4) i regula Modus Ponens). Considerm astfel fraza (x 1)( x k ) n locul formulei . 4.4.8 Definiia 4.4.8: Un program logic este o mulime finit de clauze Horn S ilustrm conceptele precedentele printr-un exemplu. Exemplul 4.4.9: Se dau urmtoarele propoziii n limbaj natural: S1: Petre este ho S2: Mariei i place mncarea S3: Mariei i place vinul S4: Lui Petre i plac banii S5: Petre l place pe x dac lui x i place vinul S6: x poate fura y dac x este ho i dac lui x i place y Prin introducerea constantelor Petre, Maria, vin, mncare i banii, a variabilelor x i y, a predicatelor ho (aritate 1), place (aritate 2) i poate_fura (aritate 2) formm urmtorul program: C1: ho(Petre) C2: place(Maria, mncare) C3: place(Maria, vin) C4: place(Petre, bani) C5: place(Petre, bani) place(x, vin) C6: poate_fura(x, y) ho(x), place(x, y) Clauzele Horn C1, C2, C3 i C4 sunt fapte. Clauzele Horn C5 i C6 constituie partea procedural a programului. S presupunem c dorim s aflm dac Petre poate fura (dac exist ceva ce Petre poate fura); avem de formulat urmtotul scop: G: poate_fura(Petre, y) Vom afla rspunsul n exemplul 4.10.12. 4.4.9 Vom discuta mai trziu, sistematic, modurile n care se pot deriva concluzii din mulimi de clauze similare celor din exemplul anterior. n seciunile urmtoare se va dezvolta teoria interpretrilor i vom descrie metode de atribuire a valorilor de adevr frazelor unui limbaj LPr, adic formulelor fr variabile libere, pe baza interpretrilor. 4.4.8

4.5. Interpretri n logica predicatelor


n contextul LP, determinarea valorii de adevr a unei propoziii compuse s-a bazat pe conceptul de valorizare. Prin atribuirea de valori de adevr formulelor atomice dintr-o propoziie dat A, am determinat inductiv valoarea de adevr a lui A.

n cele ce urmez, vom generaliza conceptul de interpretare, pe care vom baza dezvoltarea metodelor de determinare a valorii de adevr a unei fraze LPr. +

A)

Interpretri: o descriere informal

Dorim s interpretm, adic s asociem valori de adevr frazelor din LPr. Elementele de baz ale acestor fraze sunt termenii, respectiv variabilele i constantele. De aceea, avem nevoie mai nti s interpretm termenii prin formarea unei mulimi de obiecte ce reprezint interpretarea termenilor unei fraze. Putem apoi s definim valorile de adevr ale predicatelor i frazelor din limbaj. Se observ astfel c semantica LPr este cert mai complex dect semantica LP. Pentru a nelege temeinic conceptele pe care le vom introduce acum, vom prezenta mai nti cteva exemple. Exemplul 4.5.1: Fie limbajul: = {Q, } unde Q este un predicat i este o constant, i o fraz n acest limbaj: S: (x)(y)Q(x, y) Orice interpretare a limbajului de mai sus trebuie s determine o mulime de obiecte, ale crei elemente trebuie s corespund simbolurilor din i s atribuie valori de adevr frazelor din limbaj. Vom considera N, mulimea numerelor naturale, ca aceast mulime de obiecte. Putem acum defini interpretarea ca o structur: A = (N, , 1) unde: N: este mulimea numerelor naturale : este relaia mai mic dect sau egal cu n N 1: este numrul natural 1 Pe baza interpretrii A , atribuim urmtoarele asocieri simbolurilor din : - simbolul Q corespunde relaiei n N - simbolul corespunde numrului natural 1 Variabilele din S, x i y iau valori n N. Atunci, semnificaia evident a lui S n relaie cu A este: S: Exist un numr natural x astfel nct, pentru orice numr natural y, x y S specific astfel c exist un element minimal n A care este evident adevrat n A , 1 fiind elementul minimal din A . S definim acum o interpretare diferit pentru acelai limbaj : A , = (N, >, 1) unde Q este predicatul corespunztor relaiei >, relaia mai mare dect peste numerele naturale, i unde corespunde lui 1. Pe baza acestei interpretri, semnificaia lui S devine: S: Exist un numr natural x astfel nct, pentru orice numr natural y, x>y. S enun c exist un element maximal n A , i acesta nu este, evident, adevrat pentru A deoarece A nu are un element maximal. Cu alte cuvinte, observm c putem atribui interpretri diferite pentru acelai limbaj, asociind asfel valori de adevr diferite. 4.5.1.

B) Interpretri i adevr: Descriere formal


Vom continua cu descrierea formal a interpretrii i adevrului unei fraze n contextul LPr [ChLe73, Dela87, Hami78, Meta85, RaSi70]. Definiia 4.5.2: Fie = {Ro , R1 ,..., f 0 , f1 ,..., c0 , c1 ,...} un limbaj al LPr, unde Ri sunt simboluri predicative, f i sunt simboluri funcionale i ci sunt simboluri de constante, i = 0, 1, O interpretare a lui : A = { A, ( R0 ), ( R1 ),..., ( f 0 ), ( f 1 ),..., (c0 ), (c1 ),...} const n: (i) o mulime A , universul interpretrii (ii) o relaie n-ar ( Ri ) A n pentru orice simbol predicativ Ri de aritate n (iii) (iv) o funcie ( f i ) : A m a A pentru fiecare funcie f i un element (ci ) A pentru orice simbol de constant ci 4.5.2.

( Ri ), ( f i ) i ( ci ) sunt interpretrile lui Ri , f i i respectiv ci n A . Exemplul 4.5.3: Fie

= {=, , +, *, 0, 1} limbaj LPr din exemplul 2.2.2. O interpretare a acestui limbaj este: A = (N, =, , +, *, , 0, 1} unde N este mulimea numerelor naturale, = relaia de egalitate n N, relaia mai mic sau egal i +, * adunarea i nmulirea n N. S oobservm c, pn n acest punct, simbolul + din este doar un simbol predicativ ternar, de exemplu +(2, 3, 5), 2 + 3 = 5. n interpretare, acest simbol este ineterpretat ca (+), simbolul adunrii numerelor naturale. Vom nota de obicei (@) obiectul interpretat de simbolul @ al limbajului ntr-o interpretare A . Avem atunci urmtoarea interpretare a simbolurilor din : (=) N N ( ) N N (+) N N N (*) N N N ( 0) N 4.5.3 (1) N Se observ c un limbaj al LPr i interpretarea lui difer semnificativ. Cu toate acestea, pentru simplitate, vom trata de muulte ori un limbaj i interpretarea lui indentic. De exemplu, va fi utilizat att ca un predicat al limbajului ct i ca o interpretare, n loc de (), care este o submulime a lui N N . Aa cum s-a vzut n exemplul 4.5.1, un limbaj poate avea multe interpretri.

Exemplul 4.5.4: O interpretare diferit a limbajului descris n exemplul precedent este: A' = ({2n | n N 0 }, =' ,' ,+' ,0' ) (numerele naturale pare) unde: (=) este =, egalitatea n {2n|n N 0 } (*) este *, nmulirea n {2n|n N 0 } (+) este +, adunarea n {2n|n N 0 } (0) este 0, elementul neutru al lui + Aa cum s-a specificat anterior, o fraz a unui limbaj poate fi adevrat ntr-o interpretare a limbajului i fals n alt interpretare. De exemplu, (y)(x)(x*y = x) care indic existena unui element neutru pentru * este adevrat n A i fals n A. 4.5.4 Vom defini acum inductiv adevrul unei fraze ntr-o interpretare A. Definiia 4.5.5: Definiia inductiv a adevrului unei fraze ntr-o interpretare: Fie: = {Ro , R1 ,..., f 0 , f1 ,..., c0 , c1 ,...} un limbaj i A una din interpretrile lui. (a) Fraza atomic Ri (ci1 , ci2 ,..., cin ) este adevrat n A dac i numai dac:
( (ci1 ),..., (cin )) ( Ri )

Formal, vom scrie: A= Ri (ci1 , ci2 ,..., cin ) Fie , 1 i 2 trei fraze din . Atunci: (b) A= A/= (c) A= 1 2 A= 1 sau A= 2 (d) A= 1 2 A= 1 i A= 2 (e) A= 1 2 A= 2 sau A/= 1 (f) A= 1 2 (A= 1 i A= 2 ) sau (A/= 1 i A/= 2 ) (g) A= (u)(u) exist un simbol de constant c astfel nct A= (c) (h) A= (u)(u) pentru orice simbol de constant c , A= (c) 4.5.5 Observaia 4.5.6: (1) Din definiia 4.5.5 i observaia 4.3.7 avem: (i) A= c 1 = c 2 (c 1 ) este identic cu (c 2 ) (2) Dac fraza atomic Ri (ci1 , ci2 ,..., cin ) este adevrat n A, atunci R i ia valoarea a n A. Dac nu este adevrat atunci ia valoarea f (exerciiul 12). 4.5.6 n definiia de mai sus, inducia se face dup lungimea frazelor. De exemplu, din (c), orice fraz disjunctiv ( 1 2 ) este adevrat n A dac i numai dac cel puin una din 1 , 2 este adevrat n A. Toate axiomele din definiia 4.3.3 i observaia 4.3.7 sunt formule adevrate n orice interpretare A. Mai mult, regulile generalizrii i Modus Ponens conduc de la formule adevrate

tot la formule adevrate, pentru orice interpretare a LPr (corectitudinea sistemului axiomatic al LPr). Fie = {Q, f} limbajul aritmetic i fie: A = (Q + , =, ) i A = (R + , =, g) Dou interpretri ale lui , unde: Q + : mulimea numerelor raionale pozitive R + : mulimea numerelor reale pozitive g: g(x) = x 2 (Q): =, egalitatea n R + (Q): =,egalitatea n Q + (g): g definit n R + (g): g definit n Q + Atunci fraza S: (x)(y)Q(x, g(y)), i anume (x)(y) (x = y 2 ), este adevrat n A dar nu este adevrat n A deoarece ecuaia x = y 2 , cu x fixat i pozitiv, are ntotdeauna soluie n R + , dar nu are ntotdeauna soluie n Q + . 4.5.7 Exemlul 4.5.7: Exemplul 4.5.8: unde: A: mulimea fiinelor umane (Q): relaia copil, adic (Q)(x 1 , x 2 ) = copil(x 1 , x 2 ) = x 1 este copilul lui x2 (f): relaia mama, adic (f)(x) = mama(x) = mama lui x (a): persoana Maria (b): persoana Ion (c): persoana Napoleon Observm c, n A, un simbol care nu apare ca element al limbajului, i anume c, este totui interpretat. Vom vedea n teorema 4.5.14 c o asemenea interpretare a simbolurilor ce nu aparin limbajului nu reprezint o problem. Fie S: Q(b, f(b)) (x) (Q(a, x)). Conform interpretrii A, interpretarea lui S este: S: Ion este copilul mamei lui Ion sau exist o persoan x pentru care Maria este copilul lui x Ion este evident copilul mamei lui Ion. S este deci adevrat n interpretarea A (cazul (c) din definiia 4.5.5). Definiia 4.5.9: Fie un limbaj i o fraz. Interpretarea A a lui este un model al formulei dac i numaim dac A= . 4.5.9 Dac este un limbaj i A o interpretare a lui atunci mulimea: (A) = {| A = } se numete teoria interpretrii 4.5.10 Definiia 4.5.10: Pentru limbajul = {Q, f, a, b}, putem defini urmtoarea interpretare: A = (A, copil, mama, Ion, Maria, Napoleon)

Cu alte cuvinte, teoria unei interpretri este mulimea tuturor frazelor care sunt adevrate n acea interpretare. n exemplul precedent am vzut c este posibil s interpretm simboluri care nu apar ca elemente ale limbajului. Vom enuna o definiie util n astfel de situaii. Definiia 4.5.11: S presupunem c avem un limbaj i o interpretare A a lui pentru care elementele a1 , a 2 ,... din universul lui A nu sunt interpretri ale unor simboluri de constante din . (1) Formm un nou limbaj: * = { c1 , c2 ,... } unde simbolurile c1 , c2 ,... sunt constante noi care aparin lui , * se numete extensia elementar a lui . (2) Dac avem interpretarea: A = (A, R 1 , R 2 , , P 1 , P 2 , , d 1 , d 2 ,) putem forma o nou interpretare: A* = (A, R 1 , R 2 , , P 1 , P 2 , , d 1 , d 2 ,) a limbajului * = {c 1 , c 2 , }, unde c 1 , c 2 , , atribuind astfel o interpretare constantelor c 1 , c 2 , i impunnd de fapt (c 2 ) = a 2 , A* se numete atunci extensia elementar a lui A. 4.5.11 Exemplul 4.5.12: Fie: = {=, , +, *, 0, 1} i A = (N, =, , +, *, 0, 1) Putem atunci formula limbajul: * = {=, , +, *, 0, 1, c 1 , c 2 , } i interpretarea lui: A* = (N, =, , +, *, 0, 1, 2, 3, ) 4.5.12 Observaia 4.5.13: Am mbogit deja limbajul cu constante. poate fi mbogit i cu simboluri funcionale sau predicative noi. *, extensia limbajului cu simboluri funcionale i predicative noi, este o extensie neelementar a lui . Extensia corespunztoare a lui A, anume A*, este o extensie neelementar a lui A. 4.5.13 Prezentm acum o teorem despre realizabilitatea unei fraze n contextul LPr. Teorema 4.5.14: Fie un limbaj, A o interpretare a lui , * i A* extensiile elementare asociate, astfel nct toate elementele universului lui A* sunt interpretri ale simbolurilor din *. Fie o fraz n . Atunci este adevrat n interpretarea A dac i numai dac este adevrat n A*. Formal: A= A*= Demonstraie: Prin inducie dup lungimea lui . Dac este o fraz P( c1 ,..., c k ), atunci: A* = P( c1 ,..., c k ) ((c 1 ), ,(c k )) (P) i (c 1 ), ,(c k ) A*, (P) ( A*) k ((c 1 ), ,(c k )) (P)

i (c 1 ), ,(c k ) A, (P) A* deoarece este o fraz n . A = P( c1 ,..., c k ). Cazurile :, : , : i : se trateaz similar. S presupunem c este o fraz (x)(x), unde x este singura variabil liber din . Atunci: A* = (x)(x) pentru un simbol de constant c din *, A* = (c) A = (c) datorit presupunerii inductive i a faptului c este o fraz n . Cazul : (x)(x) se trateaz similar. Pe baza teoremei 4.5.14, adevrul unei fraze ntr-o interpretare A* nu depinde de alegerea noilor simboluri de constante i a interpetrii lor. Definiia 4.5.15: O fraz a unui limbaj este realizabil sau verificabil sau consistent dac i numai dac exist o interpretare A a lui n care fraza este adevrat, adic A = . 4.5.15 Definiia 4.5.16: O mulime de fraze S este realizabil sau verificabil sau consistent dac exist o interpretare n care toate frazele din S sunt adevrate. n caz contrar, S este o mulime nerealizabil sau neverificabil sau inconsistent. 4.5.16 Exemplul 4.5.17: Fie: A = (N, =, , +, *, 0, 1) Atunci A= , unde este oricare din frazele (1) - (4) din exemplul 2.4.8. Vom demonstra c A= (x)(y)(x = y y = x) nu este adevrat. Atunci, pe baza definiiei 4.5.5(h) i (b) exist c 1 , c 2 astfel nct: A = [(c 1 = c 2 ) (c 1 = c 2 )] Atunci: A= [(c 1 = c 2 ) (c 2 = c 1 )] sau A= [(c 1 = c 2 ) (c 2 = c 1 )] i pe baza definiiei 4.5.5(d): (1) A= (c 1 = c 2 ) i (2) A= (c 2 = c 1 ) Pe baza celei de a aptea axiome din observaia 4.3.7, adic axioma substituiei termenilor egali, folosim (1) pentru a substitui c 2 n locul valorii lui c 1 n (2). Atunci: A = (c 2 = c 2 ) sau, pe baza definiiei 4.5.5(g): A= (x)(x = x) i pe baza dualitii cuantificatorilor i avem: A = (x)(x = x) ceea ce este o contradicie, deoarece contravine reflexivitii relaiei de egalitate. 4.5.17

Interpretarea standard a limbajului = {=, , +, *, 1, 0} este: A = (N, =, , +, *, 0, 1) Alt interpretare a lui , unde Q este mulimea numerelor raionale, este: B = (Q, =, , +, *, 0, 1) Fie fraza (ce reprezint de fapt definiia formal a unei relaii de ordine dense): (x)(y)[(x = y)(z)[(z = x) (z = y) (xz) (zy)]] Atunci A /= , dar B = . 4.5.18 La fel ca i n LP, exist fraze n orice limbaj al LPr care sunt adevrate n toate interpretrile limbajului. Exemplul 4.5.18: Definiia 4.5.19: Formule adevrate logic: Dac formula din limbajul este adevrat n orice interpretare a lui , atunci este logic adevrat. 4.5.19 Exemplul 4.5.20: Atunci fraza: Fie o fraz n i o formul n .

S: (()( ) ( ())) este adevrat n orice interpretare a lui . Demonstraie: S presupunem c S nu este adevrat n toate interpretrile lui . Atunci exist o interpretare A a lui astfel nct: A/= ()( ) ( ()) Atunci, conform definiiei 4.5.5, avem: Not[A/= ()( ) sau A= ()] i, pe baza legii lui De Morgan: not[A/= ()( )] i not[A= ()] Din regula dublei negaii obinem: A= ()( ) (1) i A/= () (2) i, conform definiiei 4.5.5(b), avem: Atunci, din (2) se obine A/= () A = i A /= () (3) Din (3) i definiia 4.5.5(h) tim c exist un c astfel nct: A= (/c) i din A= i definia 4.5.5(d) avem: A= (/c) sau, echivalent: A= ( (/c)) sau, echivalent: A= (( )(/c)) (4) Din (1) i definiia 4.5.5(h), pentru orice c , A= ( )(/c) (5) se ndeplinete. Dar este o fraz, deci nu are variabile libere. n consecin, nu exist nici o substituie posibil pentru . Atunci (5) ia forma A= (/c) pentru orice c , ceea ce este n contradicie cu (4). S este deci adevrat n toate interpretrile lui . 4.5.20

Definiia 4.5.21: Fie un limbaj al LPr i S o mulime de fraze ale LPr. Fraza este o consecin a lui S, formal S= , dac i numai dac orice interpretare A a lui ce verific toate propoziiile din S verific . Acest lucru se noteaz: 4.5.21 Con(S) (A)[ A= S => A= ]

2.6. Forme normale n logica predicatelor


n LPr am discutat despre dou forme echivalente ale unei propoziii, FNC (Forma Normal Conjunctiv) i FND (Forma Normal Disjunctiv). Fraze de forme similare se ntlnesc i n LPr. n contextul LPr exist dou forme suplimentare: Forma Normal Prenex (FNP) i Forma Normal Skolen (FNS), n funcie de cuantificatorii ce apar n fraz [Chur56, ChLe73, Hami78, Klee52, Thay88]. Prin transformarea a dou propoziii ntr-una din aceste forme normale, putem s le comparm cu uurin i s determinm dac sunt echivalente, s vedem dac una este negaia celeilalte sau dac prezint vreo proprietate semnificativ. Forma Normal Skolem are o importan deosebit n programarea logic. n seciunile urmtoare vom investiga analitic aceste forme. Definiia 4.6.1: Formula este o formul prenex, pe scurt FNP, dac este de forma: : (Q 1 x 1 )(Q 2 x 2 )(Q n x n )

unde fiecare Q i , i = 1,, n, este unul din cuantificatorii , i este o formul fr cuantificatori. (Q 1 x 1 )(Q 2 x 2 )(Q n x n ) se numete prefixul lui , iar se numete matricea lui . 4.6.1 Exemplul 4.6.2: Urmtoarele fraze sunt n FNP: (i) (x)(y)[P(x, y) Q(x)] (ii) (x)(y) [Q(x, y) P(x, y)] 4.6.2 Pentru a transforma o formul sau o fraz n FNP, pe lng formulele utilizate n LP, n LPr folosim de asemenea urmtoarele formule: (1) (Qx)P(x) G (Qx) [P(x) G] unde x nu apare liber n G (2) (Qx)P(x) G (Qx) [P(x) G] unde x nu apare liber n G (3) (x)P(x) (x)( P(x)) (4) (x)P(x) (x)(P(x)) (5) (x)P(x) (x)G(x) (x)[P(x) G(x)] (6) (x)P(x) (x)G(x) (x)[P(x) G(x)] unde (Qx) este (x) sau (x). Formulele de mmai sus sunt derivabile n sistemul axiomatic al LPr (teorema 4.3.6). Formulele (1) i (2) specific faptul c domeniul de aciune a cuantificatorilor include conjuncia i disjuncia, cu condiia ca variabilele cuantificate s nu apar ca variabile libere. Formulele (3) i (4) sunt cazuri evidente, conosidernd dualitatea lui i . Cazurile (5) i (6) arat distributivitatea cuantificatorului universal fa de conjuncie i a cuantificatorului existenial fa de disjuncie. Distributivitatea invers nu este ns adevrat: (7) (x)P(x) (x)G(x) / (x)[P(x) G(x)] (8) (x)P(x) (x)G(x) / (x)[P(x) G(x)]

Pentru a obine echivalene n cazuri similare cazurilor (7) i (8), trebuie nti s redenumim toate apariiile lui x n formulele (x)G(x) i (x)G(x). Acest lucru este permis deoarece x nu este variabil legat. Atunci, conform teoremei 4.3.6, (5) i (6), obinem (cum?) urmtoarele echivalene: (9) (Q 1 x)P(x) (Q 2 x)G(x) (Q 1 x)(Q 2 z)[P(x) G(z)] (10) (Q 1 x)P(x) (Q 2 x)G(x) (Q 1 x)(Q 2 z)[P(x) G(z)] unde Q 1 , Q 2 {, } i unde variabila z nu apare n G(x) i nu apare ca variabil liber n P(x), n (9) i (10). Vom descrie acum procedura formal pentru a transforma o fraz n FNP: Construcia 4.6.3: Pasul 1: Eiminarea simbolurilor i pe baza formulelor: (1a) (A B) ((A B) (B A)) (1b) (A B) (A B) Pasul 2: Transferarea negaiei n faa atomilor pe baza formulelor: (2a) (A B) A B (2b) (A B) A B (2c) (A) A (2d) (x)A (x) A (2e) (x)A (x) A Pasul 3: Transferarea cuantificatorilor la stnga pe baza formulelor: (3a) (x)A(x) (x)B(x) (x) [A(x) B(x)] (x)A(x) (x)B(x) (x) [A(x) B(x)] (3b) (Qx)A(x) B Q(x) [A(x) B] (Qx)A(x) B Q(x) [A(x) B] unde x nu apare ca variabil liber n B In formulele (3b). (3c) (Q 1 x)A(x) (Q 2 x)B(x) (Q 1 x)(Q 2 z) [A(x) B(z)] (Q 1 x)A(x) (Q 2 x)B(x) (Q 1 x)(Q 2 z) [A(x) B(z)] unde x nu apare ca variabil liber n B n formulele (3c), z nu apare n B i nu apare ca o variabil liber n A, iar B(z) este rezultatul nlocuirii fiecrei apariii libere a lui x cu z. 4.6.3 Exemplul 4.6.4: : (x)P(x) (x)R(x) (x)P(x) (x)R(x) (x) P(x) (x)R(x) (x)[P(x) R(x)] (1b) (2d) (3a) 4.6.4 (1b) (2e, 2b)

Exemplul 4.6.5: : (x)(y)[(z)(P(x, z) P(y, z)) (u)R(x, y, u)] (x)(y)[(z)(P(x, z) P(x, z)) (u)R(x, y, u)] (x)(y)[(z)(P(x, z) P(y, z)) (u)R(x, y, u)]

(3b) (3b) 4.6.5 Vom discuta acum transformarea unei fraze ntr-o fraz * care este universal, adic conine numai cuantificatori universali, i ntr-o Form Prenex, astfel nct * este realizabil dac i numai dac este realizabil.

(x)(y)(z)[P(x, z) P(y, z) (u)R(x, y, z)] (x)(y)(z)(u)[P(x, z) P(y, z) R(x, y, u)]

Forma Normal Skolem


Teorema 4.6.6: Loewenheim, Skolem: Pentru orice fraz al LPr, putem forma o fraz universal * astfel nct: este realizabil * este realizabil 4.6.6 Vom descrie acum cum se formeaz *, cu o fraz arbitrar a LPr. Definiia 4.6.7: Fie o fraz a LPr. Pasul 1: Determinm FNP a lui Pasul 2: Eliminm treptat fiecare cuantificator existenial (y), nlocuind diecare apariie a lui y printr-un simbol funcional nou, neutilizat, f, cu argumente toate variabilele legate prin cuantificatori universali ce preced (y). f se numete funcie Skolem a formulei , pe scurt FNS. 4.6.7 Exemplul 4.6.8: Fie fraza: : (x)(y)(z)()P(x, y, z, ) care este n FNP. 1. Eliminm (y) i nlocuim y cu funcia Skolem f(x). Obinem astfel fraza: 1 : (x)(z)()P(x, f(x), z, ) 2. Eliminm () din 1 i nlocuim cu funcia Skolem g(x, z), deoarece (x), (z) precede (). Obinem astfel: *: (x)(z)P(x, f(x), z, g(x, z)) 4.6.8 Intuitiv, n exemplul de mai sus, f(x) indic existena unei variabile y care depinde de x. (Conform definiiei 4.5.5(h) i (g), pentru fiecare x exist o constant care poate nlocui y). Deci y este o variabil existenial, cu alte cuvinte este legat de un cuantificator existenial. Astfel, i * implic pe baza lui f(x) i a lui g(x, z). Exemplul 4.6.9: este *: (x)(z)(x, c, z) unde c este o constant deoarece funcia Skolem f corespunztoare nu are nici o variabil ((y) este primul cuantificator al lui , deci y nu este determinat de nici o variabil i f este funcia constant c). Transformarea unei fraze n FNS este de mare importan n programarea logic, acest lucru devenind evident n momentul n care vom prezenta metoda demonstrrii prin rezoluie n LPr. n LPr (definiia 1.9.4) am vzut c o fraz de forma: FNS a formulei : (y)(x)(z)(x, y, z)

A11 ... A1n ) ... ( Ak1 ... Ak n )

deci o conjuncie de disjuncii, poate fi reprezentat conform teoriei mulimilor ca o mulime de forma: {{ A11 ... A1n },..., { Ak1 ... Ak n }} Lund n considerare definiia 4.4.1 ct i cuantificatorii, prezentm acum aceast definiie n contextul LPr. Definiia 4.6.10: Fie o fraz n LPr n FNS: : (x 1 ) (x l )A(x 1 , , x l ) C 1 (x 1 , , x l ) C k (x 1 , , x l ) i fiecare C i , 1 i k, este o disjuncie de atomi sau de atomi negai P11 ,..., P1p n LPr. Atunci este reprezentat conform teoriei mulimilor ca mulimea: sau S = {C1 ,..., C k } S = {{P11 ,..., P1n },..., {Pk1 ,..., Pk n }} Fiecare C i este o clauz, S fiind mul este o clauz, S fiind mulimea de clauze Exemplul 4.6.11: 4.6.10 (*)

unde A(x 1 , , x l ) este conjuncia:

Fraza: (x)(z)[P 1 (x, z) (P 2 (x) P 3 (z)) P 4 (z, x)] se reprezint ca mulime de clauze prin: S = {{P 1 (x, z)}, {P 2 (x), P 3 (z)}, {P 4 (z, x)}} 4.6.11 n cele ce urmeaz, vom prezenta interpretrile Herbrand ct i metodele de demonstraie a realizabilitii unei fraze sau a unei mulimi de fraze a LPr.

2.7

Interpretri Herbrand

n aceast seciune vom descrie un tip special de interpretri, interpretrile Herbrand [ChLe73, DeLa87, Klee52, Thay88], care au un rol catalizator n bazele teoretice ale programrii logice. Interpretrile Herbrand au fost subiectul tezei de doctorat a lui J. Herbrand n 1930. Fr contribuia lui Herbrand, programarea logic ar putea fi nc un vis de neatins. Problema de baz a demonstrrii automate a teoremelor este determinarea unei proceduri generale pe baza creia putem demonstra dac o fraz a LPr este adevrat sau nu [ChLe73]. n 1936, Turing i Church, fiecare lucrnd independent, au demonstrat c nu exist o astfel de procedur. ns Herbrand a rezolvat aceast problem indirect, pe baza unui algoritm de construcie a unei intepretri ce respinge o formul dat . Dac este adevrat, nu exist nici o interpretare care s-o resping i algoritmul se oprete dup un numr finit de pai. Primele ncercri de a utiliza ideile lui Herbrand n programarea logic se situeaz n anul 1960 i aparin lui Gilmore ct i lui Davis i Putnam; ns aceste ncercri nu au fost ncununate de succes. De abia n 1965, Robinson realizeaz punerea n practic a metodei lui Herbrand prin introducerea i utilizarea rezoluiei.

Descrierea universului Herbrand


Fiind dat o fraz a LPr, dorim s determinm dac este verificabil sau nu. Decidem astfel despre posibila realizabilitate a unei fraze prin inspectarea corespunztoare a mulimii de clauze S asociat lui . Cu toate acestea, demonstrarea realizabilitii sau a nerealizabilitii tuturor termenilor de baz ce apar ntr-o clauz este aproape imposibil. Din acest motiv, crem o mulime, un univers, n care termenii frazei s ia valori. Aceast mulime se numete universul Herbrand. Construcia universului Herbrand se face inductiv, dup cum urmeaz: Construcia 4.7. l: Construcia universului Herbrand: Fie S o mulime de clauze corespunztoare unei fraze . Pasul l: {c c o constanta ce apare in S} 0 = {c0 } daca S nu contine nici o constanta. C0 este o constant nou (nou nsemnnd c nu apare n S), introdus arbitrar. Pasul i+1: Hi+1=Hi {(a1,,an) / aj, 1jn, sunt termeni din Hi, iar este o funcie sau o constant ce apare n S}. n final, impunem: H= U i i

Atunci H, mulimea tuturor termenilor formai cu constantele din H0 i funciile care apar n S, se numete universul Herbrand al mulimii de clauze S. Mulimile Hi, i=0,1,2, se numesc mulimi Herbrand ale lui S. Exemplul 4.7.2: Fie a o constant i S o mulime de clauze: S={{P(a)},{-P(a),P(f(x))}} Atunci: H0={a} H1={a,(a)} H2={a,(a),((a))} ... i n final : H={a,(a),((a)),(((a))),} Exemplul 4.7.3: Fie programul: P(x) Q((x),g(x)) R(x) Introducem constanta a i avem: H={a,(a),g(a),((a)),(g(a)),g((a)),g(g(a)),(((a))),} Exemplul 4.7.4:

S={{P(x),Q(x)},{T(x),-R(x)}} Introducem o constant nou c0.Atunci H0={c0}.Deoarece nu exist simboluri funcionale n S, avem H=H0={c0}. Teoretic, pentru a determina dac o fraz este realizabil, trebuie s determinm dac existo interpretare (dintr-o mulime eventual infinit de interpretri ) care verificacea fraz.Lucrurile devin mult mai uoare dac ne limitm la fraze universale, adicla fraze ce conin numai cuantificatori universali; n acest caz, trebuie s considerm numai un anumit grup de interpretri numite interpretri Herbrand. Vom enuna acum definiia formal a unei interpretri Herbrand. Definiia 4.7.5: Interpretare Herbrand: Fie S o mulime de clauze i H universul Herbrand corespunztor lui S. O interpretare Herbrand AH pentru S se definete astfel: (i) H este universul interpretrii; (ii) Interpretarea fiecrui symbol de constant este constanta nsi; (iii) Interpretarea fiecrui termen f(t1,,tn), unde f este o funcie sau o constant, este f(t1,,tn), unde t1,,tn sunt interpretrile termenilor t1,,tn ; (iv) Interpretarea fiecrui simbol predicativ de aritate n, P(t1,,tn), este o relatie n-ar P(t1,,tn) peste H, unde t1,,tn sunt interpretrile termenilor t1,,tn. Exemplul 4.7.6 : Fie L={, +, *, s, 0} un limbaj aritmetic, unde s este funcia succesor.Avem : H0={0} H1={0,s(0)} H2= {0,s(0),s(s(0))} i, n final, H= {0,s(0),s(s(0)),s(s(s(0))),} Interpretrile elementelor din L diferite de 0 sunt relaiile corespunztoare peste H.De exemplu, pentru s i avem, conform definiiei 4.5.2: (s) : H a H = a a s(a) H () H2 : () = {(0,s(0)), (s(0),s2(0)),,(sn(0),sn+1(0)),} Enunm acum teorema de baz a interpretrilor Herbrand. Teorema 4.7.7: Fie o fraz universal i S mulimea de clauze asociat acestei fraze. Atunci este realizabil (n anumite interpretri) dac i numai dac este realizabil ntr-o interpretare Herbrand. Demonstraie: (<=): O interpretare Herbrand este o interpretare (cazul trivial). (=>): Dorim s demonstrm c dac este verificabil ntr-o interpretare A atunci putem defini relaii n universul Herbrand care satisfac clauzele din S. S presupunem deci c este verificat ntr-o interpretare A cu A universul acesteia. Pentru a specifica interpretarea diverselor simboluri din L, adic a limbajului care conine fraza , folosim: - (c) = A, pentru fiecare simbol de constant c - () = f : An a A, pentru fiecare funcie de n variabile
^

- (t) = ((t1, ...,tn)) = f (t1 ,..., t n ) ,


^

pentru fiecare termen (t1, ...,tn)

- (R) = R A n , pentru fiecare predicat n-ar R Pentru fiecare simbol predicativ R de aritate n definim relaia RH n H (definiia 4.7.5, definiia 4.5.2 (ii), definiia 4.5.5) dup cum urmeaz: RH(t1, ...,tn) (t1 ,..., t n ) R Avem astfel o interpretare Herbrand AH. S impunem A'= { t t H}. Structura A' , cu A' universul asociat i cu restriciile relaiilor lui A n A' , este evident o interpretare a mulimii S. Mai mult, A |= i orice apare n apare, prin definiie, i n A. Deci A' |= . Atunci, pe baza definiiei lui AH, AH |=. n consecin, este ntr-adevr realizabil ntr-o interpretare Herbrand. Pe baza teoremei 4.7.7, dac nu este verificabil ntr-o interpretare Herbrand, atunci nu este realizabil; nu exist nici o interpretare care satisface . Cu alte cuvinte: Pe baza interpretrilor Herbrand, reducem nerealizabilitatea unei mulimi de clauze la nerealizabilitatea unei mulimi de instane de baz a acestor clauze n universul Herbrand. Deoarece n instana de baz a unei clauze nu apar variabile, realizabilitatea poate fi demonstrat pe baza metodelor LP, de exemplu metoda tablourilor semantice sau rezoluie. Demonstraiile Beth, la fel ca i rezoluia, sunt demonstraii algoritmice (spre deosebire de metodele uzuale de realizabilitate n LPr, exemplul 4.5.17), Acest rezultat este cunoscut ca teorema lui Herbrand, indiferent de forma sub care se gsete n bibliografia clasic sau modern. Teorema lui Herbrand va fi analizat n seciunea urmtoare, ce se ocup de demonstraii pe baza arborilor semantici.
^ ^ ^

4.8 Demonstraii cu tablouri sistematice n LPr, la fel ca i n LP, putem determina dac o fraz sau o mulime de fraze este realizabil. Metodele de demonstrare discutate anterior pot fi utilizate i n contextul LPr. S ncepem cu metoda tablourilor semantice [Fitt69, Fitt90, Meta85, Smul68], Tablorile semantice sunt folosite pentru determinarea valorii de adevr a unei fraze compuse a unui limbaj L a LPr.
Definiia 4.8.1: Demonstraii cu tablouri sistematice complete: S presupunem c avem un limbaj L i c c0, c1,..sunt simbolurile constante din limbaj, formnd o list de constante. (Semnificaia acestei liste va fi clarificat n construcia 4.8.5). Fie , 1, 2 fraze din L .Tablourile semantice corespunztoare sunt prezentate n tabelul urmtor.

Tablourile semantice din LPr sunt o extensie a tablourilor semantice din LP, care include cazuri suplimentare pentru cuantificatori. Cu ajutorul tabloului semantic: a( x )( x ) a(c) pentru oricare c reprezentm faptul c "pentru ca ( x ) ( x ) s fie adevrat, ( x ) trebuie s fie adevrat pentru orice constant c". 2 1 (-) a(-) a

a(1 2) \ a1 a2

(1 2) 1

a(1 2) a1

(1 2) \ 1 2

2 7 a(1 2) \ 1 a2 8 (1 2) a1

a 2 9 a(1 2) \ a1 1

10

(1 2) \ a1 1

2 11 a( x )( x ) a(c) pentru oricare c 12 ( x )( x ) (c) pentru c nou 13

a2

2 14

2 a2 ( x )( x ) (c) pentru oricare c

a( x )( x ) a(c) pentru c nou

Corespunztor, cu tabloul semantic

a( x )( x ) a(c) pentru c nou reprezentm faptul c "pentru ca ( x )( x )s fie adevrat trebuie s existe o constant c, care nu a aprut nc n tablou, astfel nct (c) s fie adevrat".

Tablourile semantice ale LPr se numesc tablouri sistematice complete, pe scurt TSC.Construcia unui tablou semantic complet al unei fraze n LPr este analoag cu construcia LP corespunztoare. S ncepem prin a studia cteva exemple. Exemplul 4.8.2: S presupunem c dorim s demonstrm c: : ( x )( x ) ( x )( x ) este logic adevrat, unde este o fraz n LPr.

ncepem cu un tablou care are ca origine: tablou 8 (( x )( x )( x )( x ) a( x )( x ) ( x )( x ) a(c) (c) pentru oricare c pentru oricare c nod 1 nod 2 nod 3 nod 4 nod 5

din nodul 3 din nodul 2 contradicie ntre 4, 5

Pentru ultimul nod al tabloului semantic am utilizat aceeai constant c pentru a genera contradicia. Acest lucru este permis deoarece tabloul frazei ( x )( x ) permite introducerea oricrei constante. Intuitiv, demonstraia Beth de mai sus arat c ( x )( x )( x )( x ) este o fraz logic adevrat deoarece orice ncercare de a demonstra c este fals a rezultat ntr-o contradicie. Exemplul 4.8.3: [( x )(P( x ) Q( x )) (( x )(P( x ) ( x )Q( x ))] a( x )(P( x ) Q( x )) (( x )P( x ) ( x (Q( x )) a( x )P( x ) ( x )Q( x ) Q(c1) pentru un c1 nou

aP(c)

pentru oricare c

a(P(c) Q(c)) pentru oricare c \ P(c) aQ(c) Tabloul semantic al lui a( x )( x ) - dual, al lui ( x )( x ) - ne permite s declarm (c)adevrat - dual, fals - pentru orice constant c. Tabloul semantic a( x )( x ) ne permite s declarm (c) adevrat numai pentru acele constante c care nu au aprut anterior n tabloul semantic. Urmtorul exemplu arat ce s-ar ntmpla fr aceast restricie. Exemplul 4.8.4: Fie fraza ( x )( x ) ( x )( x ). Aceast fraz nu este logic adevrat deoarece existena unui x pentru care ( x ) este adevrat nu implic adevrul lui ( x ) pentru orice x (de exemplu, existena lui x > 3 nu implic faptul c pentru orice x este adevrat x > 3). Dar: (( x )( x )( x )( x )) a( x )( x ) ( x )( x ) a(c) pentru un c nou (c) pentru un c nou n nodul 5 nu am fi avut dreptul s utilizm aceeai constant c ca n nodul precedent 4. Am "demonstrat" astfel c ( x )( x )( x )( x ) este o fraz logic adevrat, ceea ce, evident, nu este corect. Datorit tablourilor 1 1 i 14, un tablou semantic se poate dezvolta la infinit dac nu exist o contradicie pe una din ramurile acestuia.(n exemplele 4.8.2 i 4.8.3 nu a fost nevoie s scriem toate constantele din tablourile 4 i 13). Acest lucru va fi neles mai bine din urmtoarea construcie formal a unui tablou sistematic complet pentru o fraz . Construcia 4.8.5: Construcia unui tablou sistematic complet: Construcia ncepe cu formulele cu semn sau a ca origine a tabloului. Continum apoi inductiv. Pasul n: Am format deja un tablou Tn. Tn va fi extins la un nou tablou Tn+1 prin utilizarea anumitor noduri din Tn. Pasul n+1:

Fie X nodul neutilizat i neatomic cel mai deprtat la stnga dintre nodurile echidistante fa de origine. Dac nu exist un astfel de nod X, tabloul sistematic este complet. Dac exist un astfel de nod,construim tabloul Tn+1 prin extinderea fiecrei ramuri necontradictorii ce trece prin X cu concatenarea (la sfritul fiecrei ramuri) a tabloului corespunztor lui X. Analizm noile cazuri: Cazul 1: X este a(( x )( x )). Fie ck primul simbol de constant din lista tuturor constantelor din limbaj astfel nct c nu apare n nici o ramur ce trece prin X. Adugm atunci a(cn) la sfritul fiecrei ramuri necontradictorii ce trece prin X, conform tabloului: a( x )( x ) a(cn) Cazul 2: X este (( x )( x )). Fie ck primul simbol de constant din list ce nu apare n nici un nod din ramura ce trece prin X. Atunci adugm (ck) la sfritul fiecrei ramuri ce trece prin X, conform tabloului: ( x )( x ) (ck) Cazurile 3, 4: X este (( x )( x )) i, respectiv, a(( x )( x )). Aceste cazuri sunt duale cazurilor l i 2. Intuitiv, n cazurile l i 3 (i dual n 2 i 4) dorim s evitm repetarea i declarm (p(c) adevrat pentru constante noi, utiliznd astfel toat lista de constante (nu ntr-o perioad de timp finit, evident). Definiia 4.8.6: Un tablou sistematic complet, pe scurt TSC, este reuniunea tuturor tablourilor Tn din construcia precedent, adic: T = n Tn Un TSC poate avea un numr infinit de noduri, n timp ce tablourile semantice din LP sunt ntotdeauna finite. Definiia 4.8.7: (i) Un TSC este contradictoriu dac toate ramurile lui sunt contradicii. (ii) O fraz este demonstrabil Beth (respins Beth)dac exist un TSC contradictoriu cu originea n (a). Faptul c este demonstrabil Beth se noteaz |B . (iii) O fraz este demonstrabil Beth dintr-o mulime de fraze S dac exist un TSC contradictoriu cu originea n i un nod urmtor aP, unde P este conjuncia frazelor din S. Acest lucru se noteaz S |B . Exemplul 4.8.8: nod l a[( x )A( x , x ) ( y )(-(A(y,y)) B(y,y))] nod 2 a[( x )A( x , x )] nod 3 a[( y )(-A(y,y) B(y,y)] pentru c0 nou

a[-A(c0,c0) B(c0,c0)] \ de la 2 pentru orice c a[-A(c0,c0)] a[B(c0,c0)] a[A(c,c)] [A(c0,c0)] din 2 a[A(c0,c0)] aA(c0,c0)] aA(c1,c1) n acest exemplu, ramura din stnga este contradictorie n timp ce ramura din dreapta continu la infinit. nod 4 Demonstraiile pe baza arborilor semantici sunt destul de asemntoare cu demonstraiile Beth. S vedem o descriere informai a acestei probleme i metode. Arbori semantici: Descriere informal Fie o fraz i S mulimea de clauze corespunztoare lui . Dac este realizabil, atunci este adevrat ntr-o interpretare Herbrand (teorema 4.7.7). n consecin, toate instanele de baz ale clauzelor din S sunt adevrate n aceast interpretare. Dac este nerealizabil, orice ncercare de a verifica toate instanele de baz ale clauzelor din S prin intermediul unei valorizri a atomilor de baz R(t1, t2,...,tn) unde t1, t2,...,tn aparin universului Herbrand, trebuie s eueze. Acest eec este confirmat ntr-un numr finit de pai prin construcia unei mulimi finite de instane de baz nerealizabile ntr-un univers Herbrand. Astfel, conform teoremei 4.7.7, aceste instane sunt nerealizabile n orice interpretare. Se constant astfel c problema este aceea de a construi o procedur care, pornind de la o fraz cp i mulimea corespunztoare de clauze S: (i) dac este nerealizabil, procedura se termin dup un numr finit de pai pentru o mulime finit de instane de baz; (ii) dac este realizabil, procedura nu produce nimic ntr-o perioad finit de timp dar constituie totui construcia unei interpretri Herbrand ce satisface . Cu alte cuvinte, cu ajutorul acestei proceduri dorim s obinem demonstraia unui contraexemplu a nerealizabilitii frazei. Construcia unei astfel de proceduri necesit utilizarea arborilor semantici [ChLe73, Dela87]. Definiia 4.8.9: Un arbore este o structur T = {X, r}, unde X este mulimea nodurilor lui T, iar r este o relaie binar n X astfel nct: (1) dac x, y e X i xry, atunci jc se numete nodul predecesor al lui y i y nodul succesor al Iui x; (2) exist exact un singur nod n T care nu are un nod predecesor. Acest nod se numete originea sau rdcina lui T; (3) fiecare nod care difer de originea lui Tare exact un unic predecesor.

Linia ce unete un nod cu nodul lui succesor se numete un arc al lui T. Un nod final este un nod fr succesori. Secvena de arce ce leag originea arborelui de un nod final se numete ramur a lui T. Exemplul 4.8.10: / /

/ \

/ \

/ \ / \ / \ \

/ \ /\ /\ T1
/

/ \ / \

/ \ / \ T2 T3 Diagrama T1 este un arbore.Se observ c ramurile arborelui sunt orientate n jos. T2 nu este un arbore deoarece are dou origini i, mai mult, exist un nod cu doi predecesori. Tj nu este, de asemenea, un arbore deoarece are un nod cu dou noduri predecesoare.
Observaia 4.8.11: Tabloul semantic al unei propoziii a LP i tabloul sistematic complet al unei fraze din LPr sunt arbori. Definiia 4.8.12: Arbori semantici: Fie S o mulime de clauze, S = {C1,...,Cn}, P1,...,P atomii ce apar n clauzele din S i {a1,...,an,...} universul Herbrand al lui S. Un arbore semantic al lui S este un arbore care satisface urmtoarele condiii: (1) Originea lui T este un punct arbitrar. Nodurile diferite de origine sunt instane de baz ale P1,...,P n universul {a1,...,an,...}. Fiecare nod are exact doi succesori, respectiv Pi(ai1,...,aik) i -Pi(ai1,...,aik); (2) Fiecare ramur a lui T coninnd exact instanele de baz: Pip(ai1,...,aik) i Pip(ap1,...,apk) reprezint conjuncia: Pip(ai1,...,aik) ... Pip(ap1,...,apk); (3) Disjuncia conjunciilor asociate oricrei ramuri din T este logic adevrat; (4) Dac un nod din T este Pi(ai1,...,aik), atunci nodul succesor nu poate fi -Pi(ai1,...,aik);

(5)

Dac n timpul construciei lui Tse obine un nod baz a uneia din clauzele C1,...,Cn din S, atunci corespunztoare se numete contradictorie.

K K

care contrazice o instan de este un nod final i ramura

n practic, pentru a construi un arbore semantic pentru o mulime de clauze S, ncepem cu P1(a11,...,a1k): / \ P1(a11,...,a1k) - P1(a11,...,a1k) Dac una din clauzele din S conine P1(a11,...,a1k) atunci ramura din dreapta este contradictorie, -P1(a11,...,a1k) este un nod final i construcia continu pe ramura din stnga. Dac una din clauzele din S conine -P1(a11,...,a1k), atunci ramura din stnga este contradictorie, P1(a11,...,a1k) este un nod final i construcia continu cu ramura din dreapta. S presupunem c P1(a11,...,a1k) nu este un nod final. Continum cu nodul P2(a21,...,a2). (Alegerea atomului cu care continum construcia este a noastr). / \ P1(a11,...,a1k) - P1(a11,...,a1k) / \ P2(a21,...,a2) - P2(a21,...,a2) k1 k2 Ramura K1 este conjuncia P1(a11,...,a1k) P2(a21,...,a2).Ramura k2 este conjuncia P1(a11,...,a1k) -P2(a21,...,a2).Verificm dac una din clauzele din S conine - P1(a11,...,a1k) sau - P2(a21,...,a2).Dac se ntmpl aa, K1 este ramur contradictorie i continum cu k2. Continum astfel inspecia i construcia arborelui semantic n scopul de a ajunge la noduri finale, folosind toi atomii din S.

Definiia 4.8.13: (1) O mulime de clauze S se numete respins de un arbore semantic dac exist un arbore semantic pentru S pentru care toate ramurile sunt contradictorii. (2) O ramur K a unui arbore semantic a unei mulimi de clauze S se numete complet dac pentru oricare instan de baz P1(a1,...,an) a fiecrui atom P, fie P1(a1,...,an) fie -P1(a1,...,an) este coninut n K. Exemplul 4.8.14: Fie : ( x )[([( x )(P( x ) (-(P( x ) Q(( x ))) - Q(( x ))] Atunci S = { { P(x )}, { (-P( x), Q((x ))} , {- Q((x )) } 1 4 24 3 144 4 2444 3 1 4 24 3
1 2 3

H = universul Herbrand = {a, (a), ((a)), (((a))),...} Instane de baz = {P(a), Q(a), P(f(a), Q((a)),...} Un arbore semantic pentru S este T1: \ P(a) -P(a)
i

/ \ contr. cu 1 Q(a) -Q(a) / \ / \ k7 P((a)) - P((a)) P((a)) - P((a)) / \ / \ Q((a)) -Q((a)) 1 Q((a)) -Q((a)) 1 k3 k6 3 2 3 2 k1 k2 k4 k5 S vedem de ce k2 este o ramur contradictorie: k2 reprezint conjuncia: - Q((a)) P((a)) Q(a) P(a) Cea de a doua clauz a lui S este {- P( x ),Q(( x )) }.Pe baza lui S, cerem ca: -P( x ) Q(( x )) s fie valid pentru orice x. Cu toate acestea k2 spune c exist un x n universul Herbrand, x care este egal cu a i pentru care avem: - Q((a)) P((a)) Q(a) P(a) Atunci avem de asemenea: - Q((a)) P(a) (pe baza A BA) i conform De Morgan: -(Q((a)) P(a)) cu alte cuvinte k2 determin o contradicie cu cea de a doua clauz din S. Aa cum am spus mai nainte, noi alegem ordinea n care atribuim valori din H atomilor din S. Astfel, dac alegem Q(f(a)) dup P(a), avem un arbore semantic foarte simplu pentru S, T2, cu toate ramurile contradictorii: \ P(a) -P(a) / \ 1 Q(a) -Q(a) 3 2 Exemplul 4.8.15: : ( x )( z )((-P( x ) Q(( x ), x ))) P(g(b)) -Q( x ,z) Fie Atunci S = { (-P( x), Q((x ), x)} , {P(g(b))}, {- Q(x, z )} } 144 4 2444 3 14 24 31 4 24 3
1 2 3

H = {b, (b), g(b), ((b)), (g(b)),...} Instane de baz = {P(b), Q((b),b), P(g(b)), Q((g(b))g(b),...} Arborele semantic pentru S este: \ P(g(b)) -P(g(b)) / \ Q((g(b)),g(b) -Q((g(b)),g(b) 2 3 1
i

Aa cum am mai spus, ordinea n care utilizm atomii n construcia arborelui are un efect semnificativ asupra numrului de pai necesari pentru atingerea nodurilor finale i producerea ramurilor contradictorii. n observaia 4.8.11, am vzut c tablourile semantice i tablourile sistematice complete sunt arbori. Pe baza lemei lui Koenig (Ierna 1.11.9), fiecare arbore finit cu un numr de noduri infinite are cel puin o ramur infinit. Atunci, dac S nu este realizabil, construcia arborelui ei semantic va conduce, ntr-un numr finit de pai, la gsirea unei interpretri Herbrand H astfel nct AH |=/= S. Dac S este realizabil, atunci construcia corespunztoare va conduce la un arbore infinit, fiecare ramur a acestui arbore determinnd interpretarea Herbrand ce satisface S. Aceast concluzie reprezint esena teoremei Iui Herbrand, pe care o vom demonstra n continuare prin folosirea unei metode de construcie a unui arbore semantic corespunztor unei mulimi de clauze S. Teorema 4.8.16: Teorema lui Herbrand: Dac S este o mulime de clauze nerealizabil, atunci S ese respinsa de un arbore semantic. Demonstraie: Vom descrie un algoritm de construcie a unui arbore semantic pentru 5. Formm universul Herbrand al lui S i mulimea: {a0,a1,...} a instanelor de baz din S. Atunci: Pasul 0: Construim arborele: / \ a0 -a0 Pasul n: Concatenm la fiecare nod final a unei ramuri necontradictorii K extensia: / \ an -an S presupunem c S nu este respins de un arbore semantic. Atunci, construcia descris de algoritmul anterior nu se va termina niciodat. Cu toate acestea, n acest caz Iem lui Koenig garanteaz c arborele va conine o ramur infinit K. Pentru fiecare instan de baz an, va conine fie an fie negaia an ca nume a nodului. Definim acum o interpretare Herbrand, dup cum urmeaz: Pentru fiecare simbol predicativ n-ar P i termeni t1,t2,...,tncu interpretri ce aparin universului Herbrand al lui S, interpretarea lui P este relaia: (P)((t1),,(tn)) unde P(t1,...,tn) este numele unui nod de-a lungul unei ramuri infinite. Aceast interpretare satisface, evident, toate clauzele din S. n consecin, S este realizabil. De fapt, teorema lui Herbrand ofer un algoritm ce investigheaz realizabilitatea unei fraze sau a unei mulimi de clauze S1 pe baza metodelor logicii propoziiilor; de exemplu, tablouri semantice sau rezoluie. Dac S este nerealizabil, atunci exist o mulime de instane de baz a clauzelor din S care nu este realizabil. Aceast mulime finit const n propoziii LP i nerealizabilitatea ei poate fi pus n eviden cu metode care ne sunt deja cunoscute. Astfel,

pentru orice mulime de clauze S, ncepem prin a numra toate instanele de baz ale clauzelor din S. n timpul acestui proces, verificm sistematic realizabilitatea fiecrei submuimi finite de instane de baz prin metode ale logicii propoziiilor. Dac S nu este realizabil, atunci aceast verificare va arta c una dintre submulimi, finit, nu este realizabil. Dac S este realizabil, verificarea poate continua la infinit. Exemplul 4.8.17: Fie fraza din exemplul 4.8.15: : ( x )( z )((-P( x ) Q(( x ), x ))) P(g(b)) -Q( x ,z) S se determine dac este realizabil. Mulimea corespunztoare de clauze este: S = { (-P( x), Q((x ), x)} , {P(g(b))}, {- Q(x, z )} } 144 4 2444 3 14 24 31 4 24 3
1 2 3

Universul Herbrand al lui S este: H = {b, g(b), (b), (g(b)), g((b)),...} Mulimea instanelor de baz ale atomilor din S este {P(b), Q((b),b), P(g(b)), Q((g(b))g(b),P((b)),...} Construim arborele semantic sistematic pentru S conform metodei descrise n teorema 4.8.16. \ P(g(b)) -P(g(b)) / \ / \ Q((b),b) -Q((b),b) Q((b),b) - Q((b),b) / \ 3 1 3 P(g(b)) - P(g(b)) / \ Q((g(b)),g(b) -Q((g(b)),g(b) 2 3 1 Arborele semantic reprezint demonstraia faptului c S nu este realizabil i stabilete o anumit submulime de instane de baz ale clauzelor din S care nu este realizabil. Aceste instane de baz sunt acelea i numai acelea care sunt utilizate pentru a arta c o anumit ramur este contradictorie. Concret: {{-Q((b),b)}, {-Q((g(b)),g(b))}, {P(g(b))}, {-P(b),Q((b),b)}, {-P(g(b)),Q((g(b)),g(b))}} Primele dou instane provin din clauza 3 din S, cea de a treia din clauza 2 i ultimele dou din clauza 1. Nerealizabilitatea acestei mulimi finite se poate ntr-adevr demonstra, de exemplu, prin metoda rezoluiei n logica propoziiilor. S notm: A: Q(f(b),(b) B: Q((g(b)),g(b)) C: P(g(b)} D: P(b) Atunci, putem scrie submulimea finit a instanelor de baz ale clauzelor din S dup cum urmeaz: C} , D, A , {C , B} } S' = { { A} , { B} , { { 1 2 3 { { 1 4 2 4 3
1 2

Folosind rezoluia, obinem:

(1) -A (2) -B (3) C (4) -D, A (5) -C, B (6) B din (3) i (5) (7) din (2) i (6) Trebuie s observm n acest moment c algoritmul de construcie a unui arbore semantic nu produce ntotdeauna mulimea minimal de instane de baz. Astfel, n exemplul precedent: S1 = { { B} , { C} , {C , B} } { { 1 4 2 4 3
1 2

este deja o mulime nerealizabil. (1) -B (2) C (3) C, B (4) B din (2) i (3) (5) din (1) i (4) Exemplul 4.8.18: S examinm acum o mulime de clauze realizabil. Fie fraza: : ( x )[( y )P(x,y) ( y )P(a,y)]. Forma normal Skolem a lui este ( x )( y )[-P(x,y) P(a,(x,y)] (De ce?). Mulimea de clauze corespunztoare este: S = {{-P(x,y), P(a,(x,y)}} i universul Herbrand corespunztor: H = {a,(a,a), (a,(a,a)),((a,a),a),((a,a),(a,a)),...} Instanele de baz ale atomilor din S sunt: {P(a,a), P(a,(a,a)),P((a,a),a),P((a,a),(a,a)),...} Un arbore semantic pentru S este: \ P(a,a) -P(a,a) / \ / \ P(a,(a,a)) -P(a,(a,a)) P(a,(a,a)) -P(a,(a,a)) / \ ..... / \ ..... P((a,a),a) -P((a,a),a) ..... ..... ..... ..... k1 Acest arbore semantic infinit conine ramuri care nu sunt contradictorii prin construcie, deoarece conjuncia atomilor acestor ramuri nu invalideaz nici o clauz din S. De exemplu, ramura K1, care nu conine negarea lui P, este necontradictorie. K1 ofer o interpretare Herbrand a frazei ce satisface S. 4.9. Unificare i rezoluie n LPr

Am discutat anterior despre formele normale Prenex i Skolem ale unei fraze. Fie o fraz a unui limbaj LPr. Atunci, urmnd paii: A: Form Prenex B: FNC a frazei fr cuantificatori C: Form normal Skolem D: Form clauzal putem reduce la o mulime de clauze i determina valoarea ei de adevr pe baza metodelor specifice LPr. Exemplul 4.9.1: Fie o fraz n form normal Prenex (A): : ( x )( y )( z )((-P(x,y) Q(x,z) R(x,y,z)) ( x )( y )( z )((-P(x,y) R(x,y,z)) (Q(x,z)) R(x,y,z)) Introducem acum simbolurile funcionale Skolem , g, unde y = (x) i z = g(x). Atunci: ( x )[(-P(x,(x) R(x,(x),g(x))) (Q(x,g(x)) R(x,(x),g(x))) i n final determinm forma clauzal (D) a frazei : S = {{ -P(x,(x)), R(x,(x),g(x))}, {(Q(x,g(x)), R(x,(x),g(x))}} n forma clauzal a lui trebuie s considerm instantieri ale variabilelor i funcii Skolem. Arborii semantici definii n seciunea precedent ne ajut n rezolvarea acestei probleme. Folosind arbori semantici, putem selecta simboluri pentru substituia variabilelor din universul Herbrand corespunztor i apoi putem aplica metoda rezoluiei pentru a gsi contradicii ntre instanele de baz ale clauzelor implicate. O astfel de procedur este ns consumatoare de timp. In plus, nu poate fi folosit cu uurin ntr-un mecanism deductiv structurat implementabil Ia nivel de program. Avem nevoie, deci, de o metod algoritmic care poate fi uor programat. Procedura de unificare ce va fi prezentat n continuare [ChLe73, Dela87, Fitt90, Lloy87, ThaySS] ofer o metod care va facilita determinarea contradiciilor. A) Unificare: Descriere informal Am definit deja (definiia 2.2.19) conceptul de substituie. Fie urmtoarele dou clauze: C1 : {P((x),y), Q(a,b,x)} i C2 : {-P((g(c)), g(d))} Dorim s aplicm rezoluia asupra clauzelor C1i C2 substituind x cu g(c) i y cu g(d). Pentru aceasta: (1) trebuie s verificm dac C1 i C2 pot rezolva, i (2) trebuie s gsim mulimile substituie adecvate care permit rezoluia. Algoritmul de unificare permite realizarea acestor operaii. S vedem cum unific C1 i C2 pe baza acestui algoritm. Pasul 1: Identificm n cele dou clauze doi atomi de semn contrar (n exemplu, P((x),y)din C1 i -P((g(c)), g(d)) n C2) i comparm termenii lor de la stnga la dreapta, pn la ntlnirea primei perechi de termeni care difer, n cazul de fa, este vorba de o pereche de termeni cu aceleai simboluri funcionale, dar care difer prin argumentele acestor funcii. Construim o mulime ce conine aceste argumente, numit mulime de neconcordan. Pentru C1 i C2, prima mulime de neconcordan este {x, g(c)}.

Pasul 2: Pentru fiecare variabil din mulimea de neconcordan verificm dac apare ntr-un alt termen din aceeai mulime. Pasul 3: Dac testul anterior este pozitiv, atunci cele dou clauze nu unific i algoritmul se termin cu eec. Dac testul este negativ, nlocuim variabila cu termenul corespunztor din mulimea de neconcordant. Aplicm substiia 1 = {x/g(c)} asupra clauzelor C1 i C2, care devin astfel: C1 1={P((g(c)),y), Q(a,b,g(c))} C12 =C2 Pasul 4: Relum comparaia termenilor din pasul l i continum cu paii 2 i 3. Noua mulime de neconcordan este {y, g(d)}. Aplicm substituia 2 = (y/g(d)} asupra lui C1 1 i C12 i obinem: C2 1={P((g(c)),g(d)), Q(a,b,g(c))} C22 =C2 n acest moment, se poate aplica rezoluia ntre C2 1 i C22 .
n final, algoritmul se termin cu producerea unei mulimi de substituii pe baza crora C1 i C2 sunt unificate i rezolv conform regulii rezoluiei din LP. Aceast mulime de substituii se numete unificator general, UG, al clauzelor rezolvate. Pentru C1 i C2, unificatorul general este = {x/g(c), y/g(d)}.Dac clauzele nu pot rezolva, algoritmul se termin n pasul 2. B) Unificare: Descriere formal Vom prezenta n continuare descrierea formal a algoritmului de unificare i definiiile asociate. Definiia 4.9.2 Mulime de neconcordan:
MN ( S ) = { ti , t j1 ,..., t j t i este primul termen din stnga ce apare ntr-un subtermen C k al

Fie S = {C1 ,C 2 ,...C n

} o mulime de clauze. Atunci mulimea:

clauzelor din S , astfel nct pentru substituia 1 = { t i / t j substituia

clauzelor din S i termenii t j1 ,..., t j apar n subtermenii C1 j ,...C j ai

2 = {t j / ti

},

sau cu

1 ,

C j 1 sau C k 2 este identic cu C j 2

Ck1 este

identic

Se numete mulime de neconcordana a lui S , pe scurt MN. 4.9.2 Mulimea de neconcordan nu este definit unic ci depinde de ordinea de enumerare a caluzelor din S. n exemplul prezentat la descrierea informal a unificrii avem:

S = {C1 , C2 } = {{P( f ( x ), y ), Q (a, b, x ) }, { P( f (g ( c) ), , g ( d ) ) }} Dac substituim subtermenul x din f(x) cu g(c) n P ( f ( x ), y ) , cu alte cuvinte 1 = {x / g ( c) } , atunci f ( x )1 este identic cu f ( g ( c))1 .Prima mulime de neconcordan este astfel MN1 = {x, g (c)} . .Dup aplicarea substituiei 1 , neconcordana ntre x i g(c) este eliminat i urmtoarea neconordan localizat de algoritm este dat de mulimea MN 2 = {y, g ( d )}.
Definiia 4.9.3 Fie C = { 1 , 2 ... n } o mulime de clauze sau de termini, o substituie se numete unificator al mulimii C dac 1 = 2 = ... = n . 4.9.3 Definiia 4.9.4 Un unificator se numete cel mai general unificator, pe scurt MGU (Most General Unifier), dac pentru orice alt unificator exist o substituie astfel nct = . 4.9.4

[Lloy87].

Pentru o mulime de clauze sau termini, cel mai general unificator este unic determinat

Exemplu 4.9.5: Fie mulimea de atomi S = {Q (g ( x ), w), Q ( y, b)} , unde b este un simbol de constant. Un unificator al lui S este: = {y / g (b), x / b, w / b} Dac este aplicat lui S, se creaz urmtoarele instane de baz: (Qg ( x ), w) = Q(g (b), b) Q ( y, b ) = Q (g (b), b) Dac impunem acum = {x / b}i = {y / g ( x ), w / b}, putem demonstra uor c = . n plus, unific atomii de mai sus. este deci un MGU , cel mai general unificator al mulimii S. 4.9.5 Exemplu 4.9.6: Fie C o mulime de termini C = { f ( x, g ( x )), f (h( y, g (h( y )))}. = {x / h( g (c)), y / g (c)} este un unificator al lui C. = {x / h( y )} este, de asemenea, un unificator al lui C. Dac impunem = {y / c}, atunci se poate uor demonstra c = . Deci este cel mai general unificator al lui C. 4.9.6 Acum, putem trece la descrierea formal a algoritmului de unificare. Algoritmul 4.9.7: Algoritmul de unificare: Fie T = {P1 , P2 ,...., Pn }o mulime de formule atomice. Pasul 0: 0 = E (substituia identic) Pasul k:

Avem deja substituiile 0 , 1 ,.... k . Pasul k+1 (pas recursiv): (i) Dac P1 1 2 .... k = P2 1 2 .... k = ... = Pn 1 2 .... k , atunci algoritmul se termin demonstrnd c = 1 2 .... k este un unificator general. (ii) Dac Pi 1 2 .... k Pj 1 2 .... k pentru anumii i i j, atunci: (a) Formm mulimea de neconcordan: MN ( P1 1 2 ..... k ,....., Pn 1 2.... k ) = MN (T 1 ..... k ) = MN k (b) Efectum verificarea apariiei variabilelor (VA), cu alte cuvinte verificm dac exist vreo variabil ntr-un element din MN k care apare i ntr-un alt element din MN k . Dac testul VA este afirmativ, (o variabil apare n mai mult de un element din MN k ) atunci ne oprim i concluzionm c T nu este o mulime unificabil. n caz contrar, deci pentru un rezultat negativ al testului, pentru , t MN k impunem k +1 = { / t} pentru a elimina neconcordana ntre P1 ,...., Pn n termenii , t .

Pasul k+2: Relum paii k+l, k+2 pentru k = k+\. Aa cum se va vedea din enunul teoremei urmtoare, dac T este unificabil, algoritmul se termin ntotdeauna prin construcia celui mai general unificator: MGU = = 1 2 ... n 4.9.7 Demonstraia urmtoarei teoreme depete cadrul acestei cri, dar poate fi gsit n [Robi65, ChLe73].
Teorema 4.9.8: (J. A. Robinson) Dac aplicm algoritmul de unificare mulimii T = {P1 ,..., Pn } atunci: Dac T este unificabil, atunci algoritmul se termin i construiete cel mai general unificator al mulimii T. Dac T nu este unijcabil, atunci algoritmul se termin i anun c nu exist unificator. 4.9.8 Teorema precedent spune c dac T este unificabil, atunci algoritmul de unificare se termin determinnd MGU (i nu doar un unificator oarecare) al lui T. Exemplul 4.9.9: Fie mulimea de formule: S = {Q (a, x, f ( g ( z )) ), Q ( z, f ( y ), f ( y ))} Este S unificabil? Dac da, s se dermine MGU. Pasul 0: Impunem 0 = E Pasul 1: S 0 = S MN ( S 0 ) = MN 1 = {a, z} VA negativ

Impunem 1 = {z / a} Pasul 2: S 0 1 = {Q ( a, x, f ( g ( a ))), Q ( a, f ( y ), f ( y ))} MN ( S 0 1 ) = MN 2 = {x, f ( y )} VA negativ Impunem 2 = {x / f ( y )} Pasul 3: S 0 1 2 = {Q ( a, f ( y ), f ( g ( a ))), Q ( a, f ( y ), f ( y ))} MN ( S 0 1 2 ) = MN 3 = {g ( a ), y} VA negativ Impunem 3 = {y / g ( a )} Pasul 4: S 0 1 2 = {Q ( a, f ( g ( a )), f ( g ( a ))), Q ( a, f ( g ( a )), f ( g ( a )))} S este deci unificabil cu cel mai general unificator: MGU = S 0 1 2 3 = {z / a, x / f ( y ), y / g ( a )} 4.9.9 Exemplul 4.9.10: Fie mulimea de formule: S = {Q ( y , y ), Q ( z, f ( z ))} Este S unificabil? Dac da, derminai un unificator general.

Impunem 0 = E S 0 = S MN ( S 0 ) = MN 1 = { y , z} VA negativ Impunem 1 = { y / z} Pasul 2: S 0 1 = {Q ( z, z ), Q ( z, f ( z ))} MN ( S 0 1 ) = MN 2 = {z, f ( z )} VA afirmativ, z apare n f(z). 4.9.10 Deci S nu este unificabil. Trebuie s observm c n multe aplicaii, pentru a obine o eficien crescut, mecanismul de inferen PROLOG bazat pe algoritmul de unificare ignor testul de verificare a apariiei variabilelor. Cu alte cuvinte, substituie prima variabil x cu primul termen a unei mulimi de neconcordan date MN. Acest lucru poate conduce evident la erori i este sarcina programatorului s creeze mecanismele de control i securitate corespunztoare pentru a evita apariia unor astfel de erori n program.

Pasul 0: Pasul 1:

Acum, avem elementele necesare pentru a descrie rezoluia n logica predicatelor. C) Rezoluia n LPr Metoda rezoluiei n LPr este, de fapt, o combinaie ntre unificarea LPr i rezoluia n LP. Astfel, la fel ca n LP (definiia 1.9.17), dac S este o mulime de clauze LPr, atunci o demonstraie prin rezoluie din S este o secven finit de clauze C1 .....C n astfel nct pentru fiecare Ci , (1 i n ) avem C i S sau C i R ({C j , C k })(1 j, k i ) unde R ({C j , C k }) este

rezolventul clauzelor C j i C k Trebuie remarcat c, deoarece variabilele clauzelor sunt toate legate prin cuantificatorul universal, putem redenumi variabilele pentru a evita confuziile la unificare. Aceast procedur de redenumire se numete normalizarea variabilelor. S considerm un exemplu. Exemplul 4.9.11: Fie urmtoarele clauze: C1 = {P ( x, y ), P ( y , z ), P ( x, z )} C 2 = {P (u, v ), P ( v, u )} Dorim s concluzionm: C 3 = {P ( x, y ), P ( z, y ), P ( x, z )} Notaiile corespunztoare clauzelor C1 , C2 i C 3 n contextul LPr sunt:
(x )(y )(z )[ P ( x, y ) P ( y , z ) P ( x , z )] (u )(v )[ P (u, v ) P ( v, u )] (x )(y )(z )[ P ( x, y ) P ( z , y ) P ( x , z )]

pentru C1 pentru C2 pentru C 3

Metoda I: Lucrm direct n contextul LPr: C1 , C2 i C 3 sunt echivalente cu: (x )(y )(z )[P ( x, y ) P ( y , z ) P ( x, z )] (u )(v )[P (u, v ) P ( v, u )] (x )(y )(z )[P ( x, y ) P ( z , y ) P ( x, z )] Redenumim variabilele din (2): (x )(z )[P ( x, z ) P ( z , x )]
i, conform teoremei 4.3.6, (4) devine: (x )(y )(z )[P ( x, z ) P ( z , x )] Conjuncia formulelor (1) i (5), conform teoremei 4.3.6, este: (x )(y )(z )[P ( x, z ) P ( z, x ) (P ( x, y ) P ( y , z ) P ( x, z )] i pe baza formulei ( A B ) ( A C ) ( B C ) care este derivabil n LPr (de ce?), (6) ia forma: (x )(y )(z )[ P ( z , x ) P ( x, y ) P ( y , z )] Redenumim variabilele din (2) (z )(x )[P ( z , x ) P ( x , z )] i, conform 4.3.6, (8) devine: (x )(y )(z )[P ( z , x ) P ( x , z )] Conjuncia formulelor (9) i (7) este, pe baza (*): (x )(y )(z )[P ( x, y ) P ( y , z ) P ( x, z )] Redenumim variabilele din (2)

(1) (2) (3) (4)

(5) (6)

(7) (8) (9) (10)

(z )(y )[P ( z, y ) P ( y , z )] Conform teoremei 4.3.6, (l 1) devine: (x )(y )(z )[P ( z , y ) P ( y , z )] Conjuncia lui (10) i (12), conform (*), este: (x )(y )(z )[P ( x, y ) P ( z , y ) P ( x, z )] care este formula (3) pe care o cutm.

(11) (12)

Metoda a II-a: Construim demonstraia lui C3 prin rezoluie. (1) C1 (2) C2 din (2), prin {u/x, v/z} (3) {P ( x, z ), P ( z , x )} din (1) i (3), prin rezoluie (4) {P ( x, y ), P ( y , z ), P ( z , x )} din (2), prin {u/z, v/x} (5) {P ( y , x ), P ( x, z )} din (4) i (5), prin rezoluie (6) {P ( x, y ), P ( y , z ), P ( x, z )} din (2), prin {u/z, v/y} (7) {P ( z , y ), P ( y , z )} (8) C 3 Metoda a II-a ofer o procedur mecanic de demonstrare, care este, n mod cla mai rapid i mai eficient. Metoda a III-a:
Demonstraia poate fi constrait i pe baza unui arbore inversat, cu rdcina C Clauzele selectate pentru rezoluie apar n aceleai linii cu variabilele lor normalizat Unificrile aplicate apar pe ramurile arborelui i atomii corespunztori care rezoh sunt subliniai. C1 = {P( x, y ), P( y, z ), P( x, z )} {P(u, v ), P(v, u )} = C 2 E {u/x,v/z}
{P ( x, y ), P ( y , z ), P ( z, x )}

{P(u, v ), P(v, u )} = C 2 {u/x,v/z}

C 2 {P(u, v ), P(v, u )} {u/x,v/z}

{P ( x, y ), P ( y , z ), P ( x, z )}

{P( x, y ), P( z, y ), P( x, z )} = C 3 Metoda de demonstrare bazat pe arbore, exemplificat pentru demonstrarea clauzei C3, este folosit i n limbajul PROLOG. 4.9.11 Dinamismul limbajului PROLOG i, mai general, eficiena programrii logice n domeniul programrii simbolice sunt evidente. Capitolul al treilea va face o prezentare analitic a limbajului PROLOG.

Observaia 4.9.12: Utilizarea rezoluiei este, de fapt, o aplicare i simplificare a metodei corespunztoare din LPr. Astfel, dac fraza din LPr are o demonstraie prin rezoluie din mulimea S n LPr, notat S a R , atunci este demonstrabil din S, conform definiiei 4.3.8. Formal: S aR S a Inversa acestei afirmaii este, de asemenea, valid pentru orice mulime de clauze S: 4.9.12 S a S aR S investigm acum o serie de rezultate de corectitudine i completitudine a metodelor prezentate.

4.10. Corectitudinea i completitudinea demonstraiilor LPr


n cele ce urmeaz vom discuta, la fel ca i n cazul LP, rezultate referitoare la completitudinea i corectitudinea demonstraiilor logicii predicatelor. Demonstraiile sunt asemntoare ce cele din LP i pot fi gsite n [ChLe73, Meta85, Smul68].

A)

Corectitudinea i completitudinea demonstraiilor cu tablouri

Reamintim notaiile a B pentru o fraz a ce este demonstrabil Beth i a pentru o fraz

ce este logic adevrat. Vom ncepe prin a enuna nite leme i teoreme auxiliare referitor la corectitudinea i completitudinea demonstraiilor Beth.
Lema 4.10.1: Fie R un simbol predicativ de aritate n a unui limbaj i fie o fraz din . S presupunem c exist o ramur necontradictorie K ntr-un tablou sistematic cu f n origine. Formm o interpretare A , al crei univers este orice mulime {a1 , a 2 ...} = A care stabilete o coresponden de unu la unu cu simbolurile de constante din . Interpretarea oricrui simbol de constant ci este elementul a i = ( ci ) .

Definim relaia ( R ) An : ( R )( a i1 , a i 2 ,...., a in ) aR( ci1 , ci 2 ,...., cin ) este un nod al ramurii K Atunci: (i) dac f este un nod al lui K, atunci este fals n A . 4.10.1 (ii) dac a este un nod al lui K, atunci este adevrat n A . Teorema 4.10.2: Completitudine: Dac este o consecin logic a unei mulimi de fraze S din LPr, atunci este, de asemenea, demonstrabil Beth din S: S |= S | B 4.10.2
Corolarul 4.10.3: Dac este logic adevrat, atunci este, de asemenea, demonstrabil Beth: |= | B 4.10.3 Definiia 4.10.4: Fie K o ramur a unui tablou i fie A a interpretare a lui . Se spune c A corespunde lui K dac:

(i) a este un nod al lui k A |= (ii) f este un nod a lui k A |= / = 4.10.4 Lema 4.10.5: Fie T un tablou sistematic complet cu f n origine, un limbaj i A restricia unei interpretri a lui la simbolurile de constante ce apar n , astfel nct A |= . Atunci, exist cel puin o ramur a lui T care corespunde cu o extensie a lui A. 4.10.5 Teorema 4.10.6: Corectitudine: Dac o fraz este demonstrabil Beth dintr-o mulime de fraze S din LPr, atunci este o consecin a lui S: S | B S |= 4.10.6 Corolarul 4.10.7: Dac fraza este demonstrabil Beth, atunci ea este logic adevrat: | B |= 4.10.7 Teorema 4.10.8: Completitudine: O mulime de fraze S este realizabil dac i numai dac orice submuhime a lui S este 4.10.8 realizabil. B) Corectitudinea i completitudinea demonstraiilor prin rezoluie Teorema 4.10.9: Corectitudine: Fie S o mulime de clauze i R*(S) mulimea rezolvenilor lui S. Dac R*(S) conine clauza vid, atunci S este nerealizabil: R*(S) => S este nerealizabil 4.10.9 ' ' Lema 4.10.10: Dac C1 i C 2 sunt instane de baz ale clauzelor C1 i C2 i dac C ' este ' rezolventul lui C1' i C 2 atunci exist un rezolvent C al clauzelor C1 i C2, astfel nct C ' este o instan de baz a lui C . 4.10.10 Teorema 4.10.11: Completitudine: Fie S o mulime de clauze i R*(S) mulimea rezolvenilor lui S. Dac S nu este realizabil, atunci R*(S) conine clauza vid: S este nerealizabil ==> R*(S) 4.10.11 Interpretarea intuitiv a acestei teoreme este: Pentru a demonstra nerealizabilitatea unei fraze cu ajutorul rezoluiei, trebuie s demonstrm clauza vid din mulimea de clauze corespunztoare frazei respective. Dac dorim s demonstrm c o clauz este o consecin a unei mulimi consistente de clauze S dat, ncercm demonstrarea clauzei vide din mulimea de clauze S S', unde S' este mulimea de clauze corespunztoare lui . Dac obinem clauza vid, atunci inconsistena este generat de presupunerea , deci este consecin a lui S. Exemplul 4.10.12: S considerm mulimea de clauze din exemplul 4.4.9. S se dea rspunsuri analitice, folosind metoda rezoluiei, la urmtoarele ntrebri: (a) "Ce poate fura Petre?" (b) "Poate Petre fura de la Mria?" Rspuns:

Reformulm clauzele Horn din exemplu i ntrebrile n Considerm astfel urmtoarea mulime de clauze Horn.

form mulime-teoretic.

C1 : {hot ( Petre)} C 2 : { place( Maria, mancare)} C 2 : { place( Maria, vin)} C 4 : { place( Petre, bani)} C 5 : { place( Petre, x ), place( x, vin )} C 6 : { poate _ fura ( x, y ), hot ( x ), place( x, y )}
ntrebrile iau urmtoarea form: C 7 : {poate _ fura( Petre, y )} C8 : {poate _ fura ( Petre, Maria )} Atunci: (a)

C7

C6 x/Petre

{hot ( Petre ), place ( Petre , y )}

C1

C5

{place ( Petre, y )} y/bani

Cu alte cuvinte, pornind de la negarea ntrebrii obinem clauza vid, deci C7 nu este o afirmaie adevrat, n plus, demonstraia de mai sus produce valoarea variabilei y, deci rspunsul la ntrebarea (a), y = bani, ceea ce nseamn c Petre poate fura bani. (b)

C8

C6 x/Petre y/Maria

{hot ( Petre ), place ( Petre , Maria )}

C1

C5 x/Maria

{place ( Petre, Maria )}

{place ( Maria , vin )}

C3

C8 conduce la demonstrarea clauzei vide, deci Petre poate fura de la Mria! 4.10.12

Observaia 4.10.13: Dac n timpul rezoluiei, algoritmul de unificare se termin fr a produce cel mai general unificator, cu alte cuvinte nu putem demonstra din enunuri, atunci se spune c scopul nostru eueaz, n caz contrar, se spune c scopul reuete (observaia 1.9.9). De exemplu, n exemplul 4.10.12, scopul "poate_fura(Petre, Mria)" reuete. 2. 1 0. 1 3

B) Completitudinea demonstraiilor axiomatice


Demonstraia urmtoarei teoreme de completitudine a metodei demonstraiilor axiomatice este n afara contextului acestei cri. Ea poate fi gsit, de exemplu, n [KIee52, Mend64, Rasi74, RaSi70]. Teorema 4.10.14: corectitudine i completitudine, Godel, 1930: O formul n LPr este derivabil dintr-o mulime de fraze S din LPr dac i numai dac este o consecin a lui S. Formal: S | |=
4.10.14

Corolarul 4.10.15: O formul n LPr este derivabil din axiomele LPr dac i numai dac este logic adevrat. Formal: | |=
4.10.15

4.11. Metode de decizie n logic


Multe probleme matematice se ncadreaz n aceeai schem general i pot fi astfel rezolvate pe baza unei proceduri generale aplicate unei probleme specifice. De exemplu, putem rspunde la ntrebarea: "este polinomul g(x) divizibil prin polinomul f(x)?" folosind algoritmul de mprire, mprind f(x) la g(x). Dac restul mpririi este polinomul nul, atunci rspunsul este "da", iar dac restul este diferit de polinomul nul, atunci rspunsul este "nu". Definiia 4.11.1: O metod care ne permite s rspundem cu "da" sau "nu" unei instane specifice a unei ntrebri generale se numete procedur de decizie. Problema gsirii unei astfel de metode pentru o ntrebare general se numete problema deciziei ntrebrii. 4.11. l

Multe probleme de decizie n matematic nu pot fi rezolvate n forma lor general sau au numai soluii specifice, ceea ce nseamn c sunt rezolvate numai n anumite condiii. Problema deciziei unui sistem logic L este o astfel de problem. O logic L este determinat de un limbaj, care const n simbolurile logice i cele speciale din limbaj, i din axiomele i regulile cu ajutorul crora putem demonstra i analiza fraze bine formate din logic. Definiia 4.11.2: Problema deciziei unui sistem logic L const n gsirea unei metode algoritmice cu ajutorul creia putem decide dac o fraz bine format a limbajului este derivabil n L sau nu, cu alte cuvinte dac este demonstrabil sau nu n L. . 4.11. 2 Problema deciziei logicii propoziiilor (LP) este rezolvat folosind tabelele de adevr: pentru o propoziie A din LP, construim tabela de adevr a lui A i verificm dac A este o tautologie. Dac A este tautologie atunci, conform corolarului 1.12.2, A este derivabil n LP, iar dac A nu este o tautologie, A nu este derivabil n LP. n consecin, se poate enuna urmtoarea teorem. Teorema 4.11.3: Problema deciziei n LP este rezolvabil. 4.11. 3

Situaia este ns mai complicat pentru cazul logicii predicatelor (LPr). Conform corolarului 4.10.15, tim c o formul a unui limbaj a LPr este derivabil dac i numai dac este logic adevrat, adic dac este adevrat n toate interpretrile lui . Dar interpretrile unui limbaj nu sunt numrabile i, deci, nu pot fi toate verificate. Urmtoarea teorem este cunoscut din 1936 [Chur36, Turi37]. Teorema 4.11.4: Problema deciziei n LPr nu este rezolvabil. Cu alte cuvinte, nu exist o metod algoritmic care s ne permit s decidem dac o formul din LPr este derivabil n LPr sau nu. 4.11.4 Dei problema deciziei LPr nu poate fi rezolvat n general, exist soluii specifice [Klee52, Chur56]. Teorema 4.11.5: Problema deciziei LPr poate fi rezolvat pentru formule inform normal Prenex, n care nu exist cuantifcatori existeniali ce preced un cuantificator universal. Deci exist o procedur algoritmic care ne permite s decidem dac o formul de forma: (y1 )....(y )(x1 )....(x k )

numai numai Teorema 4.11.6: Problema deciziei LPr poate fi rezolvat pentru toate formulele ce conin exclusiv predicate de ordin mai mic sau egal cu l, adic predicate care au cel mult o variabil. 4.11.6
n [Chur56] exist o tabel analitic care prezint toate soluiile specifice cunoscute ale problemei deciziei LPr. n paralel cu eforturile de a gsi soluii specifice problemei deciziei LPr, s-au desfurat cercetri referitor la problema deciziei realizabilitii unei formule a LPr, adic gsirea unei

metode algoritmice care s ne permit s determinm dac o formul din LPr este realizabil sau nu. Teoremele 4.6.6. (Loewenheim Skolem), 4.7.7 i 4.10.6 precizeaz soluiile specifice ale problemei deciziei realizabilitii unei fraze din LPr.

Capitolul 5
Algoritmi Markov
Algoritmii Markov reprezint o a treia noiune matematic care reflect noiunea intuitiv de algoritm. Scopul acestui capitol este de a reprezenta concepte i proprieti fundamentale ale algoritmurilor Markov, clarificate printr-o serie de exemple. Un rezultat important al lui Detlovs identific funciile recursive cu funciile ce se pot calcula cu algoritmii Markov (funciile algoritmice), ceea ce arat c cele trei tehnici prezentate n acest manual funcii recursive, algoritmi Markov i maini Turing -sunt echivalente. 1. Definiia algoritmilor Markov Fie o mulime finit, pe care o vom numi alfabet. Un ir finit de elemente ale lui se va numi cuvnt. Dac A, B sunt dou cuvinte: A = 1 2 ... n B = 1 2 ... m atunci vom nota cu AB cuvntul: AB = 1 2 ... n 1 2 ... m . Fie () mulimea cuvintelor construite cu elemente din la care adugm cuvntul vid . Prin operaia: (A, B) () () AB()

mulimea () este nzestrat cu o structur algebric de monoid. Observaie. Reamintim c un monoid este o mulime nzestrat cu o operaie binar asociativ care are un element neutru. Elementul neutru al lui () este , dac adoptm convenia: A = A = A pentru orice cuvnt A. () se numete monoidul liber generat de . Dac A, B sunt dou cuvinte, vom spune c A este inclus n B dac exist cuvintele P, Q astfel nct B = PAQ. Vom scrie aceasta prin A B. Este evident c descompunerea lui B sub forma PAQ nu este unic. Atunci cnd B = PAQ i lungimea cuvntului P este minim avem prima incluziune a lui A n B. Definim funcia : () () () () n modul urmtor: dac A B, punem (A, B, C) = B dac A B i prima incluziune a lui A n B este B = PAQ, vom pune:

(A, B, C) = PCQ Definiia 1. Fie un alfabet astfel nct . Un algoritm Markov pe este o funcie definit pe o parte A a lui () cu valori n () {0, 1} : A () {0, 1} Observaie. Dup cum se va vedea n cele ce urmeaz este necesar s introducem anumite simboluri n plus fata de cele ale lui , de aceea consideram un alfabet mai mare . Un algoritm este perfect determinat de un tablou de forma: A1 A2 . . . An B1 B2 . . . Bn 1 2 . . . n

unde Ai(), Bi() i i{0, 1} pentru orice i = 1,, n. ntr-adevr, dat fiind un algoritm Markov domeniul su va fi exact mulimea: A = { A1, A2,,An } iar un ir Ai Bi i este definit de: i = 1,, n. (Ai) = (Bi, i), Dac se d un tablou ca mai sus, algoritmul Markov asociat este definit n mod natural. Vom prefera s reprezentm irurile Ai Bi i prin sgei: Ai Bi 0 prin Ai Bi Ai Bi 1 prin Ai Bi Convenie. Vom scrie: Bi Ai n loc de n loc de Bi Ai

Definiia 2. Un pas algoritmic cu algoritmul Markov este o pereche de cuvinte (A, B) cu urmtoarele proprieti: (i) Exist i n astfel nct Ai A. ( A , A, B ), unde i1 este primul indice pentru care A A . (ii) B = i1 i1 i1

Un pas algoritmic (A, B) este final dac A B n cazul cnd i1 i1 i1 este primul indice pentru care A A . i1 Definiia 3.

Definiia 4.

Un calcul cu algoritmul Markov este un ir finit de cuvinte:

( P0, P1,...., Pm ) cu proprietile urmtoare: a). P0 = P b). (Pj, Pj +1) este un pas algoritmic care nu este final pentru j = 0, 1,..., m-2. c). (Pm-1, Pm) este un pas algoritmic final sau Ai Pm-1 pentru orice i = 1,..., n. Vom nota n acest caz (P) =Pm. Observaie. Deci opereaz asupra unui cuvnt P n felul urmtor: Se caut cel mai mic indice i astfel nct Ai P. Dac un astfel de indice nu exist vom pune (P) = P. n cazul cnd i1 este un asemenea indice se nlocuiete cuvntul A , n prima i1 sa incluziune n P, prin cuvntul B . i1

( Ai , P, Bi ) , etc.
1 1

( A , P, B ) Cnd avem A B operaiunea este ncheiat i (P) = i1 i1 i1 i1 Dac avem A B , se reia operaiunea de la capt asupra cuvntului i1 i1

Aplicarea unui algoritm Markov asupra unui cuvnt P conduce la un lan de cuvinte: P P1 P2 ... Pm ...... n care Pj Pj+1 corespunde situaiei Pj

(A

i j +1

, Pi , Bi j +1 ) = Pj +1

unde ij+1 este cel mai mic indice astfel nct A Pi . i j +1 Observaie. Pot exista situaii cnd un asemenea lan este infinit; spunem n acest caz c (P) nu este definit. Un lan ca mai sus va fi finit dac ntlnim una din urmtoarele dou situaii: - se ajunge la o substituie de forma Ai Bi ; - nu exist nici un indice in+1 astfel nct Ain +1 Pm . Exemplul 1. Fie alfabetul = {1, 2,, p}

Vom lua = {}. Tabloul substituiilor este urmtorul: i i i C Ai iA A B unde A, B, C sunt trei cuvinte finite( din () ). Observaie: 1 1 2 2 n n Vom cerceta cum acioneaz acest algoritm Markov asupra unui cuvnt P(). Distingem urmtoarele cazuri: (I). P = A. Cum P() i rezult c i, i, nu sunt incluse n P. Este evident c Ai, iA nu sunt incluse n P. A este primul cuvnt din lista de mai sus ce este inclus n P, deci: ( A, P, B) = ( A, A, B) = B Cum A B aplicarea algoritmului se termin i vom avea: (A) = B. (II). P A, A P i P este de forma: P = i1 i2 ... i p A i0 i p +1 ... i p + j i i reprezint un ir de substituii:

unde A apare n prima sa incluziune n P. i, i, nu sunt incluse n P. A i 0 este primul cuvnt din lista tabloului substituiilor ce apare n P deci: P1 = ( A i0 , P, ) = i1 ... i p i p +1 ... i p + j Vom avea n continuare: P2 = ( i p , P1 , i p ) = i1 i2 ... i p 1 i p ... i p + j i continund n acest fel: Pp +1 = i1 i2 ... i p + j

i1 este primul cuvnt din list inclus n P:


Pp + 2 =

i1

, Pp +1 , ) = i2 i3 ... i p + j

Pp +3 =

Pp + j +1 = n sfrit vom avea: Pp + j + 2 = ( , Pp + j +1 , C ) = C. Cu aceasta am terminat aplicarea algoritmului, deoarece C. Obinem deci (P) = C. (III). P A, A P i P este de forma: P = i1 ... i p A Vom avea P1 = ( i p A, P, ) = i1 ,..., i p 1 conform substituiei iA . Aplicm mai departe substituiile i i deci P2 = ( i p 1 , P1 , i p 1 ) = i1 ... i p 2 i p 2 Pp = ( i1 , Pp 1 , i1 ) = i1 ... i p 1 Mai departe, prin substituiile Pp +1 = Pp + 2
i1 p

i2

, Pp +1 , ) = i3 ... i p + j

P = (
3

i p 2

, P2 , i p 2 ) = i1 ... i p 2 i p 1

i :
i2 i p 1

. P2 p 1 = ( ip 1 , P2 p 2 , P ) = .

( , P , ) = ... = ( , P , ) = ...
i2 p +1 i3

. .

i p 1

Aplicnd mai departe substituia C obinem: P2 p = C i deci (P) = C. (IV). A P, P = i1 ... i p . n acest caz singura substituie posibil este , deci : P1 = ( , P, ) = I1 ... i p P2 = ............................................... Pp +1 = ( i p , Pp , ) = Pp + 2

i1

, P1 , ) = i2 ... i p

= ( , P

p +1

,C ) = C

Rezult (P) = C. n concluzie, vom avea:

B, dac P = A (P) = C , dac P A. Pentru a reprezenta aciunea unui algoritm Markov asupra unui cuvnt vom numerota substituiile tabloului. (1). A1 B1 (2). A2 B2 . (n). An Bn i vom scrie lanul P P1 P2 ... Pm ...... sub forma urmtoare:

P P1 ( j1 ) ( j2 ) P2 . Pm ( jm ) . indicnd n parantez numrul substituiei. Dac aplicm de p ori aceiai substituie ( j ): Pi Pi+1 ( ji+1 = j ) ( ji+2 = j ) Pi+1 Pi+2 ...................................... Pi+ p-1 Pi+ p ( ji+ p = j ) vom nota aceasta prescurtat: Pi Pi+ p (j) Dac folosim de p ori dou substituii j1, j2, vom nota aceasta: ( j1, j2 ). Pi Pi+ p Vom ilustra toate acestea pe urmtorul exemplu: Exemplul 2. Fie alfabetul: = {1, 2,, n} = {, , } i algoritmul Markov dat de: i j j i i i i (I) ( II ) ( III ) ( IV ) (V) ( VI )

Fie P() cuvntul urmtor: P = i1 i2 ... i p . Aplicnd algoritmul respectiv asupra lui P vom avea:

P i1 i2 ... i p i1 i1 i2 ... i p i1 i1 i2 i2 i3 ... i p i1 i2 i1 i2 3 ... i p i1 i2 i1 i2 i3 3 i4 ... i p i1 i2 3 i1 i2 3 i4 ... i p i1 i2 3 ... i p i1 i2 ... i p i1 i2 i3 ... i p i1 ... i p i1 i2 i3 ... i p i1 ... i p i1 i2 i3 ... i p i1 ... i p i1 i2 ... i p i1 .... i p i1 i2 ... i p i1 ... i p

(VI ) ( II ) ( II ) (I ) ( II ) (I ) ( II , I ) ( III ) ( III ) ( IV ) ( IV ) (V )

n cele de mai sus am subliniat prima apariie a unui cuvnt din lista din stnga a tabloului substituiilor. Deducem din calculul de mai sus c: (P) = PP, pentru orice P(). Exemplul 3. Fie = {1, 2,, n} i = { | , }. Considerm tabloul de substituii: i | (I) || | ( II ) | ( III ) ( IV ) Fie P = i1 i2 ... i p un cuvnt oarecare al lui (). Dac P 0, atunci numai substituia (IV) este posibil: deci () = . Pentru P : P I i2 ... i p
I I i3 ... i p I I...I {
p ori

(I ) (I ) (I ) ( II ) ( II ) ( III )

I I...I { I

(p 1) ori

deci (P) = pentru P .

Exemplul 4. Algoritmul care are tabloul realizeaz aplicaia identic a monoidului (). Observaie. Doi algoritmi Markov pot fi egali ca funcii, ns tablourile lor de substituie s difere. Vom spune c algoritmii Markov 1, 2 sunt egali (1 = 2) dac au aceleai echivaleni (1 2). tablouri de substituii; dac 1(P) = 2(P) pentru orice cuvnt P, spunem c 1, 2 sunt Se vede imediat c 1 = 2 1 2 .

2. Proprieti ale algoritmilor Markov n 1 am vzut c un calcul P P1 P2 ... Pm se poate termina n dou moduri: a) avem o substituie cu punct Ain Bin b) nu exist nici un indice in +1 cu proprietatea c Ain +1 Pn . Urmtoarea propoziie va reduce problema la cazul a). Propoziia 1. Pentru orice algoritm Markov exist un algoritm Markov echivalent cu cu proprietatea c atunci cnd (P) este definit lanul: Demonstraie. Considerm tabloul substituiilor lui : (1) A1 B1 (2) A2 B2 .......... An Bn (n) n partea dreapt putem avea eventual puncte. Algoritmul se obine prin adugarea substituiei . (1) A1 B1 (2) A2 B2 .......... An Bn (n) ( n+1 ) Dac P este un cuvnt pentru care (P) este definit, lanul: P P1 P2 ... Pm = (P) este finit i avem unul din cele dou cazuri menionate mai sus. a) Ultimul pas al lanului Pm-1 Pm este dat de o substituie cu punct (din tabloul lui ). Ak Bk P P1 P2 ... Pn = (P) se termin printr-o substituie cu punct.

Cum substituia respectiv face parte i din tabloul lui rezult (P) = Pm =(P). b) Nu exist nici un indice i astfel nct Ai Pm. irul P P1 P2 ... Pm poate fi obinut i prin aplicarea lui , dup care intr n aciune substituia (n+1) care d Pm Pm i calculul cu algoritmul s-a terminat. Observm c (P) = (P) = Pm. Deci . Demonstraia s-a terminat.

Fie acum dou alfabete: = {1,...,n} ={1,...,m} Propoziia 2. Pentru orice funcie f : exist o unic funcie f : ()() astfel nct urmtoarele proprieti sunt verificate. (1). Urmtoarea diagram este comutativ: f () () f unde cu am notat scufundrile canonice. (2) f este un morfism de monoizi, adic:
f () = . f ( PP ' ) = f ( P ) f ( P ' )

pentru orice cuvinte P, P(). Demonstraie. Existen: Pentru orice cuvnt nota:

P = i1 i2 ... i p al lui () vom

f ( P) = f ( i1 ) f ( i2 )... f ( i p )

(1)

Dac P = , notm f ( P ) = , cu aceasta, proprietile cerute sunt imediate. Unicitate: Presupunem c ar mai exista o funcie g : () () cu proprietile (1) i (2). Conform lui (1), pentru orice , avem g() = f(). innd seama de acest lucru i de (2), vom avea, pentru orice cuvnt P = i1 i2 ... i p : g(P) = g( i1 i2 ... i p ) = g ( i1 ) g ( i2 )...g ( i p ) = f ( i1 ) f ( i2 )... f ( i p ) = f ( P ) Deci: g = f . Propoziia 3. Fiind dat o funcie f : i exist un algoritm Markov pe {} astfel nct pentru orice P() s avem (P) = f ( P ) , unde f este prelungirea lui f dat de propoziia precedent. Demonstraie. Vom nota i = f ( i ), i = 1,..., n . Dac P = i1 i2 ... i p atunci f ( P ) = f ( i1 ) f ( i2 )... f ( i p ) = i1 i2 ... i p Deci un calcul al lui trebuie s transforme cuvntul i1 , i2 ,..., i p n cuvntul

i i ... i . Aceasta se obine prin nlocuirea succesiv a lui i cu i .


1 2 p
h k

Fie algoritmul Markov dat de urmtorul tablou de substituii: i i (I) ( II ) ( III )

Vom arta c (P) = f ( P ) pentru orice P(). Lund P = i1 ... i p avem: P i1 i2 ... i p i1 i2 ... i p i1 i2 ... i p i1 i2 ... i p i1 i2 ... i p i1 i2 ... i p Propoziia 4. Fie = i1 ,..., in ( III ) (I ) (I ) (I ) (I )

} un alfabet

i un algoritm Markov pe .

Atunci exist un alfabet i un algoritm pe astfel nct pentru orice cuvnt P = i1 i2 ... i p din () s avem: (P) = i p i p 1 ... i2 i1 . Observaie: Algoritmul scrie cuvintele lui () n ordine invers. Demonstraie: Considerm = {, } i fie algoritmul Markov dat de urmtorul tablou de substituie: (I) ij ji ( II ) ( III ) ( IV ) i j (V) ( VI ) Avem urmtorul calcul: (VI ) i1 i2 ... i p i1 i2 ... i p i2 i1 i3 ... i p i2 i3 i4 ... i p i2 i3 ... i p i1 i2 i3 ... i p i1 i p i p 1 ... i2 i1 i p i p 1 ... i2 i1 i p i p 1 ... i2 i1 i p i p 1 ... i2 i1 i p i p 1 ... i2 i1 i p i p 1 ... i2 i1 A rezultat deci (P) = i p i p 1 ... i2 i1 . ( II ) ( II ) ( II ) (VI ) ( II ,VI ) (I ) (VI ) ( III ) ( III , IV ) (V )

i p i p 1 ... i2 i1 (VI )

Observaie: () = . n cele ce urmeaz vom considera = {0, 1} i = {0, 1, 2}. Definiie. O funcie f : Nm N se numete algoritmic dac exist un algoritm Markov pe astfel nct pentru orice x1,...,xmN s existe un calcul al lui : P0 P1 P2 ... Pn astfel nct s fie satisfcute proprietile urmtoare: (1) P0 = 0 1x1 +1 0 1x2 +1 0...0 1xm +1 0 2 (2) P1 ,..., Pn 1 nu conine pe 2. (3) 0 1k +1 0 2 este inclus n Pn , unde k = f(x1,...,xn).

Se spune c algoritmul Markov calculeaz funcia f. Observaie. Dac f : Nm N este o funcie algoritmic, atunci f este efectiv calculabil. ntr-adevr, pentru orice (x1,...,xm) Nm exist un algoritm Markov cu ajutorul cruia putem obine pe f(x1,...,xn) ntr-un numr finit de pai. Teza lui Markov. Orice funcie efectiv calculabil este algoritmic. Bineneles c teza lui Markov eate o aseriune nematematic care stabilete echivalena ntre conceptul intuitiv de funcie efectiv calculabil cu acela matematic de funcie algoritmic. Ea este similar cu teza lui Church pentru funciile recursive i cu teza lui Turing pentru funcii calculabile Turing. Urmtorul rezultat, dat de V. Detlovs, arat echivalena ntre funciile recursive i funciile algoritmice: Teorem. Fie f : Nk N o funcie oarecare. Sunt echivalente afirmaiile: (1) f este algoritmic (2) f este recursiv. Nu dm demonstraia acestei teoreme, fiind foarte tehnic. n concluzie, cele trei concepte propuse pentru a defini matematic funciile efectiv calculabile - funciile recursive, funciile calculabile Turing, funciile algoritmice sunt echivalente. Apreciem c acesta este unul din cele mai importante rezultate obinute n logica matematic pn acum. Toate cele trei direcii au fost introduse i studiate independent, iar faptul c s-au dovedit a fi echivalente matematic atest - dac mai era nevoie - puterea matematicii de a oglindi fidel fragmente ale realitii.

Capitolul 6 Maini Turing


Mainile Turing reprezint o alt teorie matematic care formalizeaz noiunea de algoritm. Principiul filosofic care fundamenteaz aceast teorie este teza lui Turing prin care se identific funciile efectiv calculabile (concept intuitiv) cu funciile calculabile Turing (concept matematic). Mainile Turing, definite de Turing n 1936, s-au dovedit a fi echivalente cu funciile recursive. n timp ce tehnica funciilor recursive este mai simpl, mainile Turing reprezint varianta matematic a noiunii de algoritm cea mai apropiat de calculatoarele electronice. Acest capitol va studia mainile Turing i funciile calculabile Turing. Se dau numeroase exemple de calcule efectuate cu ajutorul mainilor Turing. Paragraful 2 conine o serie de construcii cu ajutorul unor maini Turing mai simple. In 3 prezentm exemple de funcii necalculabile Turing, n timp ce ultimul paragraf este consacrat unor proprieti ale mulimilor enumerabile Turing.

1. Maini Turing. Funcii calculabile Turing


Vom ncepe cu o descriere intuitiv a mainii Turing, ceea ce va sugera i definiia matematic. Considerm o band semiinfinit B i un dispozitiv automat CS(citete/scrie) care are un numr finit de stri. Banda B este mprit n celule, iar automatul CS se mic fa de banda B cu cte un pas (corespunztor unei celule) nainte i napoi. Vom interzice deplasarea lui CS spre stnga, atunci cnd se afl n dreptul primei celule. Dispozitivul CS se va numi cap de citire-scriere. Vom arta acum modul de funcionare al mainii Turing. Pe band se pot nregistra diferite caractere (pentru noi va fi suficient 0 i 1), care pot fi i terse. Capul de citire-scriere CS citete ce este scris pe celula din dreptul su, dup care poate terge i scrie alte caractere sau poate s lase ceea ce a fost. n cazul nostru sunt posibile patru situaii: - a fost 0 i a rmas 0; - a fost 0 i a aprut 1; - a fost l i a aprut 0; - a fost l i a rmas 1. A doua etap este mutarea capului de citire - scriere CS la stnga, la dreapta sau rmnerea lui pe loc. A treia etap este trecerea mainii n alt stare sau rmnerea n aceeai stare. Aceste trei etape formeaz un pas de calcul. 1 0 1 0 0 1 0 0 .....

CS Reamintim c N+ = (l, 2, 3,...}; dac poziiile celulelor vor fi numerotate cu l,2,3,..., atunci ceea ce este scris pe band poate fi asimilat cu un ir de caractere a1, a2, a3..., n care ak reprezint ceea ce este scris n celula numerotat cu k. In cazul nostru ak, este 0 sau 1. Aceasta sugereaz urmtoarea definiie:

Definiia 1. O band este un ir a1, a2, a3...... n care fiecare ak, este 0 sau 1. O poziie a benzii este format dintr-o pereche (j, k) cu j, kN+ i dintr-o band (j, k): a1 a2 a3,.......,aj j reprezint poziia capului de citire-scriere, iar k este starea pentru aceast poziie a benzii. Exemplu: Considerm poziia t a benzii: (3, 2): l l l l 0 l 0 ..........

Semnul de citire-scriere se afl n dreptul celulei a treia, iar starea este 2. Definiia 2. O main Turing este un triplet ordonat de funcii (d, p, s) care au acelai domeniu de definiie D, unde D este o mulime finit de perechi de forma (i, k) cu i{0,1} i kN+ iar cele trei funcii sunt precizate astfel: d : D {0, l} p : D {-1, 0, 1} s : D N+ Dac M = (d, p, s), atunci domeniul DomM al mainii Turing M este D. Observaie. Cele trei funcii d, p, s ce intr n componena unei maini Turing M corespund celor trei etape ale unui pas de calcul ce le-am pus n eviden n descrierea intuitiv a unei maini Turing. Funcia d ne d operaia de citire-scriere". Dac (i, k)D, i d(i, k) = {0,1}, atunci aceast relaie se traduce astfel n cuvinte: presupunnd c, capul de citire-scriere se afl pe poziia i i ne aflm n starea k, atunci: - n locul lui ak apare 0, dac = 0 - n locul lui ak apare l, dac = 1. Funcia p descrie modul cum se mut capul de citire-scriere. Dac p(i, k) = atunci: - CS se mut la celula din stnga, dac = - 1. - CS rmne pe loc, dac = 0. - CS se mut la celula din dreapta, dac = 1. Funcia s ne va da starea n care trece CS: dac s(i, k)= lN+ atunci CS va trece n starea l. Observatie. Exist numeroase alte definiii ale mainilor Turing (nu neaprat echivalente), dar care rspund aceleai probleme: aceea de-a da un concept matematic pentru funciile efectiv calculabile. Exemple. Considerm maina Turing M = (d, p, s) definit astfel: D = { (1, 2) } d(1, 2) = 0 p(1, 2) = -1 s(1, 2) = 4 Dac avem o poziie a benzii t: (3, 2): 1 1 l 1 0 l 0 ....... Atunci dac aplicm o dat maina vom obine o nou poziie a benzii: (2, 4): l l 0 l 0 ...

Prin aplicarea lui d pe poziia 3 a aprut 0 n loc de l; aciunea lui p a fost mutarea capului de citire-scriere cu o celul la stnga. n fine, noua stare este 4. Definiia 3. Fie t o poziie a benzii dat de: (j, k): a1, a2, a3........,aj Poziia urmtoare a benzii M(t) este definit de: (j+ p(aj, k), s(aj, k)): a1, a2,....... aj-1 cu condiia ca (aj, k)DomM i j + p(a j ,k) > 0. d(aj, k) aj+1 aj+2.

Un calcul parial al lui M este un ir t1, t2,....,tm de poziii ale benzii, astfel nct ti+1 = M(ti) pentru orice i = l, 2,...,m-l. Un calcul al lui M este un calcul parial t1,...,tm pentru care M(tm) nu este definit. Dac t1, t2,....,tm este un calcul, atunci t1 este intrarea i tm este ieirea. Cnd t1, t2,....,tr este un calcul parial, atunci vom scrie M(t1) pentru tr. Vom gsi un mod convenabil de a reprezenta o main Turing. Spre exemplu, tabelul urmtor: M: 1 2 0 1L2 102 1 0R1

reprezint maina Turing M = (d, p, s) definit astfel: Dom M = { (0, l), (1, 1), (0, 2) } d(0, l) = l, p(0, l) = - l, s(0, l) = 2, d(1, 1) = 0, p(1, 1) = l s(1, 1) = l, d(0, 2) = l, p(0, 2) = 0, s(0, 2) = 2. Observaie. Vom folosi notaii R, 0, L n loc de l, 0, -l pentru a indica modul cum se mut capul de citire-scriere(R este prescurtarea de la right", iar L de la left"). n general, o main Turing va fi scris sub forma unui tablou pe dou coloane: 0 j1 j2 M: ji jm n stnga sunt trecute strile j1, j2,...,jm. O serie de locuri ale tabloului sunt completate, altele nu. Dac, de exemplu, pe linia i, coloana nti apare , aceasta semnific urmtoarele: (0, ji)DomM, d(0, ji) = , p(0, ji) = , s(0, ji) = . Presupunnd c pe linia i, coloana a doua nu este scris nimic, perechea (l, ji) nu aparine lui DomM. Relum exemplul de mai sus. Considerm urmtoarea poziie t a benzii: (2, 1): 0 1 0 0 0 0............ . . 1

Atunci M(t) va fi:

(3, 1): 0

0........

conform modului cum funcioneaz maina M. Este clar c urmtorul ir de poziii ale benzii este un calcul al lui M: (2, 1): 0 1 0 0 0 0............ (3, 1): 0 (2, 2): 0 (2, 2): 0 0 0 0 0 0 1 0 1 1 0 0 0 0........ 0........ 0........

Prima poziie a benzii este intrarea, iar ultima poziie a benzii este ieirea. Pentru a avea o scriere prescurtat a unei benzi vom nota: 0 0 ... 0 cu 0n ; 1 1... 1 cu 1n 1 2 3 1 2 3
n ori n ori

De exemplu, banda: 0 1 1 1 0 0 1 1 1 1 0 ...... se va scrie: 0 13 02 14 suprimnd ultimii 0 care apar. Observaie: Vom conveni ca s apar ntotdeauna un numr finit de l pe o band. Vom scrie 0m(n1,..., nk) n loc de 0m 0 l n1 0 l n2 0...0 l nk , unde mN. Dac m = 0 vom scrie aceasta cu (n1,...,nk) i dac k = l vom scrie n1 n loc de (n1). Banda (n1,...,nk) va fi scris uneori n . Exemplu: banda 0 l3 0 l4 se prescurteaz (3,4) Definiia 4. Fie M o main Turing i g : (N+)k N o funcie cu proprietatea c pentru orice (n1,...,nk)(N+)k exist un calcul (n raport cu M) care are intrarea: 0 ... (2, l): 0 1 ....1 0 1 ....1 0 ... 0 1 ....1 0 { { {
n1 ori n2 ori nk ori

i ieirea de foma: ...... 0 (k, l ): 0 1 2 3


( k 1) ori

1 ....... 1 1 2 3
t ori

0 .......

unde t = g(n1,...,nk). Spunem n acest caz c funcia g este calculabil Turing i c M calculeaz pe g. Observaie. Conform scrierii prescurtate adoptate, intrarea de mai sus are forma (2, 1): (n 1 ,......n k ), iar ieirea are forma 0 k 1 1 g ( n1 ,.....,nb ) . Este vizibil deci cum (n1,...,nk)(N+)k apare scris pe band la intrare i cum valoarea g(n1,...,nk) a funciei n acest punct apare pe band la ieire n urma efecturii calculului cu maina Turing. Vom arta acum c funcia f(n) = 2, pentru orice nN+, este calculabil Turing cu maina Turing. 1 2 0 1L2 102 1 0R1

ntr-adevr, avem urmtorul calcul cu M: (2, 1): 0 1n 0 0 .... (3, 1): 0 0 1n-1 0 0... n-2 (4, 2): 0 0 1 0 0... (n+1, 2): 0n 1 1 0 0 0 Ca s nelegem mai bine acest exemplu, vom da n ntregime calculul pentru n =3 (2, 1): 0 1 1 1 0 0 0.... (3, 1): 0 (4, 1): 0 (5, 1): 0 (4, 2): 0 (4, 2): 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0.... 0.... 0.... 0.... 0....

Exerciiu: S se gseasc maina Turing cu ajutorul creia putem calcula funcia constant f (n) = 4. Propoziia 1. Urmtoarele funcii sunt calculabile Turing: (i) funcia sum: Sum (m, n) = m + n. (ii) proiectiile pr in (m1,......mn) = mi. (iii) (iv) funcia constant: Ct d k (n1,..nk) = d. funcia predecesor :

m 1 dac m 2 Pred (m) = dac m = 1 1 Observaie: Toate funciile de mai sus le considerm definite numai pentru argumente din N+ . Demonstraie: (i). Considerm, maina Turing: 0 1 1 0R2 2 3 1L3 0R4 1R2 1L3

Urmtorul ir este un calcul al lui m + n cu ajutorul acestei maini Turing: (2, 1): 0 1m 0 1n m-1 (3, 2): 0 0 1 0 1n ............................................................................ (m+2, 2): 0 0 1m-1 0 1n (m+1, 3): 0 0 1m-1 1 1n ............................................................................ (2, 3): 0 0 1m+n (3, 4): 0 0 1m+n

Este instructiv s dm acest calcul pentru m = 2, n = 3. (2, 1): 0 (3, 2): 0 (4, 2): 0 (3, 3): 0 (2, 3): 0 (3, 4): 0 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0.... 0.... 0.... 0.... 0.... 0....

(ii). Vom demonstra numai n cazul n = 4, i = 3. Considerm maina Turing: 1 2 3 4 5 6 0 0R2 0R3 0R4 0L5 0L5 0R7 1 0R1 0R2 1R3 0R4 1L6 1L6

Vom scrie calculul pentru (2, 1, 3, 1): (2, 1): 0 1 1 0 1 0 1 1 1 0 1 0 0 0... (3, 1): 0 0 1 0 1 0 1 1 1 0 1 0 0 0... (4, 1): 0 0 0 0 1 0 1 1 1 0 1 0 0 0... (5, 2): 0 0 0 0 (6, 2): 0 0 0 0 (7, 3): 0 0 0 0 (8, 3): 0 0 0 0 (9, 3): 0 0 0 0 (10, 3): 0 0 0 0 (11, 4): 0 0 0 0 (12, 4): 0 0 0 0 1 0 1 1 1 0 1 0 0 0... 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0... 0 0 0 0 0 0 1 1 1 0 1 0 0 0... 1 1 1 1 1 1 1 0 1 0 0 0... 1 1 1 1 1 0 1 0 0 0... 1 0 1 0 0 0... 1 0 1 0 1 0 0 0... 0 0 0 0...

(11, 5): 0 0 0 0 (10, 5): 0 0 0 0 (9, 5): 0 0 0 0 (8, 6): 0 0 0 0 (7, 6): 0 0 0 0 (6, 6): 0 0 0 0 (7, 7): 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

1 1 1 1 1 1 1

1 1 1 1 1 1 1

1 0 1 0 1 0 1 0 1 0 1 0 1 0

0 0 0 0 0 0 0

0 0 0... 0 0 0... 0 0 0... 0 0 0... 0 0 0... 0 0 0... 0 0 0...

(iii). Pentru d = 2 , vom lua urmtoarea main Turing: 0 1 1 0R2 0R1 2 1L3 0R1 3 103 Vom scrie calculul valorii lui Ct 32 n punctul (2, 1, 1): (2, 1): 0 1 1 0 1 0 1 (3, 1): 0 (4, 1): 0 (5, 2): 0 (6, 1): 0 (7, 2): 0 (8, 1): 0 (9, 2): 0 (8, 3): 0 (8, 3): 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0

0 0 0 0 0 0 0 0 0 1

0........ 0........ 0........ 0........ 0........ 0........ 0........ 0........ 1....... 1........

iv). Se poate verifica uor c Pred. se calculeaz cu urmtoarea main Turing: 0 1 1 0R2 2 103

Cu aceasta, demonstraia este ncheiat.

Observaie. Dou maini Turing diferite pot calcula aceiai funcie. Se poate verifica uor c urmtoarea main Turing: 0 1 1 102 poate calcula funcia identic f(x) = x pentru orice xN+. Aceeai funcie poate fi calculat cu maina Turing folosit pentru calculul sumei a dou numere: (2, 1): 0 1n 0 0........................... (3, 2): 0 0 1n-1 0 0............... ............................................................................ (n+2, 2): 0 0 1n-1 0 0... n-1 (n+1, 3): 0 0 1 1 0... ............................................................................ (2, 3): 0 0 1n 0 0............... (3, 4): 0 0 1n 0 0............... Observaie. O main Turing nu poate s calculeze o funcie f(x1,.......,xn) pentru unul din urmtoarele motive: (a) Exist o intrare t astfel nct M r (t ) exist pentru orice rN+, deci calculul parial nu se termin niciodat. Maina urmtoare ne ofer un asemenea exemplu: 0 1 1 0 1 R1 R1 (b) Exist un calcul cu intrarea t, dar ieirea nu verific condiiile Definiiei 4, cum rezult din exemplul urmtor: 0 1 1 1 L1 Definiia 5. Fie X(N+)k. Vom nota cu RX : (N+)k {1, 2} funcia definit astfel: 1, dac (n1 ,..., nk ) X R X (n1 ,....., nk ) = 2, dac (n1 ,..., nk ) X . Vom spune c relaia X este calculabil Turing dac RX este calculabil Turing. Observaie: Nu am putut folosi funcia caracteristic pentru c am eliminat pe 0 ca argument i ca valoare a funciilor calculabile Turing. Exemplul 1. Fie X = mulimea numerelor impare. Atunci: 1, dac n este impar R X ( n) = 2, dac n este par Considerm maina Turing urmtoare: 1 2 0 1L2 103 1 0R2 0R1

Aceast main Turing poate calcula funcia RX . Vom scrie calculul pentru n = 3 i n = 2. Pentru n = 3:

(2, 1): 0 (3, 2): 0 (4, 1): 0 (5, 2): 0 (5, 3): 0

1 0 0 0 0

1 1 0 0 0 1 1 0 0 1

1 1 1 0 0 0 0 0 1 1

0 0 0 0 1 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0.... 0.... 0.... 0.... 0.... 0.... 0.... 0.... 0.... 0....

Pentru n = 2: (2, 1): 0 1 (3, 2): 0 (4, 1): 0 (3, 2): 0 (3, 3): 0 0 0 0 0

Deci X este o mulime Calculabil Turing. Exemplul 2. Fie X = {mN+ | m 2}. Atunci: 1, dac m 2 R X ( m) = 2, dac m = 1 RX este calculabil Turing cu ajutorul urmtoare maini Turing: 0 1 2 3 4 1L5 0L4 0L4 1 1R2 0R3 0R3 105 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.... 0.... 0.... 0.... 0.... 0.... 0.... 0....

Vom scrie calculul pentru m = 3: (2, 1): 0 1 1 1 (3, 2): 0 (4,3): 0 (5, 3): 0 (4, 4): 0 (3, 4): 0 (2, 4): 0 (2, 5): 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0

Calculul pentru m = 1 este urmtorul: (2, 1): 0 1 0 0. (3, 2): 0 (2, 5): 0 1 1 0 1 0. 0.

Deci X este o mulime calculabil Turing. Exemplu 3: Fie P relaia , adic P = {(m, n) | m n}. Atunci: 1, dac m n RP (m, n) = 2, dac m > n. Considerm maina Turing urmtoare: 0 1 2 3 4 5 6 7 8 9 10 0R5 0R4 0L6 1 0 11 0 L 10 0L9 0R1 1L5 1 0R2 1R3 1R3 1R4 0R5 0L7 1L8 1L8 1L9 0 L 10

Cu aceast main Turing se poate calcula RP. Vom exemplifica n cazul RP(1,2)=l. (2, 1): 0 1 0 1 1 0 0.... (3, 2): 0 (4, 5): 0 (5, 5): 0 (6, 5): 0 (6, 11): 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0.... 0.... 0.... 0.... 0....

Propoziia 2. Orice funcie calculabil Turing este efectiv calculabil. Demonstraie. Fie f : (N+)k N+ o funcie calculabil Turing i (n1,...,nk) (N+)k. (n1,...,nk) se scrie pe band sub forma: (2, 1): 0 1 ....1 0 1 ....1 0 ... 0 1 ....1 0 ... { { {
n1 ori n2 ori nk ori

Conform definiiei calculabilitii Turing exist o main Turing M i un calcul n raport cu aceast main care ncepe cu intrarea de mai sus i care are ieirea:

....1 0 ... (k, n) : 0...0 1 {


m ori

unde m = f(n1,...,nk), pentru orice (n1,...,nk)(N+)k. Dup un numr finit de pai putem s determinm pe f(n 1 ,...,n k ). Cu alte cuvinte f este efectiv calculabil. Reciproca acestei propoziii este urmtoarea aseriune: Teza lui Turing: Orice funcie calculabil Turing este efectiv calculabil. Observaie: Teza lui Turing este o afirmaie matematic prin care funciile calculabile Turing sunt identificate cu funciile efectiv calculabile. Noiunea de funcie calculabil Turing este o noiune riguros definit matematic, n timp ce noiunea de funcie efectiv calculabil este dat n planul empirico-matematic, fiind sugerat de o lung practic cu funciile Xn ce se pot calcula. Aceast tez este analoag tezei lui Church prezentat n capitolul de funcii recursive. Dup cum vom vedea n cele ce urmeaz aceste dou teze sunt reflectarea unui acelai principiu filosofic: gsirea unei noiuni matematice care s reflecte corect noiunea empiric de algoritm. Un prim argument n favoarea tezei lui Turing este faptul c pn acum nu s-a gsit nici o funcie efectiv calculabil care s nu fie calculabil Turing. Teorema urmtoare stabilete legtura dintre funciile recursive i funciile calculabile Turing. Teorem. Pentru orice funcie f : (N+)k N+ sunt echivalente urmtoarele afirmaii: (i) f este o funcie recursiv. (ii) este calculabil Turing. Demonstraia acestei teoreme depete cadrul acestui manual, presupunnd o serie de construcii dificile. Cititorul o poate gsi de exemplu n J. Malitz, Introduction to Mathematical Logic, Springer-Verlag, 1979 sau n J. Donald Monk, Mathematical Logic, North-Holland, 1978. Aceast teorem este cu totul remarcabil, semnificaia ei fiind profund att ca rezultat matemetic, ct i ca sens filosofic. Pe plan matematic ea furnizeaz un procedeu comod de-a gsi funcii calculabile Turing (am vzut c nu este uor totdeauna s verificm c o funcie este calculabil Turing). Sensul filosofic poate depeste pe cel matematic. Funciile recursive(cu numeroase definiii echivalente) au fost inventate nainte de mainile Turing. Faptul c cei doi pretendeni pentru a defini matematic noiunea de funcie calculabil(funciile recursive i funciile calculabile Turing) s-au dovedit a fi echivaleni este un argument foarte serios n favoarea tezei lui Church i a tezei lui Turing. Vom observa c acest mod de-a msura fidelitatea reflectrii unor noiuni i fapte aprute n practic prin concepte i teorii matematice este frecvent n matematic, ca i n alte tiine. 2. Exemple de masini Turing n acest paragraf vom pune n eviden o serie de maini Turing. Dac M este o main Turing i t, s sunt dou poziii ale benzii, atunci vom nota M | t s dac exist un calcul n raport cu M cu intrarea t i cu ieirea s. n cazul cnd t este: (k + j, 1): a1ak b1bjbr..c1 c2 iar s este: (k + l, n): a1ak b1..blbr..c1 c2

atunci vom nota faptul ca M | t s prin:

b1bjbr.. b1..blbr

Lema 1. Exist o main Turing, notat: compress astfel nct pentru orice m, n N + sa avem compress | 1 0m 1 1(n-1) 0 1 0 1 1(n-1) 0m

Demonstrie: Considerm urmtoarea maina Turing: 0 1 2 3 4 5 6 1L3 0R4 0L5 0R1 1 1L2 0R7 1R2 1R4 0L6 1L6

Aceast main Turing cerceteaz nti dac m 1. Dac nu, atunci intrarea are aceiai band ca i ieirea: (k, 1): 1 0 1 1(n-1) 0 (k-1, 2): (k-2, 3): (k-1, 2): (k, 7): 1 1 1 1 0 1 1 1 1 1 1 1 1(n-1) 1(n-1) 1(n-1) 1(n-1) 0 0 0 0

Dac m 2, atunci un calcul parial va da urmtoarea poziie a benzii: (k+m, 1): 1 0(n-1) 1n 0 0 i acest proces de tiprire a lui 1 la stnga lui 1n i de tergere a lui 1 la dreapta lui 1 1(n-1) 0m 1n va da n final 1 0 Vom ilustra aceast afirmaie n cazul m = 2, n = 2. (k, 1): 1 0 0 1 1 (k-1, 2): (k-2, 3): (k-1, 4): 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1

0 0 0 0

(k, 4): (k+1, 4): (k+2, 4): (k+1, 5): (k, 6): (k-1, 6): (k-2, 6): (k-1, 1): (k-2, 2): (k-3, 3): (k-2, 2): (k-1, 7):

1 1 1 1 1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0 0 1 1 0

1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

Fie M = (d, p, s). Vom scrie M(i, k) = (d(i, k), p(i, k), s(i, k)). Notm cu S(M) multimea tuturor k astfel nct (0, k)DomM, (1, k)DomM sau ks(DomM). Observaie. s(DomM) este imaginea lui DomM prin funcia s. Fie u un numr natural strict mai mare dect cardinalul lui S(M), care este evident finit. Definim maina Turing M u n felul urmtor:
Dom( M u ) = {(i, k ) i {0, 1} i k S ( M )}

M (i, k ), daca(i, k ) DomM M u (i, k ) = (i, 0, u ), n celelalte cazuri (j, k): a este o ieire a lui M avnd intrarea t dac i numai dac (j, u): a este o ieire a lui M u avnd intrarea t.

Vom defini acum o alt main Turing [M, l] cu domeniul: {(i, l+k) | (i, k)DomM} prin relaia: [M, l](i, l+k) = (d(i, k), p(i, k), s(i, k), s(i, k) + l) pentru orice (i, k)DomM. Deci [M, l] este maina Turing obinut din M nlocuind n tabloul lui M starea k cu starea l+k. Fie u = card(S(M))+1. Vom defini acum o serie de maini Turing:

(I)

Prin

M1

vom nelege maina Turing M u [ M 1 , u 1] . Aceast main

Turing este rezultatul alturrii lui M1 la M astfel nct o ieire a lui M este o intrare a lui M1. (II) Fie M0 maina Turing: u 0 0 u+1

Definim M ca fiind maina Turing M u M 0 [ M 1 , u ] . M1 Referitor la aceast main Turing, toate ieirile (i, j): a ale lui M pentru care aj =0 sunt convertite n intrri pentru M1. (III) Daca M0 este maina Turing: u 1 0 u+1

Atunci M va fi maina Turing M u M 0 [ M 1 , u ] . M1 Toate ieirile lui M n care este l pe locul indicat de capul de citire-scriere sunt aici intrri pentru M1 . (IV) Fie M maina Turing M u M 0 unde:

M0 = u

0 0 1 M.

O ieire (j, k) a lui M pentru care aj = 0 devine o intrare a lui (V) Dac: M0 = u vom defini M 1 0 1

ca fiind maina Turing M u M 0 . O ieire (j, k) a lui M pentru care aj =1

este convertit ntr-o intrare a lui M. (VI) Fie M 0 maina Turing: u 0 0 u+1 1 0 u+v+1

unde v = card (S(M1)). Definim maina Turing urmtoare: M M2 M1 ca fiind M u M 0 [ M 1 , u ] [ M 2 , u + v ] .

O ieire a lui M devine o intrare a lui M1 dac pe band apare 0 n locul marcat de , respectiv o intrare lui M2 dac indica 1 pe band. Urmtoarele exemple vor facilita nelegerea modului de funcionare al mainilor Turing definite mai sus. Considerm maina Turing urmtoare: M: 1 2 0 1 L 2 1 0 2 1 0 R 1

Scris explicit aceast main Turing este data de M = (d, p, s), cu: DomM ={(0,1), (1, 1), (0, 2)}. d(0, 1) = 1, p(0, 1) = -1, s(0, 1) = 2. d(1, 1) = 0, p(1, 1) = 1, s(1, 1) = 1, d(0, 2) = 1, p(0, 2) = 0, s(0, 2) = 2. Considerm urmtorul calcul cu maina Turing M: (2, 1): 0 1 0 0 (3, 1): 0 (2, 2): 0 (2, 2): 0
Mu

0 0 1

0 0 1

0 1 1

Aplicnd exact definiia avem S(M) = {1, 2}. S determinm acum maina Turing pentru u = 3:
Dom M 3 = {(0, 1), (1, 1), (0, 2), (1, 2)}

Singura adugire fa de M este: M s (1, 2) = (1, 0, 3)

deci tabloul ce reprezint pe M 3 este:

M3 :

1 2

0 1 L 2 1 0 2

1 0 R 1 1 0 3 0 0 0 0 1 0 0 va arta astfel:

Un calcul cu M 3 care are intrarea (2, 1):

(2, 1): 0 (3, 1): 0 (2, 2): 0

1 0 0

0 0 1

(2, 2): 0 (2, 3): 0

1 1

1 1

0 0

M fiind maina Turing de mai sus, [M, 4] va fi maina Turing dat de: 0 [M, 4]: 5 1 L 6 6 1 0 6 Fie M 1 urmtoarea main Turing: 1 0 R 5

0 1 1 1 L 2 0 R 1 M1 : Un calcul cu aceasta masina Turing care are intrarea (2, 1): 0 1 1 0 va fi: (2, 1): 0 (3, 1): 0 (4, 1): 0 (3, 2): 0 1 0 0 0 1 1 0 0 0 0 0 1

S determinm acum mainiile Turing ( I ) - ( VI ) definite anterior: (I) Avnd n vedere c [ M 1 , 2] are forma: [ M 1 , 2]: 1 0 1 L 4 1 0 R 3

M i c = M 3 [ M 1 , 2] vom avea: M1

1
M : M1

0 1 L 2 1 0 2

1 0 R 1 1 0 3

3 1 L 4 0 R 3 Un calcul cu aceast main avnd intrarea (2, 1): 0 1 1 0 (2, 1): 0 1 0 0 (3, 1): 0 (2, 2): 0 0 0 0 1 0 0

(2, 2): 0 (2, 3): 0 (3, 3): 0 (4, 3): 0 (3, 4): 0 (II).

1 1 0 0 0

1 1 1 0 0

0 0 0 0 1

Avnd n vedere c: M = M 3 M 0 [ M 1 , 3]

M1
M0: 3 0 0 0 4 0 1 L 5 1

[ M 1 ,3] :

1 0 R 4

0 1 1 1 L 2 0 R 1 M3 M 2 1 0 2 1 0 3 M0 : 3 0 0 4 M1 4 1 L 5 0 R 4 [M1, 3] Invitm cititorul s execute un calcul cu aceast main Turing: (III). innd seama c: 0 M0: 3 i aplicnd definiia lui M rezult: M1 M : M1 1 2 3 4 0 1 L 2 1 0 2 1 L 5 0 0 0 0 1 1 0 1 R 0 0 R 1 1 M3 3 4 M0 4 [M1, 3] 0 0 1 1 0 4

Scriem calculul cu intrarea (2, 1): (2, 1): 0 (3, 1): 0 1 0 0 0

(2, 2): 0 (2, 2): 0 (2, 3): 0 (2, 4): 0 (3, 4): 0 (4, 4): 0 (3, 5): 0

0 1 1 1 0 0 0

1 1 1 1 1 0 0

0 0 0 0 0 0 1

Din acest calcul se vede modul de funcionare al lui M

M1
(IV) Din M = M 3 M 0 , unde:

M0 : rezult:

0 0 0 1

0 1 1 1 L 2 0 R 1 2 1 0 2 1 0 3 3 0 0 1 Un exerciiu util va fi efectuerea unui calcul cu aceast main Turing. (V). innd seama de definiie rezult: M: 1 2 3 (VI). Fie maina Turing urmtoare: M : M2 : 1 0 0 R 1 0 1 L 2 1 0 2 1 0 R 1 1 0 3 1 0 1 1 1R 2 M

Vrem s calculm maina Turing:

M1 M2 Atunci S(M) = {1}, deci v = 1, de unde rezult:


M0 : 0 3 0 0 4 1 1 0 5

[M2,u+v]=

0 [M2,4]: 5 0 R 5

1 1 R 6

Aplicnd definiia vom avea: M M1 1 : 2 3 M2 4 5 1 1 0 1 0 0 L 0 0 L R 2 2 4 5 5 0 1 1 0 1 1 R 0 0 R R 1 3 5 4 6

Un calcul cu aceast main arat astfel: (2, 1): 0 (3, 1): 0 (2, 2): 0 (2, 2): 0 (2, 3): 0 (2, 5): 0 (3, 6): 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0

Lema 2. Pentru orice kN+ exist o main Turing copy k astfel nct un calcul care are intrarea: (2, 1): 0 1 ...1 0 1 ...1 0...0 1 ...1 0... { { {
n1 ori n2 ori nk ori

va avea ieirea de forma: (n1 + 3, ?) : 0 1 ...1 0 1 ...1 0...0 1 ...1 0 1 ...1 0... { { { {
n1 ori n2 ori nk ori n1 ori

Demonstratie: Vom lucra numai cu cazul n = 2. Fie M1 urmtoarea main Turing: 0 M1 : 1 2 3 0 L 3 0 L 3 1 1 R 2 0 R 2 1 R 4

M1 are proprietatea urmtoare: M1 |

0 1 1n11 0 1 n2 0... 0 1 0 0 n11 1n2 0...


Vom pune aceast proprietate n eviden pe un caz particular:

(2, 1): 0 (3, 2): 0 (4, 2): 0 (3, 3): 0 (2, 3): 0 (3, 4): 0

1 1 1 1 1 1

1 1 0 0 0 0

0 0 0 0 0 0

1 1 1 1 1 1

1 1 1 1 1 1

0 0 0 0 0 0

Fie M2 maina Turing urmtoare: 1 2 3 4 5 6 0 0R1 1R3 0L4 0L5 0L6 0L1 1 1R2 0R2 1R3 1L4 0L5 1R7

M2 :

Considerm maina Turing: M3 : Vom lua copy 2 ca fiind maina Turing urmtoare: 1 2 0 0R2 1L3 1 103

M1
M 2 M 3 Exerciiu: S se scrie n detaliu tabloul mainii Turing

copy 2 i s se efectueze cu aceast main Turing calculul care ncepe cu intrarea: (2, 1): 0 1 1 0 1 1 0

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