Documente Academic
Documente Profesional
Documente Cultură
“I find myself in agreement with you in all essentials . . . I find in Paradoxul lui Russel (1902)
your work discussions, distinctions, and definitions that one seeks Fie R = {A 2 U | A 2/ A}. Atunci R este mulţime, deci R 2 U.
in vain in the work of other logicians . . . There is just one point Obţinem că R 2
/ R () R 2 R.
where I have encountered a difficulty.”
Frege, apendix la The Fundamental Laws of Arithmetic, Vol. 2:
Criza fundamentelor matematicii
I Paradoxul lui Russel ) Sistemul logic al lui Frege inconsistent
“There is nothing worse that can happen to a scientist than to I a declanşat criza fundamentelor matematicii (”foundations of
have the foundation collapse just as the work is finished. I have mathematics”)
been placed in this position by a letter from Mr. Bertrand Russell.” I s-a dezvoltat teoria axiomatică a mulţimilor: Zermelo-Fraenkel
(ZF), ZFC: ZF+ Axioma alegerii (Axiom of Choice)
9 10
11 12
Programul lui Hilbert Kurt Gödel (1906-1978)
15 16
Alan Turing(1912-1954) Alan Turing(1912-1954)
E. W. Dijkstra, The next fifty years (EWD1243a). E.W. Dijkstra Aplicatii ale logicii ı̂n informatică:
Archive. Center for American History, University of Texas at I calculabilitate şi complexitate
Austin:
I arhitectura calculatoarelor (circuite logice)
”Computing and Computing Science unavoidably emerge as an I software engineering (verificare, model checking)
exercise in formal mathematics or, if you wish an acronym, as
I limbaje de programare (semantică, programare logică,
exercise in VLSAL (Very Large Scale Application of Logic).“
programare funcţională)
Aaron R. Bradley, Zohar Manna, The Calculus of Computation I baze de date (algebre de relaţii, teoria modelelor finite)
Decision Procedures with Applications to Verification, Springer, I inteligenţă artificială
2007: I criptografie şi securitate
”Logic is the calculus of computation.”
J. Y. Halpern, R. Harper, N. Immerman, P.G.Kolaitis, M.Y. Vardi,
Georg Gottlob, Logic and Artificial Intelligence, VSL 2014: V.Vianu, On the Unusual E↵ectiveness of Logic in Computer
Science, Bulletin of Symbolic Logic 7(2001)
“Computer science is the continuation of logic by other means.”
19 20
Logică şi Informatică ı̂n România
Fie A, B, C mulţimi.
Definiţie
I Dacă R ✓ A ⇥ B, atunci relaţia inversă R 1 ✓ B ⇥ A este
O relaţie binară ı̂ntre A şi B este o submulţime a produsului
cartezian A ⇥ B. definită astfel:
O relaţie binară pe A este o submulţime a lui A ⇥ A. R 1
= {(b, a) | (a, b) 2 R}.
| = {(k, n) | există m 2 N a.ı̂. mk = n} Q R = {(a, c) | există b 2 B a.ı̂. (a, b) 2 R şi (b, c) 2 Q}.
Definiţie
Notaţii: Fie f : A ! B o funcţie, X ✓ A şi Y ✓ B.
O funcţie este un triplet (A, B, R), unde A şi B sunt mulţimi, iar
I f (X ) = {f (x) | x 2 X } este imaginea directă a lui X prin f ;
R ✓ A ⇥ B este o relaţie cu proprietatea că pentru orice a 2 A
f (A) este imaginea lui f .
există un unic b 2 B cu (a, b) 2 R.
I f 1 (Y ) = {x 2 X | f (x) 2 Y } este imaginea inversă a lui Y
Vom nota o funcţie (A, B, R) prin f : A ! B, simbolul f având prin f .
următoarea semnificaţie: fiecărui element x 2 A ı̂i corespunde un
singur element f (x) 2 B a.ı̂. (x, f (x)) 2 R. Definiţie
Spunem că f : A ! B este definită pe A cu valori ı̂n B, A se Fie f : A ! B o funcţie
numeşte domeniul de definiţie al funcţiei f şi B se numeşte I f este injectivă dacă pentru orice x1 , x2 2 A, x1 6= x2 implică
domeniul valorilor lui f . f (x1 ) 6= f (x2 ) (sau, echivalent, f (x1 ) = f (x2 ) implică
Notaţie: B A este mulţimea funcţiilor de la A la B. x1 = x2 ).
I f este surjectivă dacă pentru orice y 2 B există x 2 A a.ı̂.
Definiţie f (x) = y (sau, echivalent, f (A) = B).
O funcţie parţială de la A la B este o funcţie f : C ! B, unde C I f este bijectivă dacă f este injectivă şi surjectivă.
este o submulţime a lui A.
1 2
f : A ! B. Notaţie: A ⇠ B.
Observaţie
Exerciţiu. A este echipotentă cu B ddacă B este echipotentă cu
Functi¸a caracteristică se poate folosi pentru a arăta că două
A. De aceea, spunem de obicei că A şi B sunt echipotente.
mulţimi sunt egale: A = B ddacă A = B .
3 4
Familii Produsul cartezian al unei familii
Fie I o mulţime nevidă. Fie I o mulţime nevidă şi (Ai )i2I o familie de mulţimi.
Fie A o mulţime. O familie de elemente din A indexată de I este o Produsul cartezian al familiei (Ai )i2I se defineşte astfel:
funcţie f : I ! A. Notăm cu (ai )i2I familia f : I ! A, f (i) = ai ( )
pentru orice i 2 I . Vom scrie şi (ai )i sau (ai ) atunci când I este Y [
dedusă din context. Ai = f :I ! Ai | f (i) 2 Ai pentru orice i 2 I
i2I i2I
Dacă fiecărui i 2 I ı̂i este asociată o mulţime Ai , obţinem o familie = {(xi )i2I | xi 2 Ai pentru orice i 2 I }.
(indexată) de mulţimi (Ai )i2I . Y
Pentru orice j 2 I , aplicaţia ⇡j : Ai ! Aj , ⇡j ((xi )i2I ) = xj se
Fie (Ai )i2I o familie de submulţimi ale unei mulţimi T . Reuniunea i2I
Y
şi intersecţia familiei (Ai )i2I sunt definite astfel: numeşte proiecţie canonică a lui Ai . ⇡j este surjectivă.
[
Ai = {x 2 T | există i 2 I a.ı̂. x 2 Ai } i2I
Mulţimi numărabile
Definiţie
O mulţime A este numărabilă dacă este echipotentă cu N .
O mulţime finită sau numărabilă se numeşte cel mult numărabilă.
Propoziţie
(i) Orice submulţime infinită a lui N este numărabilă.
(ii) Reuniunea unei familii cel mult numărabile de mulţimi
numărabile este mulţime numărabilă.
(iii) Z şi Q sunt numărabile.
(iv) Produsul cartezian al unei familii cel mult numărabile de
mulţimi numărabile este mulţime numărabilă.
Dem.: Exerciţiu.
11
Principiul diagonalizării Argumentul diagonal al lui Cantor
Teoremă Cantor
Principiul diagonalizării Nu există o bijecţie ı̂ntre N şi mulţimea 2N a părţilor lui N, deci 2N
Fie R o relaţie binară pe o mulţime A şi D ✓ A definită astfel: nu este mulţime numărabilă.
Dem.: Presupunem că există o bijecţie f : N ! 2N . Prin urmare,
D = {x 2 A | (x, x) 2
/ R}.
2N poate fi enumerată ca 2N = {S0 , S1 , . . . , Sn , . . . , }, unde
Pentru orice a 2 A, definim Si = f (i) pentru orice i 2 N. Considerăm relaţia binară R ✓ N ⇥ N
definită astfel:
Ra = {x 2 A | (a, x) 2 R}. R = {(i, j) | j 2 f (i)} = {(i, j) | j 2 Si }
Definiţie
Fie A o mulţime nevidă şi R ✓ A2 o relaţie binară pe A.
Notaţie: Scriem xRy ı̂n loc de (x, y ) 2 R şi ¬(xRy ) ı̂n loc de Fie A o mulţime nevidă. O relaţie binară R ✓ A2 se numeşte
(x, y ) 62 R. relaţie de echivalenţă dacă este reflexivă, simetrică şi tranzitivă.
Exemple
Definiţie
I Fie n 2 N⇤ . Definim relaţia ⌘ (mod n) ✓ Z2 astfel:
I R este reflexivă dacă xRx pentru orice x 2 A.
I R este ireflexivă dacă ¬(xRx) pentru orice x 2 A. ⌘ (mod n) = {(x, y ) 2 Z2 | n divide (x y )}.
I R este simetrică dacă pentru orice x, y 2 A, xRy implică yRx. Relaţia ⌘ (mod n) se numeşte congruenţa modulo n. Folosim
I
notaţia x ⌘ y (mod n) pentru (x, y ) 2 ⌘ (mod n).
R este antisimetrică dacă pentru orice x, y 2 A,
I Fie f : A ! B o funcţie. Definim relaţia ker f ✓ A2 astfel:
xRy şi yRx implică x = y .
I R este tranzitivă dacă pentru orice x, y , z 2 A, ker f = {(a1 , a2 ) 2 A2 | f (a1 ) = f (a2 )}.
xRy şi yRz implică xRz. ker f se numeşte şi nucleul lui f .
I R este totală dacă pentru orice x, y 2 A, xRy sau yRx. Notaţii: Vom nota relaţiile de echivalenţă cu ⇠. Scriem x ⇠ y
dacă (x, y ) 2 ⇠ şi x 6⇠ y dacă (x, y ) 2
/ ⇠.
3 4
Relaţii de echivalenţă Relaţii de echivalenţă
Fie A o mulţime nevidă şi ⇠ ✓ A2 o relaţie de echivalenţă. Fie A o mulţime nevidă şi ⇠ ✓ A2 o relaţie de echivalenţă.
Definiţie Definiţie
Pentru orice x 2 A, clasa de echivalenţă [x] a lui x este definită Un sistem de reprezentanţi pentru ⇠ este o submulţime X ✓ A care
astfel: [x] = {y 2 A | x ⇠ y }. satisface: pentru orice a 2 A există un unic x 2 X a.ı̂. a ⇠ x.
Propoziţie Propoziţie
S S
I A= x2A [x]. Fie X un sistem de reprezentanţi pentru ⇠. Atunci A = x2X [x] şi
I [x] = [y ] ddacă x ⇠ y . A/⇠= {[x] | x 2 X }.
I [x] \ [y ] = ; ddacă x 6⇠ y ddacă [x] 6= [y ]. Dem.: Exerciţiu.
Dem.: Exerciţiu. Exemplu
Considerăm congruenţa modulo 2, ⌘ (mod 2):
Definiţie
[0] = {2n | n 2 Z} = 2Z, [1] = {2n + 1 | n 2 Z} = 2Z + 1;
Mulţimea tuturor claselor de echivalenţă distincte ale elementelor [2n] = [0] şi [2n + 1] = [1] pentru orice n 2 Z; mulţimea cât este
lui A se numeşt mulţimea cât a lui A prin ⇠ şi se notează A/⇠. Z2 = {[0], [1]}. Sisteme de reprezentanţi: X = {0, 1}, X = {2, 5},
Aplicaţia ⇡ : A ! A/⇠, ⇡(x) = [x] se numeşte funcţia cât. X = {999, 20}.
5 6
Partiţii
Propoziţie
Există o bijecţie ı̂ntre mulţimea relaţiilor de echivalenţă pe A si
mulţimea partiţiilor lui A:
I(Ai )i2I partiţie a lui A 7! relaţia de echivalenţă pe A definită
prin: x ⇠ y ddacă există i 2 I a.ı̂. x, y 2 Ai .
I ⇠ relaţie de echivalenţă pe A 7! partiţia ([x])x2X , unde
X ✓ A este un sistem de reprezentanţi pentru ⇠.
Dem.: Exerciţiu.
7
Relaţii de ordine Mulţimi parţial ordonate
Definiţie
Fie A o mulţime nevidă. O relaţie binară R pe A este relaţie de Fie (A, ) o mulţime parţial ordonată.
I ordine parţială dacă este reflexivă, antisimetrică şi tranzitivă. Proprietăţii
I ordine strictă dacă este ireflexivă şi tranzitivă. I Orice relaţie de ordine totală este reflexivă. Prin urmare, orice
I ordine totală dacă este antisimetrică, tranzitivă şi totală. mulţime total ordonată este mulţime parţial ordonată.
I Relaţia < definită prin x < y () x y şi x 6= y este
Notaţii: Vom nota relaţiile de ordine parţială şi totală cu , iar
relaţie de ordine strictă.
relaţiile de ordine strictă cu <.
I Dacă ; =
6 S ✓ A, atunci (S, ) este mulţime parţial ordonată.
Definiţie
Dem.: Exerciţiu.
Dacă este o relaţie de ordine parţială (totală) pe A, spunem că
(A, ) este mulţime parţial (total) ordonată.
1 2
Definiţie
Un element e 2 S se numeşte Proprietăţi
I I Atât minimul, cât şi maximul lui S sunt unice (dacă există).
element minimal al lui S dacă pentru orice a 2 S,
a e implică a = e; I Orice minim (maxim) este element minimal (maximal).
I element maximal al lui S dacă pentru orice a 2 S, Reciproca nu este adevărată.
e a implică a = e; I S poate avea mai multe elemente maximale sau minimale.
I cel mai mic element (sau minim) al lui S dacă e a pentru Dem.: Exerciţiu.
orice a 2 S;
I cel mai mare element (sau maxim) al lui S dacă a e pentru
orice a 2 S.
3 4
Mulţimi parţial ordonate Mulţimi bine/inductiv ordonate
9 10
Presupunem că ', p sunt adevărate şi r este falsă (deci ¬r este
• Notăm variabilele cu v , u, w , v0 , v1 , v2 , . . .
adevărată). Ce putem spune despre q? q este adevărată.
17 18
Logica propoziţionala LP - Limbajul Logica propoziţionala LP - Limbajul
Definiţia 1.2
Mulţimea Expr a expresiilor lui LP este mulţimea tuturor şirurilor
finite de simboluri ale lui LP. Definiţia 1.3
Fie ✓ = ✓0 ✓1 . . . ✓k 1 o expresie a lui LP, unde ✓i 2 Sim pentru
I Expresia vidă se notează . orice i 2 {0, 1, . . . , k 1}.
I Lungimea unei expresii ✓ este numărul simbolurilor din ✓. I Dacă 0 i j k 1, atunci expresia ✓i . . . ✓j se numeşte
Simn este mulţimea şirurilor de simboluri ale lui LP de (i, j)-subexpresia lui ✓;
lungime n. I Spunem că o expresie apare ı̂n ✓ dacă există
S
I Prin convenţie, Sim0 = { }. Atunci Expr = n2N Simn . 0 i j k 1 a.ı̂. este (i, j)-subexpresia lui ✓.
Exemple:
((((v7 , v1 ¬ ! (v2 ), ¬v1 v2 , ((v1 ! v2 ) ! (¬v1 )), (¬(v1 ! v2 )).
1 2
Formule Formule
Observaţie F : Form ! A
Mulţimea Var (') poate fi definită şi recursiv.
care satisface următoarele proprietăţi:
Dem.: Exerciţiu. (R0) F (v ) = G0 (v ) pentru orice variabilă v 2 V .
(R1) F (¬') = G¬ (F ('), ') pentru orice formulă '.
(R2) F (' ! ) = G! (F ('), F ( ), ', ) pentru orice formule ', .
Dem.: Exerciţiu suplimentar.
11 12
Subformule Subformule
Definiţie alternativă
Mulţimea SubForm(') poate fi definită şi recursiv:
Definiţia 1.10
Fie ' o formulă a lui LP. O subformulă a lui ' este orice formulă SubForm(v ) = {v }
care apare ı̂n '. SubForm(¬') = SubForm(') [ {¬'}
Notaţie: Mulţimea subformulelor lui ' se notează SubForm('). SubForm(' ! ) = SubForm(') [ SubForm( ) [ {' ! }.
G0 : V ! A, G0 (v ) = {v },
G¬ : A ⇥ Form ! A, G¬ ( , ') = [ {¬'},
G! : A ⇥ A ⇥ Form ⇥ Form ! A, G! ( , , ', ) = [ [ {' ! }.
13 14
Tabele de adevăr
Valori de adevăr
Folosim următoarele notaţii pentru cele două valori de adevăr:
1 pentru adevărat şi 0 pentru fals. Prin urmare, mulţimea valorilor
de adevăr este {0, 1}.
SEMANTICA LP Definim următoarele operaţii pe {0, 1} folosind tabelele de adevăr.
p ¬p
¬ : {0, 1} ! {0, 1}, 0 1
1 0
Se observă că ¬ p = 1 () p = 0.
p q p!q
0 0 1
! : {0, 1} ⇥ {0, 1} ! {0, 1}, 0 1 1
1 0 0
1 1 1
15
Se observă că p ! q = 1 () p q. 16
Tabele de adevăr Evaluări
Definiţia 1.11
Operaţiile _ : {0, 1} ⇥ {0, 1} ! {0, 1}, ^ : {0, 1} ⇥ {0, 1} ! {0, 1}
şi $: {0, 1} ⇥ {0, 1} ! {0, 1} se definesc astfel: O evaluare (sau interpretare) este o funcţie e : V ! {0, 1}.
Teorema 1.12
p q p_q p q p^q p q p$q Pentru orice evaluare e : V ! {0, 1} există o unică funcţie
0 0 0 0 0 0 0 0 1
e + : Form ! {0, 1}
0 1 1 0 1 0 0 1 0
1 0 1 1 0 0 1 0 0 care verifică următoarele proprietăţi:
1 1 1 1 1 1 1 1 1
I e + (v ) = e(v ) pentru orice orice v 2 V .
Observaţie I e + (¬') = ¬ e + (') pentru orice ' 2 Form,
Pentru orice p, q 2 {0, 1}, p _ q = ¬ p ! q, p ^ q = ¬ (p ! ¬ q)
I e + (' ! ) = e + (') ! e + ( ) pentru orice ', 2 Form.
şi p $ q = (p ! q) ^ (q ! p). Dem.: Aplicăm Principiul Recursiei pe formule (Propoziţia 1.8) cu
A = {0, 1}, G0 = e, G¬ : {0, 1} ! {0, 1}, G¬ (p) = ¬ p şi
Dem.: Exerciţiu.
G! : {0, 1} ⇥ {0, 1} ! {0, 1}, G! (p, q) = p ! q.
17 18
Evaluare (Interpretare) Evaluare (Interpretare)
Propoziţia 1.14
Propoziţia 1.13 Pentru orice formulă ' şi orice evaluări e1 , e2 : V ! {0, 1},
Dacă e : V ! {0, 1} este o evaluare, atunci pentru orice formule (*) e1 (v ) = e2 (v ) pentru orice v 2 Var (') =) e1+ (') = e2+ (').
', ,
Dem.: Definim următoarea proprietate P: pentru orice formulă ',
e + (' _ ) = e + (') _ e + ( ),
e + (' ^ ) = e + (') ^ e + ( ), ' are proprietatea P ddacă pentru orice evaluări
e1 , e2 : V ! {0, 1}, ' satisface (*).
e + (' $ ) = e + (') $ e + ( ).
Demonstrăm că orice formulă ' are proprietatea P folosind
Dem.: Exerciţiu.
Principiul inducţiei pe formule. Avem următoarele cazuri:
I ' = v . Atunci e1+ (v ) = e1 (v ) = e2 (v ) = e2+ (v ).
1 2
(*) e1 (v ) = e2 (v ) pentru orice v 2 Var (') =) e1+ (') = e2+ ('). (*) e1 (v ) = e2 (v ) pentru orice v 2 Var (') =) e1+ (') = e2+ (').
Definiţia 1.17
Fie ', două formule. Spunem că Propoziţia 1.19
I ' este consecinţă semantică a lui dacă Pentru orice formule ', , ,
Mod( ) ✓ Mod('). Notaţie: ✏ '.
terţul exclus ✏ ' _ ¬' (1)
I ' şi sunt (logic) echivalente dacă Mod( ) = Mod(').
Notaţie: ' ⇠ . modus ponens ' ^ (' ! ) ✏ (2)
afirmarea concluziei ✏'! (3)
Observaţie
Relaţia ⇠ este o relaţie de echivalenţă pe mulţimea Form a contradicţia ✏ ¬(' ^ ¬') (4)
formulelor lui LP. dubla negaţie ' ⇠ ¬¬' (5)
contrapoziţia '! ⇠ ¬ ! ¬' (6)
Propoziţia 1.18
negarea premizei ¬' ✏ ' ! (7)
Fie ', formule. Atunci
modus tollens ¬ ^ (' ! ) ✏ ¬' (8)
(i) ✏ ' ddacă ✏ ! '.
tranzitivitatea implicaţiei (' ! ) ^ ( ! ) ✏ ' ! (9)
(ii) ⇠ ' ddacă ( ✏ ' şi ' ✏ ) ddacă ✏ $ '.
Dem.: Exerciţiu. 9 10
Tautologii, consecinţe semantice şi echivalenţe Tautologii, consecinţe semantice şi echivalenţe
Definiţia 1.20
Demonstrăm (10): ✏ ' _ ¬'.
Fie e : V ! {0, 1} o evaluare arbitrară. Trebuie să arătăm că Pentru orice formule ', , 0 , definim
e + (' _ ¬') = 1. Observăm că e + (' _ ¬') = e + (') _ ¬ e + ('). ' ( 0 ) := expresia obţinută din ' prin ı̂nlocuirea tuturor
Putem demonstra că e + (') _ ¬ e + (') = 1 ı̂n două moduri. apariţiilor lui cu 0 .
I. Folosim tabelele de adevăr. ' ( 0 ) se numeşte substituţia lui cu 0 ı̂n '. Spunem şi că
e + (') ¬ e + (') e + (') _ ¬ e + (') ' ( 0 ) este o instanţă de substituţie a lui '.
0 1 1
I '' ( 0 ) = 0.
1 0 1
I Dacă nu este subformulă a lui ', atunci ' ( 0 ) = '.
II. Raţionăm direct.
Avem două cazuri: Exemple:
I e + (') = 1. Atunci ¬ e + (') = 0 şi, prin urmare, Fie ' = (v1 ! v2 ) ! ¬(v1 ! v2 ).
e + (') _ ¬ e + (') = 1. I = v1 ! v2 , 0 = v4 . ' ( 0 ) = v4 ! ¬v4
I e + (') = 0. Atunci ¬ e + (') = 1 şi, prin urmare, 0
I = v1 , = ¬¬v2 . ' ( 0 ) = (¬¬v2 ! v2 ) ! ¬(¬¬v2 ! v2 )
e + (') _ ¬ e + (') = 1. 0
I = v1 ! v2 , = v4 _ v1 . ' ( 0 ) = (v4 _ v1 ) ! ¬(v4 _ v1 )
13 14
Substituţia Substituţia
17 18
Propoziţia 1.24
Pentru orice formule ', , ✓ şi orice variabilă v 2 V , De multe ori este convenabil să avem o tautologie canonică şi o
(i) ' ⇠ implică 'v (✓) ⇠ v (✓). formulă nesatisfiabilă canonică.
(ii) Dacă ' este tautologie atunci şi 'v (✓) este tautologie. Observaţie
(iii) Dacă ' este nesatisfiabilă, atunci şi 'v (✓) este nesatisfiabilă. v0 ! v0 este tautologie şi ¬(v0 ! v0 ) este nesatisfiabilă.
Dem.: Fie e : V ! {0, 1} o evaluare arbitrară şi a := e + (✓). Dem.: Exerciţiu.
Aplicând Propoziţia 1.23, rezultă că e + ('v (✓)) = (ev a )+ (') şi
e + ( v (✓)) = (ev a )+ ( ). Notaţii
(i) Deoarece ' ⇠ , avem că (ev a )+ (') = (ev a )+ ( ). Deci, Notăm v0 ! v0 cu > şi o numim adevărul. Notăm ¬(v0 ! v0 ) cu
e + ('v (✓)) = e + ( v (✓)). ? şi o numim falsul.
(ii) Deoarece ' este tautologie, avem că (ev a )+ (') = 1. Deci,
I ' este tautologie ddacă ' ⇠ >.
e + ('v (✓)) = 1.
I ' este nesatisfiabilă ddacă ' ⇠ ?.
(iii) Deoarece ' este nesatisfiabilă, avem că (ev a )+ (') = 0.
Deci, e + ('v (✓)) = 0.
19 20
Conjuncţii şi disjuncţii finite Conjuncţii şi disjuncţii finite
Propoziţia 1.30
(i) Mod(;) = {0, 1}V , adică orice evaluare e : V ! {0, 1} este
model al mulţimii vide. În particular, mulţimea vidă este
satisfiabilă.
(ii) Cn(;) este mulţimea tuturor tautologiilor, adică ' este
tautologie ddacă ; ✏ '.
Dem.: Exerciţiu uşor.
25
Proprietăţi Proprietăţi
Lema 1.36 Pasul de inducţie. Fie n 2 N. Presupunem că am definit "0 , . . . , "n
Fie finit satisfiabilă. Atunci există un şir ("n ) ı̂n {0, 1} care a.ı̂. Pn este satisfăcută. Avem următoarele cazuri:
satisface, pentru orice n 2 N: (1n+1 ) Pentru orice submulţime finită a lui , există un model e al
Pn Orice submulţime finită a lui are un model e : V ! {0, 1} lui a.ı̂.
care satisface e(vi ) = "i pentru orice i 2 {0, 1, . . . n}. e(vi ) = "i pentru orice i 2 {0, 1, . . . , n} şi e(vn+1 ) = 0.
Dem.: Definim şirul ("n ) prin inducţie după n 2 N. Definim "n+1 := 0.
n = 0. Avem următoarele cazuri: (2n+1 ) Există o submulţime finită n+1 a lui a.ı̂. pentru orice
(10 ) Pentru orice submulţime finită a lui , există un model e al model e al lui n+1 , avem
lui a.ı̂. e(v0 ) = 0. Definim "0 := 0. e(vi ) = "i pentru orice i 2 {0, 1, . . . , n} implică e(vn+1 ) = 1.
(20 ) Există o submulţime finită 0 a lui a.ı̂. pentru orice model Definim "n+1 := 1.
e al lui 0 , avem e(v0 ) = 1. Definim "0 := 1. Demonstrăm că Pn+1 este satisfăcută. În cazul (1n+1 ) este
Demonstrăm că P0 este satisfăcută. În cazul (10 ) este evident. Să evident. Să considerăm cazul (2n+1 ). Fie o submulţime finită a
considerăm cazul (20 ). Fie o submulţime finită a lui . Atunci lui . Atunci [ n+1 este o submulţime finită a lui . Prin
[ 0 este o submulţime finită a lui . Deoarece este finit urmare, conform Pn , există un model e al lui [ n+1 a.ı̂.
satisfiabilă, [ 0 are un model e. Rezultă că e ✏ şi, din e(vi ) = "i pentru orice i 2 {0, 1, . . . n}. Din (2n+1 ), obţinem şi
faptul că e ✏ 0 , obţinem că e(v0 ) = 1 = "0 . 5
e(vn+1 ) = 1 = "n+1 . 6
Teorema de compacitate
Notaţii
Thm( ) := mulţimea -teoremelor Thm := Thm(;)
`' :, ' este -teoremă `' :, ;`' O definiţie alternativă a -teoremelor:
` :, ` ' pentru orice ' 2 .
Definiţia 1.41
Definiţia 1.39 Mulţimea Thm( ) este intersecţia tuturor mulţimilor de formule ⌃
care satisfac următoarele proprietăţi:
O formulă ' se numeşte teoremă a lui LP dacă ` '.
(i) Axm ✓ ⌃;
Reformulând condiţiile (T0), (T1), (T2) folosind notaţia `,
(ii) ✓ ⌃;
obţinem
(iii) ⌃ este ı̂nchisă la modus ponens:
Propoziţia 1.40
dacă ', ' ! 2 ⌃, atunci 2 ⌃.
(i) dacă ' este axiomă, atunci ` ';
(ii) dacă ' 2 , atunci ` ';
(iii) dacă ` ' şi ` ' ! , atunci ` .
5 6
-teoreme -teoreme
(i) demonstrăm că orice axiomă este ı̂n ⌃; (iv) Thm(Thm( )) = Thm( ), adică, pentru orice formulă ',
(ii) demonstrăm că orice formulă din este ı̂n ⌃; Thm( ) ` ' ddacă ` '.
(iii) demonstrăm că dacă ' 2 ⌃ şi ' ! 2 ⌃, atunci 2 ⌃. Dem.: Exerciţiu uşor.
7 8
-demonstraţii -demonstraţii
Definiţia 1.43
O -demonstraţie (demonstraţie din ipotezele ) este o secvenţă
de formule ✓1 , . . ., ✓n a.ı̂. pentru fiecare i 2 {1, . . . , n}, una din Definiţia 1.45
următoarele condiţii este satisfăcută: Fie ' o formulă. O -demonstraţie a lui ' sau demonstraţie a lui '
(i) ✓i este axiomǎ; din ipotezele este o -demonstraţie ✓1 , . . ., ✓n a.ı̂. ✓n = '. În
(ii) ✓i 2 ; acest caz, n se numeşte lungimea -demonstraţiei.
(iii) existǎ k, j < i a.ı̂. ✓k = ✓j ! ✓i .
Propoziţia 1.46
O ;-demonstraţie se va numi simplu demonstraţie.
Fie o mulţime de formule şi ' o formulă. Atunci ` ' ddacă
Lema 1.44 există o -demonstraţie a lui '.
Dacă ✓1 , . . ., ✓n este o -demonstraţie, atunci Dem.: Exerciţiu suplimentar.
` ✓i pentru orice i 2 {1, . . . , n}.
Dem.: Exerciţiu.
9 10
Propoziţia 1.48
Pentru orice formulă ', ` ' ! '.
Propoziţia 1.47
Dem.:
Pentru orice mulţime de formule şi orice formulă ', ` ' ddacă
existǎ o submulţime finitǎ ⌃ a lui a.ı̂. ⌃ ` '. (1) ` (' ! ((' ! ') ! ')) ! ((' ! (' ! ')) ! (' ! '))
(A2) (cu ', := ' ! ', := ') şi Propoziţia 1.40.(i)
Dem.: ”(” Fie ⌃ ✓ , ⌃ finită a.ı̂. ⌃ ` '. Aplicând Propoziţia
1.42.(i) obţinem că ` '. (2) ` ' ! ((' ! ') ! ')
”)” Presupunem că ` '. Conform Propoziţiei 1.46, ' are o (A1) (cu ', := ' ! ') şi Propoziţia 1.40.(i)
-demonstraţie ✓1 , . . ., ✓n = '. Fie (3) ` (' ! (' ! ')) ! (' ! ')
⌃ := \ {✓1 , . . . , ✓n }. (1), (2) şi Propoziţia 1.40.(iii). Scriem de obicei (MP): (1), (2)
(4) ` ' ! (' ! ')
Atunci ⌃ este finită, ⌃ ✓ şi ✓1 , . . ., ✓n = ' este o
(A1) (cu ', := ') şi Propoziţia 1.40.(i)
⌃-demonstraţie a lui ', deci ⌃ ` '.
(5) `'!'
11
(MP): (3), (4) 12
Teorema deducţiei Teorema deducţiei
”)” Fie
Teorema deducţiei 1.49 ⌃ := { 2 Form | ` ' ! }.
Fie ✓ Form şi ', 2 Form. Atunci Trebuie să demonstrăm că Thm( [ {'}) ✓ ⌃. O facem prin
[ {'} ` ddacă `'! . inducţie după [ {'}-teoreme.
• Fie o axiomă sau o formulă din . Atunci
Dem.: ”(” Presupunem că `'! . (1) ` Propoziţia 1.40.(i), (ii)
(1) `'! ipoteză (2) ` ! (' ! ) (A1) şi Propoziţia 1.40.(i)
(2) [ {'} ` ' ! Propoziţia 1.42.(i) (3) `'! (MP): (1), (2).
(3) [ {'} ` ' Propoziţia 1.40.(ii) Aşadar 2 ⌃.
(4) [ {'} ` (MP): (2), (3). • Fie = '. Atunci ' ! = ' ! ' este teoremă, conform
Propoziţiei 1.48, deci ` ' ! . Aşadar 2 ⌃.
13 14
Teorema deducţiei este unul din cele mai utile instrumente pentru
a arăta că o formulă e teoremă.
• Demonstrăm acum că ⌃ este ı̂nchisă la modus ponens. Propoziţia 1.50
Presupunem că , ! 2 ⌃ şi trebuie să arătăm că 2 ⌃.
Atunci Pentru orice formule ', , ,
17 18
Câteva consecinţe
Propoziţia 1.52
Pentru orice formule ', ,
{ ,¬ } ` ' (3)
` ¬ ! ( ! ') (4)
` ¬¬' ! ' (5)
` ' ! ¬¬' (6)
{ , ¬'} ` ¬( ! '). (7)
Dem.: Exerciţiu.
Propoziţia 1.53
Pentru orice mulţime de formule şi orice formule ', ,
Propoziţia 1.55
Fie e : V ! {0, 1} o evaluare. Pentru orice formulă ',
(i) Dacă e + (') = 1, atunci Var (')e ` '.
Notaţii
(ii) Dacă e + (') = 0, atunci Var (')e ` ¬'.
Pentru orice variabilă v 2 V şi orice evaluare e : V ! {0, 1},
Dem.: Suplimentar - nu trebuie citită pentru examen Prin inducţie
(
v dacă e(v ) = 1 după formule. Avem următoarele cazuri:
ve = I ' = v . Atunci Var (')e = {v e } şi e + (v ) = e(v ).
¬v dacă e(v ) = 0.
Dacă e(v ) = 1, atunci v e = v , deci, {v e } ` v .
Aşadar, e + (v e ) = 1. Dacă e(v ) = 0, atunci v e = ¬v , deci, {v e } ` ¬v .
Pentru orice mulţime W = {x1 , . . . , xk } de variabile, notăm I ' = ¬ . Atunci Var (') = Var ( ), deci Var (')e = Var ( )e .
W e = {v e | v 2 W } = {x1e , x2e , . . . , xke }. Dacă e + (') = 1, atunci e + ( ) = 0, deci, conform ipotezei de
inducţie pentru , Var ( )e ` ¬ , adică, Var (')e ` '.
Dacă e + (') = 0, atunci e + ( ) = 1, deci, conform ipotezei de
inducţie pentru , Var ( )e ` , adică, Var (')e ` .
3 Deoarece ` ! ¬¬ ( (6) din Propoziţia 1.52), putem 4
e
Sintaxă şi semantică Sintaxă şi semantică
Propoziţia 1.57
Fie [ {', } ✓ Form. Presupunem că ' ⇠ . Atunci
Fie o mulţime de formule şi ' o formulă.
`' () ` .
Notaţii
Dem.: Observăm că
6` ' :, ' nu este -teoremă
'⇠ () ✏ ' ! şi ✏ ! '
6` ' :, ' nu este teoremă
(conform Propoziţiei 1.18)
6✏ ' :, ' nu este consecinţă semantică a lui
() ` ' ! şi ` ! '
6✏ ' :, ' nu este tautologie.
(conform Teoremei de completitudine).
”)” Presupunem că ` '. Deoarece ` ' ! , rezultă din
Propoziţia 1.42.(ii) că ` ' ! . Aplicăm acum (MP) pentru a
obţine că ` .
”(” Similar.
9 10
Propoziţia 1.59
Definiţia 1.58
(i) ; este consistentă.
Fie o mulţime de formule.
(ii) Mulţimea teoremelor este consistentă.
I este consistentă dacă există o formulă ' astfel ı̂ncât 6` '.
I este inconsistentă dacă nu este consistentă, adică, `' Dem.:
pentru orice formulă '. (i) Dacă ` ?, atunci, conform Teoremei de corectitudine 1.54, ar
rezulta că ✏ ?, o contradicţie. Aşadar 6` ?, deci ; este
Observaţie consistentă.
Fie , mulţimi de formule a.ı̂. ✓ . (ii) Aplicând Propoziţia 1.42.(iv) pentru = ;, obţinem că
I Dacă este consistentă, atunci şi este consistentă. Thm = Thm(Thm), adică, pentru orice ',
I Dacă este inconsistentă, atunci şi este inconsistentă. ` ' ddacă Thm ` '.
Din (i) rezultă că Thm este consistentă.
11 12
Mulţimi consistente Mulţimi consistente
Propoziţia 1.63
Fie o mulţime de formule. este inconsistentă ddacă are o
Propoziţia 1.62 submulţime finită inconsistentă.
Dem.: ”(” este evidentă.
Fie = {'1 , . . . , 'n } o mulţime finită de formule.
”)” Presupunem că este inconsistentă. Atunci, conform
(i) Pentru orice formulă , ` ddacă ` '1 ^ . . . ^ 'n ! Propoziţiei 1.60.(iv), ` ?. Aplicând Propoziţia 1.47, obţinem o
ddacă {'1 ^ . . . ^ 'n } ` . submulţime finită ⌃ = {'1 , . . . , 'n } a lui a.ı̂. ⌃ ` ?. Prin
(ii) este consistentă ddacă {'1 ^ . . . ^ 'n } este consistentă. urmare, ⌃ este inconsistentă.
Dem.: Exerciţiu. Un rezultat echivalent:
Propoziţia 1.64
Fie o mulţime de formule. este consistentă ddacă orice
submulţime finită a lui este consistentă.
15 16
Consecinţă a Teoremei de completitudine Teorema de completitudine tare
Definiţia 1.70
O formulă ' este ı̂n formă normală conjunctivă (FNC) dacă ' este
o conjuncţie de disjuncţii de literali.
0 1
^n ki
_
Aşadar, ' este ı̂n FNC ddacă ' = @ Li,j A, unde fiecare Li,j
i=1 j=1
este literal.
Exemple:
I (v0 _ v1 ) ^ (v3 _ v5 ) ^ (¬v20 _ ¬v15 _ ¬v34 ) este ı̂n FNC
I (¬v9 ^ v1 ) _ v24 _ (v2 ^ ¬v1 ^ v2 ) este ı̂n FND
I v1 ^ ¬v5 ^ v4 este atât ı̂n FND cât şi ı̂n FNC
I ¬v10 _ v20 _ v4 este atât ı̂n FND cât şi ı̂n FNC
I (v1 _ v2 ) ^ ((v1 ^ v3 ) _ (v4 ^ v5 )) nu este nici ı̂n FND, nici ı̂n
FNC
21
Forma normală conjunctivă / disjunctivă Funcţia asociată unei formule
(
¬v dacă L = v 2 V
Notaţie: Dacă L este literal, atunci Lc :=
v dacă L = ¬v . Exemplu: Arătaţi că ✏ v1 ! (v2 ! (v1 ^ v2 )).
Propoziţia 1.71 v1 v2 v1 ! (v2 ! (v1 ^ v2 ))
V ⇣W ⌘ 0 0 1
ki
(i) Fie ' o formulă ı̂n FNC, ' = ni=1 j=1 Li,j . Atunci 0 1 1
Wn ⇣ V ki ⌘
¬' ⇠ i=1 c 1 0 1
j=1 Li,j , o formulă ı̂n FND.
W n ⇣ V ki ⌘ 1 1 1
(ii) Fie ' o formulă ı̂n FND, ' = i=1 j=1 Li,j . Atunci
V n ⇣ W ki ⌘ Acest tabel defineşte o funcţie F : {0, 1}2 ! {0, 1}
¬' ⇠ i=1 c
j=1 Li,j , o formulă ı̂n FNC. "1 "2 F ("1 , "2 )
Dem.: 0 0 1
(i) Aplicând Propoziţia⇣1.26, obţinem
⌘ W ⇣W ⌘ 0 1 1
V W ki ki 1 0 1
¬' = ¬ ni=1 L
j=1 i,j ⇠ n
¬ L i,j
W n ⇣ V ki ⌘ W i=1 ⇣V j=1 ⌘ 1 1 1
n ki c
⇠ i=1 j=1 ¬Li,j ⇠ i=1 j=1 Li,j .
(ii) Exerciţiu. 1 2
Exemplu: Pentru orice formulă ', F' este funcţie Booleană cu n este nevidă.
variabile, unde n = |Var (')|. Considerăm formula
0 1
Teorema 1.75 _ ^ ^
' := @ vi ^ ¬vi A .
Fie n 1 şi H : {0, 1}n ! {0, 1} o funcţie booleană arbitrară.
("1 ,...,"n )2T "i =1 "i =0
Atunci există o formulă ' ı̂n FND a.ı̂. H = F' .
Dem.: Dacă H("1 , . . . , "n ) = 0 pentru orice ("1 , . . . , "n ) 2 {0, 1}n , Deoarece Var (') = {v1 , . . . , vn }, avem că F' : {0, 1}n ! {0, 1}.
n_1
luăm ' := (vi ^ ¬vi ). Avem că Var (') = {v0 , . . . , vn 1 }, Demonstrăm că pentru orice ( 1 , . . . , n) 2 {0, 1}n , avem că
i=0
aşadar, F' : {0, 1}n ! {0, 1}. Cum vi ^ ¬vi este nesatisfiabilă F' ( 1 , . . . , n) = 1 () H( 1 , . . . , n) = 1,
pentru orice i, rezultă că ' este de asemenea nesatisfiabilă. Deci,
de unde va rezulta imediat că H = F' .
F' este de asemenea funcţia constantă 0.
5 6
Fie e : V ! {0, 1} a.ı̂. e(vi ) = i pentru orice i 2 {1, . . . , n}. Teorema 1.76
Atunci Fie n 1 şi H : {0, 1}n ! {0, 1} o funcţie booleană arbitrară.
W V V
e + (') = 1 () e(v ) ^ ¬ e(vi ) = 1 Atunci există o formulă ı̂n FNC a.ı̂. H = F .
W ("1 ,...,"n )2T V "i =1 i V "i =0
() ("1 ,...,"n )2T "i =1 i ^ "i =0 ¬
^ i
=1 Dem.: Dacă H("1 , . . . , "n ) = 1 pentru orice ("1 , . . . , "n ) 2 {0, 1}n ,
() există ("1 , . . . , "n ) 2 T a.ı̂. "i =1 i = 1 atunci luăm
V n^1
şi "i =0¬ i = 1 := (vi _ ¬vi ).
() există ("1 , . . . , "n ) 2 T a.ı̂. i = "i i=0
pentru orice i 2 {1, . . . , n} Altcumva, mulţimea
() ( 1 , . . . , n ) 2 T 1
F := H (0) = {("1 , . . . , "n ) 2 {0, 1}n | H("1 , . . . , "n ) = 0}
() H( 1 , . . . , n ) = 1.
este nevidă. 0 1
Prin urmare, F' ( 1 , . . . , n ) = 1 () e +1 ,..., n (') = 1 ^ _ _
() e + (') = 1 pentru orice e : V ! {0, 1} a.ı̂. e(vi ) = i Considerăm formula := @ ¬vi _ vi A.
pentru orice i 2 {1, . . . , n} () H( 1 , . . . , n ) = 1. ("1 ,...,"n )2F "i =1 "i =0
Se demonstrează că H = F (exerciţiu!).
7 8
Caracterizarea funcţiilor Booleene Forma normală conjunctivă / disjunctivă
9 10
Definiţia 1.78
O clauză este o mulţime finită de literali:
C = {L1 , . . . , Ln }, unde L1 , . . ., Ln sunt literali.
Dacă n = 0, obţinem clauza vidă ⇤ := ;. Definiţia 1.81
O clauză C este trivială dacă există un literal L a.ı̂. L, Lc 2 C .
O clauză nevidă este considerată implicit o disjuncţie.
Definiţia 1.79 Propoziţia 1.82
Fie C o clauză şi e : V ! {0, 1}. Spunem că e este model al lui C (i) Orice clauză nevidă este satisfiabilă.
sau că e satisface C şi scriem e ✏ C dacă există L 2 C a.ı̂. e ✏ L. (ii) Clauza vidă ⇤ este nesatisfiabilă.
(iii) O clauză este validă ddacă este trivială.
Definiţia 1.80
Dem.: Exerciţiu.
O clauză C se numeşte
(i) satisfiabilă dacă are un model.
(ii) validă dacă orice evaluare e : V ! {0, 1} este model al lui C .
1 2
Clauze Clauze
Propoziţia 1.85
S = {C1 , . . . , Cm } este o mulţime de clauze.
Dacă m = 0, obţinem mulţimea vidă de clauze ;.
I Dacă S conţine clauza vidă ⇤, atunci S nu este satisfiabilă.
I; este validă.
S este considerată implicit ca o formulă ı̂n FNC: conjuncţie de Dem.: Exerciţiu.
disjuncţii ale literalilor din fiecare clauză.
Exemplu
Definiţia 1.83 S = {{v1 , ¬v3 }, {¬v3 , v3 }, {v2 , v1 }, {v2 , ¬v1 , v3 }} este satisfiabilă.
Fie e : V ! {0, 1}. Spunem că e este model al lui S sau că e Dem.: Considerăm e : V ! {0, 1} a.ı̂. e(v1 ) = e(v2 ) = 1. Atunci
satisface S şi scriem e ✏ S dacă e ✏ Ci pentru orice i 2 {1, . . . , m}. e ✏ S.
Unei formule ' ı̂n FNC ı̂i asociem o mulţime de clauze S' astfel: Unei mulţimi de clauze S ı̂i asociem o formulă 'S ı̂n FNC astfel:
I C = {L1 , . . . , Ln }, n 1 7 ! 'C := L1 _ L2 _ . . . _ Ln .
Fie 0 1 I ⇤ 7 ! '⇤ := v0 ^ ¬v0 .
n
^ ki
_
' := @ Li,j A , Fie S = {C1 , . . . , Cm } o mulţime nevidă de clauze. Formula
i=1 j=1
asociată lui S este
m
^
unde fiecare Li,j este literal. Pentru orice i, fie Ci clauza obţinută 'S := 'Ci .
considerând toţi literalii Li,j , j 2 {1, . . . , ki } distincţi. Fie S' i=1
mulţimea tuturor clauzelor Ci , i 2 {1, . . . , n} distincte. Formula asociată mulţimii vide de clauze este '; := v0 _ ¬v0 .
Formula 'S nu este unic determinată, depinde de ordinea ı̂n care
S' se mai numeşte şi forma clauzală a lui '. se scriu elementele ı̂n clauze şi ı̂n S, dar se observă imediat că:
S = S 0 implică 'S ⇠ 'S 0 .
Propoziţia 1.86
Propoziţia 1.87
Pentru orice evaluare e : V ! {0, 1}, e ✏ ' ddacă e ✏ S' .
Pentru orice evaluare e : V ! {0, 1}, e ✏ S ddacă e ✏ 'S .
Dem.: Exerciţiu.
Dem.: Exerciţiu.
5 6
Rezoluţia Rezoluţia
Definiţia 1.88
Fie C1 , C2 două clauze. O clauză R se numeşte rezolvent al Exemplu
clauzelor C1 , C2 dacă există un literal L a.ı̂. L 2 C1 , Lc 2 C2 şi C1 = {v1 , v2 , ¬v5 }, C2 = {v1 , ¬v2 , v100 , v5 }.
R = (C1 \ {L}) [ (C2 \ {Lc }). I Luăm L := ¬v5 . Atunci L 2 C1 şi Lc = v5 2 C2 . Prin urmare,
R = {v1 , v2 , ¬v2 , v100 } este rezolvent al clauzelor C1 , C2 .
Regula Rezoluţiei I Dacă luăm L0 := v2 , atunci L0 2 C1 şi L0c = ¬v2 2 C2 . Prin
C1 , C2 urmare, R 0 = {v1 , ¬v5 , v100 , v5 } este rezolvent al clauzelor
Rez , L 2 C1 , Lc 2 C2 C1 , C2 .
(C1 \ {L}) [ (C2 \ {Lc })
Notăm cu Res(C1 , C2 ) mulţimea rezolvenţilor clauzelor C1 , C2 . Exemplu
I Rezoluţia a fost introdusă de Blake (1937) şi dezvoltată de C1 = {v7 }, C2 = {¬v7 }. Atunci clauza vidă ⇤ este rezolvent al
Davis, Putnam (1960) şi Robinson (1965). clauzelor C1 , C2 .
I Multe demonstratoare automate de teoreme folosesc rezoluţia.
Limbajul PROLOG este bazat pe rezoluţie.
7 8
Rezoluţie Rezoluţie
9 10
Ti 1 := {C 2 Si | xi 2 C }, Ti 0 := {C 2 Si | ¬xi 2 C }. P1.1 x1 := v3 ; T11 := {{v2 , ¬v1 , v3 }}; T10 := {{v1 , ¬v3 }}.
Pi.2 if (Ti 1 6= ; şi Ti 0 6= ;) then P1.2 U1 := {{v2 , ¬v1 , v1 }}.
P1.3 S20 := {{v2 , v1 }, {v2 , ¬v1 , v1 }}; S2 := {{v2 , v1 }}.
Ui := {(C1 \ {xi }) [ (C0 \ {¬xi }) | C1 2 Ti 1 , C0 2 Ti 0 }.
P1.4 i := 2 and go to P2.1.
else Ui := ;.
Pi.3 Definim P2.1 x2 := v2 ; T21 := {{v2 , v1 }}; T20 := ;.
0 P2.2 U2 := ;.
Si+1 := Si \ (Ti 0 [ Ti 1 ) [ Ui ;
0 0 P2.3 S3 := ;.
Si+1 := Si+1 \ {C 2 Si+1 | C trivială}.
P2.4 S este satisfiabilă.
Pi.4 if Si+1 = ; then S este satisfiabilă.
else if ⇤ 2 Si+1 then S este nesatisfiabilă.
else {i := i + 1; go to Pi.1}.
13 14
P4.1 x4 := v4 ; T41 := {{v4 }}; T40 := {{¬v4 }}. Fie N n numărul de paşi după care se termină DP. Atunci
P4.2 U4 := {⇤}. P4.3 S5 := {⇤}. SN+1 = ; sau ⇤ 2 SN+1 .
P4.4 S nu este satisfiabilă. 15 16
Algoritmul DP - corectitudine şi completitudine Algoritmul DP - corectitudine şi completitudine
Teorema 1.95
Algoritmul DP este corect şi complet, adică,
19
Limbaje de ordinul I
Definiţia 2.3
Mulţimea TrmL a termenilor lui L este intersecţia tuturor
mulţimilor de expresii care satisfac următoarele proprietăţi:
I orice variabilă este element al lui ;
Propoziţia 2.5 (Inducţia pe termeni)
I orice simbol de constantă este element al lui ; Fie o mulţime de termeni care are următoarele proprietăţi:
I conţine variabilele şi simbolurile de constante;
I dacă m 1, f 2 Fm şi t1 , . . . , tm 2 , atunci ft1 . . . tm 2 .
I dacă m 1, f 2 Fm şi t1 , . . . , tm 2 , atunci ft1 . . . tm 2 .
Notaţii:
Atunci = TrmL .
I Termeni: t, s, t1 , t2 , s1 , s2 , . . ..
I Var (t) este mulţimea variabilelor care apar ı̂n termenul t.
Este folosită pentru a demonstra că toţi termenii au o proprietate
I Scriem t(x1 , . . . , xn ) dacă x1 , . . . , xn sunt variabile şi P: definim ca fiind mulţimea tuturor termenilor care satisfac P
Var (t) ✓ {x1 , . . . , xn }. şi aplicăm inducţia pe termeni pentru a obţine că = TrmL .
Definiţia 2.4
Un termen t se numeşte ı̂nchis dacă Var (t) = ;.
5 6
Termeni Formule
Definiţia 2.6
Formulele atomice ale lui L sunt expresiile de forma:
Citire unică (Unique readability) I (s = t), unde s, t sunt termeni;
Dacă t este un termen, atunci exact una din următoarele I (Rt1 . . . tm ), unde R 2 Rm şi t1 , . . . , tm sunt termeni.
alternative are loc:
I t = x, unde x 2 V ; Definiţia 2.7
I
Mulţimea FormL a formulelor lui L este intersecţia tuturor
t = c, unde c 2 C;
mulţimilor de expresii care satisfac următoarele proprietăţi:
I t = ft1 . . . tm , unde f 2 Fm (m 1) şi t1 , . . . , tm sunt
I orice formulă atomică este element al lui ;
termeni.
I este ı̂nchisă la ¬: dacă ' 2 , atunci (¬') 2 ;
Mai mult, scrierea lui t sub una din aceste forme este unică.
I este ı̂nchisă la !: dacă ', 2 , atunci (' ! ) 2 ;
I este ı̂nchisă la 8x (pentru orice variabilă x): dacă ' 2 ,
atunci (8x') 2 pentru orice variabilă x.
7 8
Formule Formule
9 10
Formule Formule
11 12
Formule Notaţii
Convenţii
I În practică, renunţăm la parantezele exterioare, le punem De multe ori identificăm un limbaj L cu mulţimea simbolurilor sale
numai atunci când sunt necesare. Astfel, scriem ¬', ' ! , non-logice şi scriem L = (R, F, C).
dar scriem (' ! ) ! .
I Pentru a mai reduce din folosirea parantezelor, presupunem că I Scriem de multe ori f (t1 , . . . , tm ) ı̂n loc de ft1 . . . tm şi
I ¬ are precedenţă mai mare decât ceilalţi conectori; R(t1 , . . . , tm ) ı̂n loc de Rt1 . . . tm .
I ^, _ au precedenţă mai mare decât !, $.
I Pentru simboluri f de operaţii binare scriem t1 ft2 ı̂n loc de
I Prin urmare, formula (((' ! ( _ )) ^ ((¬ ) $ ( _ ))) ft1 t2 .
va fi scrisă (' ! _ ) ^ (¬ $ _ ). I Analog pentru simboluri R de relaţii binare: scriem t1 Rt2 ı̂n
I Cuantificatorii 8, 9 au precedenţă mai mare decât ceilalţi loc de Rt1 t2 .
conectori.
I Aşadar, 8x' ! este (8x') ! şi nu 8x(' ! ).
13 14
Definiţia 2.9
L= = (R, F, C), unde
O L-structură este un cvadruplu
I R=F =C=;
A A A
A = (A, F , R , C ) I acest limbaj este potrivit doar pentru a exprima proprietăţi ale
egalităţii
unde
I L= -structurile sunt mulţimile nevide
I A este o mulţime nevidă;
I F A = {f A | f 2 F} este o mulţime de operaţii pe A; dacă f Exemple de formule:
are aritatea m, atunci f A : Am ! A; • egalitatea este simetrică:
I RA = {R A | R 2 R} este o mulţime de relaţii pe A; dacă R
are aritatea m, atunci R A ✓ Am ; 8x8y (x = y ! y = x)
I C A = {c A 2 A | c 2 C}.
• universul are cel puţin trei elemente:
I A se numeşte universul structurii A. Notaţie: A = |A|
I f A (respectiv R A , c A ) se numeşte denotaţia sau interpretarea 9x9y 9z(¬(x = y ) ^ ¬(y = z) ^ ¬(z = x))
lui f (respectiv R, c) ı̂n A. 15 16
Exemple - Limbajul aritmeticii Lar Exemplu - Limbajul cu un simbol de relaţie binar
21 22
23 24
Relaţia de satisfacere Relaţia de satisfacere
Relaţia de satisfacere
Corolarul 2.15
(i) A ✏ (' ^ )[e] () A ✏ '[e] şi A ✏ [e].
(ii) A ✏ (' _ )[e] () A ✏ '[e] sau A ✏ [e].
(iii) A ✏ (' $ )[e] () A ✏ '[e] ddacă A ✏ [e].
(iv) A ✏ (9x')[e] () există a 2 A a.ı̂. A ✏ '[ex a ].
27
Semantică Semantică
A ✏ '[e]. Spunem şi că A satisface ' sau că A este un model al lui '.
Notaţie: A ✏ '
Spunem şi că (A, e) este un model al lui '.
Definiţia 2.18
Atenţie! Este posibil ca atât ' cât şi ¬' să fie satisfiabile. Spunem că ' este formulă universal adevărată sau (logic) validă
Exemplu: ' := x = y ı̂n L= . dacă pentru orice L-structură A,
A ✏ '.
1
Notaţie: ✏ ' 2
Definiţia 2.24
Fie ' o formulă a lui L şi x o variabilă.
Notaţie: FV (') := mulţimea variabilelor libere ale lui '.
I O apariţie a lui x ı̂n ' se numeşte legată ı̂n ' dacă x apare
ı̂ntr-o subexpresie a lui ' de forma 8x sau 9x , unde este Definiţie alternativă
o formulă; Mulţimea FV (') a variabilelor libere ale unei formule ' poate fi
I O apariţie a lui x ı̂n ' se numeşte liberă ı̂n ' dacă nu este definită şi prin inducţie pe formule:
legată ı̂n '. FV (') = Var ('), dacă ' este formulă atomică;
I x este variabilă legată (bounded variable) a lui ' dacă x are
FV (¬') = FV (');
cel puţin o apariţie legată ı̂n '.
I x este variabilă liberă (free variable) a lui ' dacă x are cel FV (' ! ) = FV (') [ FV ( );
puţin o apariţie liberă ı̂n '. FV (8x') = FV (') \ {x}.
Propoziţia 2.26
Pentru orice L-structură A, orice interpretări e1 , e2 : V ! A,
pentru orice formulă ',
Propoziţia 2.25 dacă e1 (v ) = e2 (v ) pentru orice variabilă v 2 FV ('), atunci
A ✏ '[e1 ] () A ✏ '[e2 ].
Pentru orice L-structură A şi orice interpretări e1 , e2 : V ! A,
pentru orice termen t, Dem.: Suplimentar - nu trebuie citită pentru examen Aplicăm
dacă e1 (v ) = e2 (v ) pentru orice variabilă v 2 Var (t), atunci inducţia pe formule. Avem următoarele cazuri:
t A (e1 ) = t A (e2 ). • ' = t 1 = t2 .
Atunci Var (t1 ) ✓ FV ('), Var (t2 ) ✓ FV ('), deci putem aplica
Propoziţia 2.25 pentru a conclude că
t1A (e1 ) = t1A (e2 ), t2A (e1 ) = t2A (e2 ).
Rezultă
A ✏ '[e1 ] () t1A (e1 ) = t2A (e1 ) () t1A (e2 ) = t2A (e2 )
() A ✏ '[e2 ].
9 10
• ' = Rt1 . . . tm .
Atunci Var (ti ) ✓ FV (') pentru orice i = 1, . . . , m, deci putem
aplica Propoziţia 2.25 pentru a conclude că • '= ! .
tiA (e1 ) = tiA (e2 ) pentru orice i = 1, . . . , m. Deoarece FV ( ), FV ( ) ✓ FV ('), putem aplica ipoteza de
Rezultă inducţie pentru a conclude că
• '=¬ . A ✏ '[e1 ] () A ✏
6 [e1 ] sau A ✏ [e1 ]
Deoarece FV ( ) = FV ('), putem aplica ipoteza de inducţie () A ✏
6 [e2 ] sau A ✏ [e2 ]
pentru a conclude că () A ✏ '[e2 ].
A ✏ [e1 ] () A ✏ [e2 ].
Rezultă
A ✏ '[e1 ] () A ✏
6 [e1 ] () A ✏
6 [e2 ] () A ✏ '[e2 ].
11 12
Interpretarea termenilor Echivalenţe şi consecinţe logice
Enunţuri
Definiţia 2.28
O formulă ' se numeşte enunţ (sentence) dacă FV (') = ;, adică
' nu are variabile libere.
Notaţie: SentL := mulţimea enunţurilor lui L.
Propoziţia 2.29
Fie ' un enunţ. Pentru orice interpretări e1 , e2 : V ! A,
A ✏ '[e1 ] () A ✏ '[e2 ]
Dem.: Este o consecinţă imediată a Propoziţiei 2.26 şi a faptului
că FV (') = ;.
Definiţia 2.30
O L-structură A este un model al lui ' dacă A ✏ '[e] pentru o
(orice) evaluare e : V ! A. Notaţie: A ✏ '
15
Substituţia Substituţia
Substituţia Substituţia
Propoziţia 2.36
Pentru orice termeni u1 şi u2 şi orice variabilă x,
(i) pentru orice termen t,
✏ u1 = u2 ! tx (u1 ) = tx (u2 ). În general, dacă x si y sunt variabile, ' şi 'x (y ) nu sunt logic
(ii) pentru orice formulă ' a.ı̂. x este liberă pentru u1 şi u2 ı̂n ', echivalente: fie Lar , N şi e : V ! N a.ı̂.
e(x) = 3, e(y ) = 5, e(z) = 4. Atunci
✏ u1 = u2 ! ('x (u1 ) $ 'x (u2 )).
Propoziţia 2.37 N ✏ (x <z)[e],
˙ dar N 6✏ (x <z)
˙ x (y )[e].
Fie ' o formulă şi x o variabilă. Totuşi, variabilele legate pot fi substituite, cu condiţia să se evite
(i) Pentru orice termen u substituibil pentru x ı̂n ', conflicte.
✏ 8x' ! 'x (u), ✏ 'x (u) ! 9x'.
(ii) ✏ 8x' ! ', ✏ ' ! 9x'.
(iii) Pentru orice simbol de constantă c,
✏ 8x' ! 'x (c), ✏ 'x (c) ! 9x'. 5 6
Substituţia Substituţia
Definiţia 2.39
Propoziţia 2.38 Pentru orice formulă ' şi orice variabile y1 , . . . , yk , varianta
Pentru orice formulă ', variabile distincte x şi y a.ı̂. y 2
/ FV (') si
¸ y1 , . . . , yk -liberă '0 a lui ' este definită recursiv astfel:
y este substituibil pentru x ı̂n ', I dacă ' este formulă atomică, atunci '0 este ';
9x' ✏ 9y 'x (y ) şi 8x' ✏ 8y 'x (y ). I dacă ' = ¬ , atunci '0 este ¬ 0 ;
I dacă ' = ! , atunci '0 este 0 ! 0;
Folosim Propoziţia 2.38 astfel: dacă 'x (u) nu este substituţie I dacă ' = 8z , atunci
(
liberă (i.e. x nu este liberă pentru u ı̂n '), atunci ı̂nlocuim ' cu o 8w 0
z (w ) dacă z 2 {y1 , . . . , yk }
0
' este
formulă '0 logic echivalentă a.ı̂. '0x (u) este substituţie liberă. 8z 0 altfel;
unde w este prima variabilă din şirul v0 , v1 , . . . , care nu apare
ı̂n 0 şi nu este printre y1 , . . . , yk .
7 8
Substituţia Forma normală prenex
Definiţia 2.42
O formulă care nu conţine cuantificatori se numeşte liberă de
Definiţia 2.40 cuantificatori (”quantifier-free”).
'0 este variantă a lui ' dacă este varianta y1 , . . . , yk -liberă a lui ' Definiţia 2.43
pentru anumite variabile y1 , . . . , yk . O formulă ' este ı̂n formă normală prenex dacă
Fie ' o formulă şi t1 , . . . , tn termeni care nu conţin variabile din '.
Notăm cu 'x1 ,...,xn (t1 , . . . , tn ) formula obţinută din ' substituind Teorema de formă normală prenex 2.44
toate apariţiile libere ale lui x1 , . . . , xn cu t1 , . . . , tn respectiv. Pentru orice formulă ' există o formulă '⇤ ı̂n formă normală
Notaţii: 8c = 9, 9c = 8. prenex a.ı̂. ' ✏ '⇤ şi FV (') = FV ('⇤ ).
Teorema de formă normală prenex 2.44 Dem.: (continuare) • ' = ! şi, conform ipotezei de
Pentru orice formulă ' există o formulă '⇤ ı̂n formă normală inducţie, există formulele ı̂n formă normală prenex
prenex a.ı̂. ' ✏ '⇤ şi FV (') = FV ('⇤ ). ⇤ = Q1 x1 . . . Qn xn 0,
⇤ = S1 z1 . . . Sm zm 0
Dem.: Aplicăm inducţia pe formule. Avem următoarele cazuri:
a.ı̂. ✏ ⇤,
FV ( ) = FV ( ✏
⇤ ), ⇤
şi FV ( ) = FV ( ⇤ ).
• ' este formulă atomică. Atunci '⇤ := '.
Notăm cu V0 mulţimea tuturor variabilelor care apar ı̂n ⇤ sau ⇤ .
• ' = ¬ şi, conform ipotezei de inducţie, există o formulă
Fie ˜⇤ (resp. ˜⇤ ) varianta V0 -liberă a lui ⇤ (resp. ⇤ ). Atunci
⇤ = Q x ...Q x
1 1 n n 0 ı̂n formă normală prenex a.ı̂. ✏ ⇤ şi
FV ( ) = FV ( ⇤ ). Definim ˜⇤ = Q1 y1 . . . Qn yn ˜0 , ˜⇤ = S1 w1 . . . Sm wm ˜0 ,
⇤
' := Q1c x1 . . . Qnc xn ¬ 0 .
unde y1 , . . . , yn , w1 , . . . , wm sunt variabile care nu apar ı̂n V0 ,
Atunci '⇤ este ı̂n formă normală prenex, '⇤ ✏ ¬ ⇤ ✏ ¬ = ' şi ˜0 = 0 x ,...,x (y1 , . . . , yn ) şi ˜0 = 0 z ,...,z (w1 , . . . , wm ).
1 n 1 m
FV ('⇤ ) = FV ( ⇤ ) = FV ( ) = FV ('). 11 12
Forma normală prenex Forma normală prenex