Sunteți pe pagina 1din 65

Ce este logica?

logiké tékhné = ştiinţa raţionamentelor; logos = cuvânt,


raţionament
Logică Matematică şi Aristotel (IV ı̂.e.n.)
Computaţională I http://plato.stanford.edu/
Anul I, Semestrul I 2017/2018
entries/aristotle-logic/
Laurenţiu Leuştean I primul studiu formal al logicii
Pagina web: http://unibuc.ro/~lleustean/ I a studiat silogismele, deducţii
formate din două premize şi o
concluzie.
Barbara
Premiză Toţi oamenii sunt muritori.
În prezentarea acestui curs sunt folosite parţial slideurile Ioanei Leuştean Premiză Grecii sunt oameni.
din Semestrul I 2014/2015. Concluzie Deci grecii sunt muritori.
1 2

Logică şi Informatică Gottfried Wilhelm Leibniz (1646 -1716)

Visul lui Leibniz


”... a computing machine is I un limbaj matematic universal (lingua characteristica
really a logic machine. Its circuits universalis) ı̂n care toată cunoaşterea umană poate fi
embody the distilled insights of a exprimată şi reguli de calcul (calculus ratiocinator) pentru a
remarkable collection of logicians, deriva, cu ajutorul maşinilor, toate relaţiile logice:
developed over century.
Nowadays, as computer
technology advances with such ”If controversies were to arise,
breathtaking rapidity, as we there would be no more need of
admire the truly accomplishments disputation between two
of the engineers, it is all too easy philosophers than between two
to overlook the logicians whose accountants. For it would suffice
ideas made it all possible. This to take their pencils in their
book tells their story.” hands, and say to each other:
Calculemus - Let us calculate.”
3 4
George Boole (1815-1864) Gottlob Frege (1848-1925)

I The Mathematical Analysis of Logic (1847), The Laws of Begri↵schrift (1879)


Thought (1854): a iniţiat analiza raţionamentelor logice prin I A introdus sintaxa formală: obiecte, predicate, funcţii;
metode asemănătoare calculului algebric. conectori propoziţionali; cuantificatori.
I Silogismele lui Aristotel sunt despre clase de obiecte, care pot I A inventat logica de ordinul ı̂ntâi.
fi studiate algebric. I van Heijenoort, From Frege to Godel, 1967:
“perhaps the most important single work ever written in
”The design of the following
logic.”
treatise is to investigate the
fundamental laws of the
operations of the mind by which
reasoning is performed; to give Exemplu:
expressions to them in the I Toţi oamenii sunt muritori.
symbolic language of calculus, I Pentru orice x, dacă x este
and upon this foundation to om, atunci x este muritor.
establish the science of logic and
I 8x(Om(x) ! Muritor (x)).
constructs its methods.”
5 6

Georg Cantor (1848-1925) Georg Cantor (1848-1925)

I A inventat teoria mulţimilor.


I Aristotel: “Infinitum Actu Non Datur” - nu există infinit
I A definit numerele cardinale, ordinale. actual.
I A dezvoltat o teorie matematică a infinitului. I Leibniz: “I am so in favor of the actual infinite that instead of
admitting that Nature abhors it, I hold that Nature makes
frequent use of it everywhere.”
I Gauss: “I protest above all the use of an infinite quantity as a
completed one, which in mathematics is never allowed.“
I Frege: ”For the infinite will eventually refuse to be excluded
Hilbert: from arithmetics . . . Thus we can foresee that this issue will
”No one shall be able to expel us provide for a momentous and decisive battle.“
I Poincaré: ”grave disease infecting mathematics”.
from the paradise that Cantor
I Kronecker despre Cantor: “scientific charlatan”, “corrupter of
created for us.“
youth”
I Wittgenstein: “utter nonsense”
I Mittag-Le✏er despre lucrările lui Cantor: “about one hundred
7
years too soon.” 8
Criza fundamentelor matematicii Criza fundamentelor matematicii

Conform teoriei naive a mulţimilor, orice colecţie definibilă este


Scrisoarea lui Bertrand Russell către Frege (16 iunie, 1902): mulţime. Fie U mulţimea tuturor mulţimilor.

“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

David Hilbert (1862-1943) Programul lui Hilbert

Programul lui Hilbert (1921)


I unul dintre matematicienii
de vârf ai generaţiei sale Să se formalizeze matematica şi să se stabilească următoarele:
I I Matematica este consistentă: un enunţ matematic şi negaţia
unul dintre fondatorii teoriei
demonstraţiei şi logicii sa nu pot fi demonstrate simultan.
matematice I Matematica este completă: toate enunţurile matematice
I lista sa de 23 probleme adevărate pot fi demonstrate.
deschise (1902) a influenţat I Matematica este decidabilă: există o regulă mecanică pentru a
foarte mult matematica determina dacă un enunţ matematic dat este adevărat sau fals
secolului XX

11 12
Programul lui Hilbert Kurt Gödel (1906-1978)

Teoremele de incompletitudine ale lui Gödel (1931-33)


I Incompletitudinea aritmeticii obişnuite.
Hilbert a fost convins că aceste obiective pot fi atinse:
I Imposibilitatea de a demonstra consistenţa teoriei mulţimilor.
”Every mathematical problem must necessarily be susceptible to an I Au marcat eşecul programului lui Hilbert.
exact statement either in the form of an actual answer to the
question asked, or by the proof of the impossibility of its solution”.
I Este considerat cel mai mare logician al
”Once a logical formalism is established one can expect that a secolului XX.
systematic, so-to-say computational, treatment of logic formulas is I A introdus funcţiile calculabile.
possible, which would somewhat correspond to the theory of I A demonstrat teorema de completitudine
equations in algebra.” a logicii de ordinul l.
I A demonstrat că Axioma Alegerii şi
Ipoteza Continuumului sunt consistente
cu axiomele teoriei mulţimilor.
13 14

Kurt Gödel (1906-1978) Problema de decizie (Entscheidungsproblem)

John von Neumann:


“Kurt Gödel’s achievement in modern logic is singular and
monumental - indeed it is more than a monument, it is a landmark I Hilbert şi Ackermann (1928): Există un algoritm pentru a
which will remain visible far in space and time .... The subject of verifica dacă o anumită formulă din logica de ordinul ı̂ntâi este
logic has certainly completely changed its nature and possibilities adevărată?
with Gödel’s achievement.”
I Cu alte cuvinte: Este logica de ordinul ı̂ntâi decidabilă?
Revista TIME (19 martie 1999)
Gödel a fost inclus in lista cu cei mai importanţi 20 oameni de
ştiinţă şi gânditori ai secolului XX.

15 16
Alan Turing(1912-1954) Alan Turing(1912-1954)

Turing, On computable numbers, with an application to the


Entscheidungsproblem, Proc. London Math. Soc. 42 (1936). Revista TIME (19 martie 1999)
Turing a fost inclus in lista cu cei mai importanţi 20 oameni de
I a demonstrat că logica de ordinul ı̂ntâi este nedecidabilă ştiinţă şi gânditori ai secolului XX:
(rezultat obţinut independent de Church (1936)).
I a introdus maşina Turing (universală) pentru a formaliza “Virtually all computers today from 10 million supercomputers to
noţiunea de algoritm. the tiny chips that power cell phones and Furbies, have one thing
in common: they are all ”von Neumann machines“, variations on
the basic computer architecture that John von Neumann, building
on the work of Alan Turing, laid out in the 1940’s.
I părintele informaticii şi Premiul Turing
inteligenţei artificiale
I http://amturing.acm.org/
I maşina Turing universală
I decernat anual de către Association for Computing Machinery
este model al calculatoarelor
(ACM) pentru contribuţii ı̂n informatică
actuale
I este considerat un Premiu Nobel pentru Informatică
17 18

Logică şi Informatică Logică şi Informatică

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

Grigore C. Moisil (1906-1973)


Computer Pioneer Award of IEEE Computer Society

S. Marcus, Grigore C. Moisil: A life becoming


a myth, 2006. PRELIMINARII
”As a professor of the Bucharest University, he
was the first to teach there mathematical
logic. Articulating logic and automata, Moisil
was well prepared to organize the Romanian
development in the emergent field of
Computer Science...we can say that 1957 is
the date of birth of Romanian Computer
Science, under the guidance of Professor
Moisil and with the collaboration of engineers
and mathematicians.”
21 22

Operaţii cu mulţimi Produsul cartezian

Fie A, B, T mulţimi a.ı̂. A, B ✓ T .


Notăm cu (a, b) perechea ordonată formată din a şi b (care sunt
A [ B = {x 2 T | x 2 A sau x 2 B} componentele lui (a, b)).
A \ B = {x 2 T | x 2 A şi x 2 B}
Observaţii: dacă a 6= b, atunci (a, b) 6= (b, a); (a, b) 6= {a, b};
A \ B = {x 2 T | x 2 A şi x 2
/ B} (7, 7) este o pereche ordonată validă; două perechi ordonate (a, b)
CT A = T \ A = {x 2 T | x 62 A} şi (c, d) sunt egale ddacă a = c şi b = d. În teoria mulţimilor,
(a, b) se defineşte ca fiind mulţimea {{a}, {a, b}}.
CT A se mai notează şi A când T este clar din context.
Notaţii: N = {0, 1, 2, . . .} este mulţimea numerelor naturale; Definiţie
N⇤ = N \ {0}; Z este mulţimea numerelor ı̂ntregi; R este mulţimea Produsul cartezian a două mulţimi A şi B este definit astfel:
numerelor reale; Q este mulţimea numerelor raţionale.
A ⇥ B = {(a, b) | a 2 A şi b 2 B}
Mulţimea părţilor lui T este P(T ) = {A | A ✓ T }. Se mai notează
şi 2T . Exerciţiu.
Exemplu. P(;) = {;}, P({;}) = {;, {;}}, A ⇥ (B [ C ) = (A ⇥ B) [ (A ⇥ C )
P({;, {;}}) = {;, {;}, {{;}}, {;, {;}}}. A ⇥ (B \ C ) = (A ⇥ B) \ (A ⇥ C )
23 24
Relaţii binare Operaţii cu relaţii

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}.

Exemple I Dacă R ✓ A ⇥ B şi Q ✓ B ⇥ C , atunci compunerea lor


I |✓ N ⇥ N Q R ✓ A ⇥ C este definită astfel:

| = {(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}.

I Diagonala lui A este A = {(a, a) | a 2 A}.


I <✓ N ⇥ N Exerciţiu
I Compunerea relaţiilor este asociativă.
< = {(k, n) | există m 2 N a.ı̂. m 6= 0 şi m + k = n}
I Dacă R ✓ A ⇥ B atunci R A = R şi B R = R.
25 26
Funcţii Funcţii

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

Funcţii Funcţia caracteristică

Fie f : A ! B şi g : B ! C două funcţii. Compunerea lor g f Definiţie


este definită astfel: Fie A, T mulţimi a.ı̂. A ✓ T . Funcţia caracteristică a lui A ı̂n
g f : A ! C , (g f )(x) = g (f (x)) pentru orice x 2 A. raport cu T este definită astfel: (
1, dacă x 2 A
Funcţia identică a lui A: 1A : A ! A, 1A (x) = x. A : T ! {0, 1}, A (x) =
0, dacă x 2 /A
Definiţie
O funcţie f : A ! B este inversabilă dacă există g : B ! A astfel Proprietăţi
ı̂ncât g f = 1A şi f g = 1B . Dacă A, B ✓ T şi x 2 T atunci
Exerciţiu. O funcţie este bijectivă ddacă este inversabilă. A\B (x) = min{ A (x), B (x)} = A (x) · B (x)

A[B (x) = max{ A (x), B (x)} = A (x) + B (x) A (x) · B (x)


Definiţie
Spunem că A este echipotentă cu B dacă există o bijecţie A (x) = 1 A (x).

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

i2I Exerciţiu. Fie I , J mulţimi nevide. Atunci


\ [ [ [ \ \ \
Ai = {x 2 T | x 2 Ai pentru orice i 2 I } Ai ⇥ Bj = Ai ⇥Bj şi Ai ⇥ Bj = Ai ⇥Bj .
i2I
i2I j2J (i,j)2I ⇥J i2I j2J (i,j)2I ⇥J
5 6

I = {1, . . . , n} Bună ordonare şi inducţie

Fie n număr natural, n 1, I = {1, . . . , n} şi A1 , . . ., An ✓ T . Principiul bunei ordonări


I (xi )i2I = (x1 , . . . , xn ), un n-tuplu (ordonat) Orice submulţime nevidă a lui N are un cel mai mic element.
[ [n \ \n
I Ai = Ai şi Ai = Ai Principiul inducţiei
i2I i=1 i2I i=1 Fie S ✓ N astfel ı̂ncât:
Y Yn
(i) 0 2 S şi
I Ai = Ai = A1 ⇥ · · · ⇥ An şi An = A
| ⇥ ·{z
· · ⇥ A}
(ii) pentru orice n 2 N, dacă n 2 S, atunci n + 1 2 S.
i2I i=1 n
Atunci S = N.
Definiţie Dem.: Fie S ✓ N a.ı̂. (i) şi (ii) sunt adevărate. Presupunem că
O relaţie n-ară S 6= N, deci N \ S 6= ;. Fie n0 cel mai mic element din N \ S. Din
Qn ı̂ntre A1 , . . ., An este o submulţime a produsului
cartezian i=1 Ai . (i) rezultă că n0 6= 0. Deoarece n0 1 2 S, din (ii) rezultă că
O relaţie n-ară pe A este o submulţime a lui An . Dacă R este n0 2 S. Am obţinut o contradicţie. Prin urmare, S = N.
relaţie n-ară, spunem că n este aritatea lui R. Observaţie
7
Principul bunei ordonări şi principiul inducţiei sunt echivalente. 8
Principiul inducţiei (forma tare) Principiul inducţiei

Fie P : N ! {0, 1} un predicat (o proprietate). P(n) = 1 ı̂nseamnă


că P(n) este adevărat.
Principiul inducţiei (forma tare) Principiul inducţiei
Fie S ✓ N astfel ı̂ncât: I Pasul iniţial. Verificăm că P(0) = 1.
(i) 0 2 S şi I Ipoteza de inducţie. Presupunem că P(n) = 1, unde n 2 N.
(ii) pentru orice n 2 N, dacă {0, 1, . . . , n} ✓ S, atunci n + 1 2 S. I Pasul de inducţie. Demonstrăm că P(n + 1) = 1.
Atunci S = N.
Concluzie: P(n) = 1 pentru orice n 2 N.
Dem.: Aplicăm Principiul inducţiei pentru
Principiul inducţiei (forma tare)
S 0 = {n 2 N | {0, . . . , n} ✓ S}.
I Pasul iniţial. Verificăm că P(0) = 1.
Obţinem S0
= N. Rezultă că, pentru orice n 2 N, {0, . . . , n} ✓ S, I Ipoteza de inducţie. Presupunem că P(k) = 1 pentru orice
deci n 2 S. Prin urmare, S = N. k  n, unde n 2 N.
I Pasul de inducţie. Demonstrăm că P(n + 1) = 1.
9 Concluzie: P(n) = 1 pentru orice n 2 N. 10

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 }

Atunci D este diferit de fiecare Ra . şi aplicăm Principiul diagonalizării. Astfel,

Dem.: Presupunem că există a 2 A astfel ı̂ncât D = Ra . Sunt D = {n 2 N | (n, n) 2


/ R} = {n 2 N | n 2
/ Sn },
posibile două cazuri: Ri = {j 2 N | (i, j) 2 R} = {j 2 N | j 2 Si } = Si , i 2 N.
I a 2 D. Rezultă că (a, a) 2/ R, deci a 2
/ Ra = D. Contradicţie. Deoarece D ✓ N şi f este bijecţie, există k 2 N a.ı̂. D = f (k) =
I a2 / D. Rezultă că (a, a) 2 R, deci a 2 Ra = D. Contradicţie. = Sk = Rk . Pe de altă parte, conform Principiului diagonalizării,
Prin urmare, D 6= Ra pentru orice a 2 A. D 6= Ri pentru orice i 2 N. Am obţinut o contradicţie.
1 2

Relaţii binare Relaţii de echivalenţă

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

Fie A o mulţime nevidă.


Definiţie
O partiţie a lui A este o familie (Ai )i2I de submulţimi nevide ale lui
A care verifică proprietăţile:
S
A = i2I Ai şi Ai \ Aj = ; pentru orice i 6= j.
Partiţia (Ai )i2I se numeşte finită dacă I este finită.

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

Mulţimi parţial ordonate Mulţimi parţial ordonate

Fie (A, ) o mulţime parţial ordonată şi ; =


6 S ✓ A.

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

Fie (A, ) o mulţime parţial ordonată şi ; =


6 S ✓ A. Fie (A, ) o mulţime parţial ordonată.
Definiţie Definiţie
Un element e 2 A se numeşte Spunem că (A, ) este mulţime bine ordonată dacă orice
I majorant al lui S dacă a  e pentru orice a 2 S; submulţime nevidă a lui A are minim. În acest caz,  se numeşte
I minorant al lui S dacă e  a pentru orice a 2 S; relaţie de bună ordonare pe A.
I supremumul lui S, notat sup S, dacă e este cel mai mic Exemple
majorant al lui S; (N, ) este bine ordonată, dar (Z, ) nu este bine ordonată.
I infimumul lui S, notat inf S, dacă e este cel mai mare
minorant al lui S. Observaţie
Proprietăţi Orice mulţime bine ordonată este total ordonată.
I Atât mulţimea majoranţilor, cât şi mulţimea minoranţilor lui S Definiţie
pot fi vide.
(A, ) se numeşte inductiv ordonată dacă orice submulţime total
I Atât supremumul, cât şi infimumul lui S sunt unice (dacă
ordonată a sa admite un majorant.
există).
5 6

Axioma alegerii Axioma alegerii

I Gödel (1940) a demonstrat că axioma alegerii este consistentă


Axioma alegerii (ı̂n engleză Axiom of Choice) (AC)
cu ZF.
Dacă (Ai )i2I este o familie de mulţimi nevide, atunci există o I Cohen (1963) a demonstrat că negaţia axiomei alegerii este
funcţie fC care asociază la fiecare i 2 I un element fC (i) 2 Ai . consistentă cu ZF. Prin urmare, axioma alegerii este
I
independentă de ZF. Cohen a primit ı̂n 1966 Medalia Fields.
formulată de Zermelo (1904)
I a provocat discuţii aprinse datorită caracterului său Teoremă
neconstructiv: nu există nicio regulă pentru a construi funcţia Următoarele afirmaţii sunt echivalente cu Axioma alegerii:
alegere fC . I Lema lui Zorn Orice mulţime inductiv ordonată are un
element maximal.
Reformulare I Principiul bunei ordonări: Orice mulţime nevidă X poate fi
Următoarea afirmaţie este echivalentă cu Axioma alegerii:
Q bine ordonată (adică, pentru orice X există o relaţie binară 
Dacă (Ai )i2I este o familie de mulţimi nevide, atunci i2I Ai este pe X a.ı̂. (X , ) este mulţime bine ordonată).
o mulţime nevidă.
H. Rubin, J. Rubin, Equivalents of the Axiom of Choice II, North
Holland, Elsevier, 1985
7 8
Cardinale Cardinale

I O mulţime se numeşte finită dacă are un număr finit de


I | A |=| B | ddacă A şi B sunt echipotente.
elemente. O mulţime care nu este finită se numeşte infinită.
I Cardinalul unei mulţimi finite este numărul său de elemente.
I Numărul elementelor unei mulţimi finite A se notează | A | şi
Cardinalele transfinite sunt cardinalele mulţimilor infinite.
se mai numeşte şi cardinalul lui A.
I | N | se notează @0 (se citeşte alef zero).
Numerele cardinale sau cardinalele sunt o generalizare a numerelor I | R | se notează c şi se mai numeşte şi puterea continuumului.
naturale, ele fiind folosite pentru a măsura dimensiunea unei I O mulţime A este numărabilă ddacă | A |= @0 .
mulţimi; au fost introduse de Cantor. I | 2N |6= @0 .
Există o definiţie riguroasă ı̂n teoria mulţimilor a cardinalului unei
I | 2N |= c.
mulţimi, datorată lui von Neumann. Pentru orice mulţime A,
cardinalul lui A, notat | A |, este tot o mulţime. Colecţia tuturor
cardinalelor nu este mulţime, ci clasă.

9 10

Cardinale Ipoteza continuumului (CH)

Definim următoarea relaţie pe clasa tuturor cardinalelor: pentru


orice două mulţimi A, B,
Ipoteza continuumului (Continuum Hypothesis (CH))
| A || B | () există f : A ! B funcţie injectivă.
Nu există nicio mulţime S a.ı̂. @0 <| S |< c.
Teorema Cantor-Schröder-Bernstein m
@
2 = @1 .
0
Dacă există două funcţii injective f : A ! B şi g : B ! A, atunci
A şi B sunt echipotente. Altfel scris, dacă | A || B | şi
I avansată de Cantor ı̂n 1878.
| B || A |, atunci | A |=| B |.
I prima problemă din lista lui Hilbert de 23 probleme prezentate
Proprietăţi ı̂n 1900.
I  este o relaţie de ordine totală. I Gödel (1940) a demonstrat că (CH) este consistentă cu ZFC.
I Orice cardinal are un unic succesor, adică pentru orice cardinal I Cohen (1963) a demonstrat că negaţia lui (CH) este
 există un unic cardinal + a.ı̂.  < + şi nu există consistentă cu ZFC. Prin urmare, (CH) este independentă de
cardinale ⌫ a.ı̂.  < ⌫ < + . ZFC.
I @0 este cel mai mic cardinal transfinit. Succesorul lui @0 se
notează @1 . 11 12
Logica propoziţională - informal

Limbajul logicii propoziţionale este bazat pe propoziţii sau enunţuri


declarative, despre care se poate argumenta ı̂n principiu că sunt
adevărate sau false.
Propoziţii declarative
LOGICA PROPOZIŢIONALĂ I Suma numerelor 2 şi 4 este 6.
I Mihai Eminescu a fost un scriitor român.
I Maria a reacţionat violent la acuzaţiile lui Ion.
I Orice număr natural par > 2 este suma a două numere prime.
(Conjectura lui Goldbach).
I Andrei este deştept.
I Marţienilor le place pizza.

Propoziţii care nu sunt declarative


I Poţi să ı̂mi dai, te rog, pâinea?
13 I Pleacă! 14

Logica propoziţională - informal Logica propoziţională - informal

Considerăm anumite propoziţii ca find atomice şi le notăm


p, q, r , . . . sau p1 , p2 , p3 , . . ..
Exemple: p=Numărul 2 este par. q=Mâine plouă. r =Sunt obosit.
Exemplu:
Pornind de la propoziţiile atomice, putem crea propoziţii complexe Fie propoziţia:
(notate ', , , · · · ) folosind conectorii logici ¬ (negaţia), !
(implicaţia), _ (disjuncţia), ^ (conjuncţia), $ (echivalenţa). '=Azi este marţi, deci avem curs de logică.
Exemple: Considerăm propoziţiile atomice
¬p = Numărul 2 nu este par.
p_q = Numărul 2 este par sau mâine plouă. p=Azi este marţi. q=Avem curs de logică.
p^q = Numărul 2 este par şi mâine plouă. Atunci ' = p ! q. Cine este ¬'?
p!q = Dacă numărul 2 este par, atunci mâine plouă.
p$q = Numărul 2 este par dacă şi numai dacă mâine plouă. ¬' = p ^ (¬q)=Azi este marţi şi nu avem curs de logică.

Putem aplica repetat conectorii pentru a obţine propoziţii şi mai


complexe. Pentru a elimina ambiguităţile, folosim parantezele (, ).
Exemplu: ' = (p ^ q) ! ((¬r ) _ q) 15 16
Logica propoziţională - informal Logica propoziţionala LP - Limbajul

Exemplu: Definiţia 1.1


Fie propoziţia: Limbajul logicii propoziţionale LP este format din:
'=Dacă trenul ı̂ntârzie şi nu sunt taxiuri la gară, atunci Ion I o mulţime numărabilă V = {vn | n 2 N} de variabile;
ı̂ntârzie la ı̂ntâlnire.
I conectori logici: ¬ (se citeşte non), ! (se citeşte implică)
Considerăm propoziţiile atomice
I paranteze: ( , ).
p = Trenul ı̂ntârzie.
q = Sunt taxiuri la gară.
r = Ion ı̂ntârzie la ı̂ntâlnire. • Mulţimea Sim a simbolurilor lui LP este
Atunci ' = (p ^ (¬q)) ! r .
Sim := V [ {¬, !, (, )}.

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

Definiţia formulelor este un exemplu de definiţie inductivă. Exemple:


I v1 ¬ ! (v2 ), ¬v1 v2 nu sunt formule .
Definiţia 1.4
I ((v1 ! v2 ) ! (¬v1 )), (¬(v1 ! v2 )) sunt formule.
Formulele lui LP sunt expresiile lui LP definite astfel:
(F0) Orice variabilă propoziţională este formulă. Citire unică (Unique readability)
(F1) Dacă ' este formulă, atunci (¬') este formulă. Dacă ' este o formulă, atunci exact una din următoarele
(F2) Daca ' şi sunt formule, atunci (' ! ) este formulă. alternative are loc:
(F3) Numai expresiile obţinute aplicând regulile (F0), (F1), (F2) I ' = v , unde v 2 V ;
sunt formule. I ' = (¬ ), unde este formulă;
Notaţii: Mulţimea formulelor se notează Form. Notăm formulele I ' = ( ! ), unde , sunt formule.
cu ', , , . . .. Mai mult, scrierea lui ' sub una din aceste forme este unică.
I Orice formulă se obţine aplicând regulile (F0), (F1), (F2) de
Propoziţia 1.5
un număr finit de ori.
I Form ✓ Expr . Formulele sunt expresiile ”bine formate”. Mulţimea Form a formulelor lui LP este numărabilă.
3
Dem.: Exerciţiu. 4
Principiul inducţiei pe formule Principiul inducţiei pe formule
Pasul iniţial. Q(0) este adevărată, deoarece pentru orice formulă
Propoziţia 1.6 (Principiul inducţiei pe formule) ', c(')  0 () c(') = 0 () ' = v , cu v 2 V şi, conform
Fie P o proprietate. Presupunem că: ipotezei (0), v are proprietatea P.
(0) Orice variabilă are proprietatea P. Ipoteza de inducţie. Fie n 2 N. Presupunem că Q(n) este
adevărată.
(1) Pentru orice formulă ', dacă ' are proprietatea P, atunci şi
Pasul de inducţie. Demonstrăm că Q(n + 1) este adevărată. Fie '
(¬') are proprietatea P.
o formulă cu c(')  n + 1. Avem trei cazuri:
(2) Pentru orice formule ', , dacă ' şi au proprietatea P, I ' = v 2 V . Atunci ' are proprietatea P, conform (0).
atunci (' ! ) are proprietatea P. I ' = (¬ ), unde este formulă. Atunci c( ) = c(') 1  n,
Atunci orice formulă ' are proprietatea P. deci, conform ipotezei de inducţie, are proprietatea P.
Dem.: Pentru orice formulă ', notăm cu c(') numărul Aplicı̂nd ipoteza (1), rezultă că ' are proprietatea P.
conectorilor logici care apar ı̂n '. Pentru orice n 2 N definim I ' = ( ! ), unde , sunt formule. Atunci c( ), c( ) 
proprietatea Q(n) astfel: c(') 1  n, deci, conform ipotezei de inducţie, şi au
proprietatea P. Rezultă din (2) că ' are proprietatea P.
Q(n) e adevărată ddacă orice formulă ' cu c(')  n are
proprietatea P. Aşadar, Q(n) este adevărată pentru orice n 2 N. Deoarece pentru
orice formulă ' există N 2 N a.ı̂. c(')  N, rezultă că orice
Demonstrăm prin inducţie că Q(n) este adevărată pentru orice n 2 N. formulă ' are proprietatea P.
5 6

Principiul inducţiei pe formule Formule

Conectorii derivaţi _ (se citeşte sau), ^ (se citeşte şi), $ (se


Propoziţia 1.7 (Principiul inducţiei pe formule - variantă citeşte dacă şi numai dacă) sunt introduşi prin abrevierile:
alternativă)
(' _ ) := ((¬') ! )
Fie o mulţime de formule care are următoarele proprietăţi:
(' ^ ) := (¬(' ! (¬ )))
I V ✓ ;
(' $ ) := ((' ! ) ^ ( ! ')).
I este ı̂nchisă la ¬, adică ' 2 implică (¬') 2 ;
I este ı̂nchisă la !, adică ', 2 implică (' ! ) 2 . Convenţii
I În practică, renunţăm la parantezele exterioare, le punem
Atunci = Form.
numai atunci când sunt necesare. Astfel, scriem ¬', ' ! ,
Dem.: Definim următoarea proprietate P: pentru orice formulă ', dar scriem (' ! ) ! .
' are proprietatea P ddacă ' 2 . I Pentru a mai reduce din folosirea parantezelor, presupunem că
Conform definiţiei lui , rezultă că sunt satisfăcute ipotezele (0), • ¬ are precedenţa mai mare decât ceilalţi conectori;
(1), (2) din Principiul inducţiei pe formule (Propoziţia 1.6), deci ı̂l • ^, _ au precedenţă mai mare decât !, $.
putem aplica pentru a obţine că orice formulă are proprietatea P,
Prin urmare, formula (((' ! ( _ )) ^ ((¬ ) $ ( _ ))) va fi
deci orice formulă ' este ı̂n . Aşadar, = Form.
scrisă (' ! _ ) ^ (¬ $ _ ).
7 8
Principiul recursiei pe formule Principiul recursiei pe formule

Principiul recursiei pe formule se foloseşte pentru a da definiţii


Propoziţia 1.8 (Principiul recursiei pe formule) recursive ale diverselor funcţii asociate formulelor.
Fie A o mulţime şi funcţiile
Exemplu:
G0 : V ! A, G¬ : A ! A, G! : A ⇥ A ! A. Fie c : Form ! N definită astfel: pentru orice formulă ',
c(') este numărul conectorilor logici care apar ı̂n '.
Atunci există o unică funcţie
O definiţie recursivă a lui c este următoarea:
F : Form ! A c(v ) = 0 pentru orice variabilă v
care satisface următoarele proprietăţi: c(¬') = c(') + 1 pentru orice formulă '
(R0) F (v ) = G0 (v ) pentru orice variabilă v 2 V . c(' ! ) = c(') + c( ) + 1 pentru orice formule ', .
(R1) F (¬') = G¬ (F (')) pentru orice formulă '. În acest caz, A = N, G0 : V ! A, G0 (v ) = 0,
(R2) F (' ! ) = G! (F ('), F ( )) pentru orice formule ', .
G¬ : N ! N, G¬ (n) = n + 1,
Dem.: Exerciţiu suplimentar. G! : N ⇥ N ! N, G! (m, n) = m + n + 1.
9 10

Principiul recursiei pe formule Principiul recursiei pe formule

Propoziţia 1.9 (Principiul recursiei pe formule - varianta 2)


Fie A o mulţime şi funcţiile G0 : V ! A,
Notaţie:
G¬ : A ⇥ Form ! A, G! : A ⇥ A ⇥ Form ⇥ Form ! A.
Pentru orice formulă ', notăm cu Var (') mulţimea variabilelor
care apar ı̂n '. Atunci există o unică funcţie

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( ) [ {' ! }.

Exemplu: În acest caz,


Fie ' = ((v1 ! v2 ) ! (¬v1 )). Atunci
SubForm : Form ! 2Form , deci A = 2Form ,
SubForm(') = {v1 , v2 , (v1 ! v2 ), (¬v1 ), '}. şi

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

Evaluare (Interpretare) Evaluare (Interpretare)

Propoziţia 1.14 Propoziţia 1.14


Pentru orice formulă ' şi orice evaluări e1 , e2 : V ! {0, 1}, Pentru orice formulă ' şi orice evaluări e1 , e2 : V ! {0, 1},

(*) e1 (v ) = e2 (v ) pentru orice v 2 Var (') =) e1+ (') = e2+ ('). (*) e1 (v ) = e2 (v ) pentru orice v 2 Var (') =) e1+ (') = e2+ (').

Dem.: (continuare) Dem.: (continuare)


I ' = (¬ ) şi satisface P. Fie e1 , e2 : V ! {0, 1} a.ı̂.
I ' = ( ! ) şi , satisfac P. Fie e1 , e2 : V ! {0, 1} a.ı̂.
e1 (v ) = e2 (v ) pentru orice v 2 Var ('). Deoarece e1 (v ) = e2 (v ) pentru orice v 2 Var ('). Deoarece
Var (') = Var ( ), rezultă că e1 (v ) = e2 (v ) pentru orice Var ( ) ✓ Var (') şi Var ( ) ✓ Var ('), rezultă că
v 2 Var ( ). Aşadar, aplicând P pentru , obţinem că e1 (v ) = e2 (v ) pentru orice v 2 Var ( ) \ Var ( ). Aşadar,
e1+ ( ) = e2+ ( ). Rezultă că aplicând P pentru şi , obţinem că e1+ ( ) = e2+ ( ) şi
e1+ ( ) = e2+ ( ). Rezultă că
e1+ (') = ¬ e1+ ( ) = ¬ e2+ ( ) = e2+ ('),
e1+ (') = e1+ ( ) ! e1+ ( ) = e2+ ( ) ! e2+ ( ) = e2+ ('),
deci ' satisface P. deci ' satisface P.
3 4
Modele. Satisfiabilitate. Tautologii Modele. Satisfiabilitate. Tautologii

Fie ' o formulă.


Propoziţie
Definiţia 1.15
Există o mulţime numărabilă de formule ' a.ı̂. atât ' cât şi ¬'
I O evaluare e : V ! {0, 1} este model al lui ' dacă sunt satisfiabile.
e + (') = 1. Notaţie: e ✏ '.
Dem.: Demonstrăm că mulţimea V = {'n := vn | n 2 N} ✓ Form
I ' este satisfiabilă dacă admite un model. satisface condiţia din enunţ. Fie n 2 N. Considerăm interpretările
I Dacă ' nu este satisfiabilă, spunem şi că ' este nesatisfiabilă e1 , e2 : V ! {0, 1} definite astfel
sau contradictorie. ( (
1 dacă i = n 0 dacă i = n
I ' este tautologie dacă orice evaluare este model al lui '. e1 (vi ) = , e2 (vi ) = .
Notaţie: ✏ '. arbitrar dacă i 6= n arbitrar dacă i 6= n
Atunci
Notaţie: Mulţimea tuturor modelelor lui ' se notează Mod(').
e1+ ('n ) = e1+ (vn ) = e1 (vn ) = 1,
Propoziţia 1.16 deci e1 ✏ 'n . Pe de altă parte,
(i) ' este tautologie ddacă ¬' este nesatisfiabilă. e2+ (¬'n ) = e2+ (¬vn ) = ¬ e2+ (vn ) = ¬ e2 (vn ) = ¬ 0 = 1,
(ii) ' este nesatisfiabilă ddacă ¬' este tautologie.
deci e2 ✏ ¬'n .
Dem.: Exerciţiu. 5 6

Metoda tabelului Metoda tabelului

Fie ' o formulă arbitrară şi Var (') = {x1 , x2 , . . . , xk }. Pentru


orice evaluare e : V ! {0, 1}, e + (') depinde doar de
e(x1 ), . . . , e(xk ), conform Propoziţiei 1.14. Exemplu:
Aşadar, e + (') depinde doar de restricţia lui e la {x1 , x2 , . . . , xk }: Fie
' = v1 ! (v2 ! (v1 ^ v2 )).
e 0 : {x1 , . . . , xk } ! {0, 1}, e 0 (xi ) = e(xi ).
Vrem să demonstrăm că ✏ '.
Sunt 2k de astfel de funcţii posibile e10 , e20 . . . , e20 k . Asociem
fiecăreia o linie ı̂ntr-un tabel: Var (') = {v1 , v2 }.
x1 x2 ... xk . . . subformule ale lui ' . . . '
0 0 0
e1 (x1 ) e1 (x2 ) . . . e1 (xk ) ... e10 + (') v1 v2 v1 ^ v 2 v2 ! (v1 ^ v2 ) '
e20 (x1 ) e20 (x2 ) . . . e20 (xk ) ... e20 + (') 0 0 0 1 1
.. .. .. .
.. .. ..
. . . . . 0 1 0 0 1
e20 k (x1 ) e20 k (x2 ) . . . e20 k (xk ) ... e20 k + (') 1 0 0 1 1
0 +
Pentru orice i, ei (') se defineşte similar cu Teorema 1.12 1 1 1 1 1

' este tautologie ddacă ei0 + (') = 1 pentru orice i 2 {1, . . . , 2k }.


7 8
Tautologii Tautologii, consecinţe semantice şi echivalenţe

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

'! ^ ⇠ (' ! ) ^ (' ! ) (22)


'! _ ⇠ (' ! ) _ (' ! ) (23)
legile lui de Morgan '_ ⇠ ¬((¬') ^ (¬ )) (10) '^ ! ⇠ (' ! ) _ ( ! ) (24)
'^ ⇠ ¬((¬') _ (¬ )) (11) '_ ! ⇠ (' ! ) ^ ( ! ) (25)
exportarea şi importarea '!( ! )⇠'^ ! (12) '!( ! )⇠ ! (' ! ) ⇠ (' ! ) ! (' ! ) (26)
idempotenţa '⇠'^'⇠'_' (13) ¬' ⇠ ' ! ¬' ⇠ (' ! ) ^ (' ! ¬ ) (27)
slăbirea ✏'^ !' ✏'!'_ (14) '! ⇠ ¬' _ ⇠ ¬(' ^ ¬ ) (28)
comutativitatea ' ^ ⇠ ^' '_ ⇠ _ ' (15) '_ ⇠ ' _ (¬' ^ ) ⇠ (' ! ) ! (29)
asociativitatea ' ^ ( ^ ) ⇠ (' ^ ) ^ (16) ' $ ( $ ) ⇠ (' $ ) $ (30)
' _ ( _ ) ⇠ (' _ ) _ (17) ✏ (' ! ) _ (¬' ! ) (31)
absorbţia ' _ (' ^ ) ⇠ ' (18) ✏ (' ! ) _ (' ! ¬ ) (32)
' ^ (' _ ) ⇠ ' (19) ✏ ¬' ! (¬ $ ( ! ')) (33)
distributivitatea ' ^ ( _ ) ⇠ (' ^ ) _ (' ^ ) (20) ✏ (' ! ) ! (((' ! ) ! ) ! ) (34)
' _ ( ^ ) ⇠ (' _ ) ^ (' _ ) (21)
11 Dem.: Exerciţiu. 12
Exemplu de demonstraţie Substituţia

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

Propoziţia 1.21 I ' = ! ✓ şi ( 0 ), ✓ ( 0 ) sunt formule. Dacă nu apare


0, ı̂n ', atunci ' ( 0 ) = '. Dacă este subformulă a lui ',
Pentru orice formule ', , ' ( 0 ) este de asemenea formulă. atunci avem două cazuri:
Dem.: Demonstrăm prin inducţie după formula '. Avem (i) = '. Rezultă că '' ( 0 ) = 0 .
(ii) este subformulă a lui sau ✓ (e posibil sa apară atât ı̂n
următoarele cazuri:
cât şi ı̂n ✓). Atunci
I ' = v 2 V . Atunci
( ' ( 0) = ( 0) ! ✓ ( 0)
0 dacă =v
v ( 0) = este de asemenea formulă.
v dacă 6= v .

Prin urmare, v ( 0 ) este formulă. Propoziţia 1.22


I ' = ¬ şi ( 0 ) este formulă. Dacă nu apare ı̂n ', atunci 0,
0
' ( ) = ', deci este formulă. Dacă este subformulă a lui Pentru orice formule ', ,
', atunci avem două cazuri: 0
(i) = '. Rezultă că '' ( 0 ) = 0 este formulă. ⇠ implică ' ⇠ ' ( 0 ).
(ii) este subformulă a lui . Atunci ' ( 0 ) = ¬ ( 0 ) este de
asemenea formulă.
Dem.: Exerciţiu.
15 16
Exemplu Substituţia

Fie e : V ! {0, 1} o evaluare şi v 2 V o variabilă.


Propoziţia 1.22 poate fi aplicată pentru a arăta că o formulă este Notaţie
tautologie.
Pentru orice a 2 {0, 1}, definim evaluarea ev a : V ! {0, 1} prin
Exemplu: (
Să se demonstreze că, pentru orice formule ', , formula e(x) daca x = 6 v
ev a (x) =
✓ = (¬' _ ) _ ¬(' ! ) este tautologie. a daca x = v .

Dem.: Conform (12), ¬' _ ⇠ ' ! . Aplicăm Propoziţia 1.22


Propoziţia 1.23
cu = ¬' _ şi 0 = ' ! pentru a obţine că
✓ ⇠ (' ! ) _ ¬(' ! ). Pe de altă parte, (' ! ) _ ¬(' ! ) Fie ✓ o formulă şi a := e + (✓). Atunci pentru orice formulă ',
este tautologie, din (10). Prin urmare, ✓ este tautologie. +
(ev a) (') = e + ('v (✓)).
Dem.: Exerciţiu suplimentar.

17 18

Substituţia > şi ?

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

Notaţii Propoziţia 1.25


Scriem ' ^ ^ ı̂n loc de (' ^ ) ^ . Similar, scriem ' _ _ Pentru orice evaluare e : V ! {0, 1},
ı̂n loc de (' _ ) _ . I e + ('1 ^ . . . ^ 'n ) = 1 ddacă e + ('i ) = 1 pentru orice
i 2 {1, . . . , n}.
Fie '1 , '2 , . . . , 'n formule. Pentru n 3, notăm
Ie + ('1 _ . . . _ 'n ) = 1 ddacă e + ('i ) = 1 pentru un
'1 ^ . . . ^ 'n := ((. . . ('1 ^ '2 ) ^ '3 ) ^ . . . ^ 'n 1) ^ 'n i 2 {1, . . . , n}.
'1 _ . . . _ 'n := ((. . . ('1 _ '2 ) _ '3 ) _ . . . _ 'n 1) _ 'n . Dem.: Exerciţiu.
Propoziţia 1.26
n
^
Vn
I '1 ^ . . . ^ 'n se mai scrie şi sau 'i .
i=1 'i
i=1 ¬('1 _ . . . _ 'n ) ⇠ ¬'1 ^ . . . ^ ¬'n
_n
Wn ¬('1 ^ . . . ^ 'n ) ⇠ ¬'1 _ . . . _ ¬'n
I '1 _ . . . _ 'n se mai scrie şi sau 'i .
i=1 'i
i=1
Dem.: Exerciţiu.
21 22

Mulţimi de formule Mulţimi de formule

Fie o mulţime de formule. Fie , mulţimi de formule.


Definiţia 1.27 Definiţia 1.28
I O evaluare e : V ! {0, 1} este model al lui dacă este model O formulă ' este consecinţă semantică a lui dacă
al fiecărei formule din (adică e ✏ pentru orice 2 ). Mod( ) ✓ Mod('). Notaţie: ✏ '.
Notaţie: e ✏ .
I
Notăm cu Cn( ) mulţimea consecinţelor semantice ale lui .
este satisfiabilă dacă are un model.
Aşadar,
I este finit satisfiabilă dacă orice submulţime finită a sa este Cn( ) = {' 2 Form | ✏ '}.
satisfiabilă.
I Dacă nu este satisfiabilă, spunem şi că este nesatisfiabilă Definiţia 1.29
sau contradictorie. I este consecinţă semantică a lui dacă Mod( ) ✓ Mod( ).
Notaţii: Mulţimea tuturor modelelor lui se notează Mod( ). Notaţie: ✏ .
Notăm Mod('1 , . . . , 'n ) ı̂n loc de Mod({'1 , . . . , 'n }). I şi sunt (logic) echivalente dacă Mod( ) = Mod( ).
T
I Mod( ) =
'2 Mod(').
Notaţie: ⇠ .
23 24
Proprietăţi

Următoarele rezultate colectează diverse proprietăţi utile.


Observaţie
I ✏ ' ddacă { } ✏ ' ddacă { } ✏ {'}.
I ⇠ ' ddacă { } ⇠ {'}.

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

Propoziţia 1.31 Propoziţia 1.33


Fie [ {', } ✓ Form. Fie o mulţime de formule.
(i) Dacă ✏ ' şi ✏ ' ! , atunci ✏ . (i) ✏ ' ddacă [ {¬'} este nesatisfiabilă.
(ii) [ {'} ✏ ddacă ✏'! . (ii) ✏ ¬' ddacă [ {'} este nesatisfiabilă.
(iii) ✏ ' ^ ddacă ✏ ' şi ✏ . (iii) Dacă este satisfiabilă, atunci cel puţin una dintre [ {'} şi
Dem.: Exerciţiu. [ {¬'} este satisfiabilă.
Dem.:
Propoziţia 1.32
(i) Avem că 6✏ ' () există o evaluare e : V ! {0, 1} a.ı̂.
Fie o mulţime de formule. Următoarele afirmaţii sunt echivalente: e ✏ şi e + (') = 0 () există o evaluare e : V ! {0, 1} a.ı̂.
(i) este nesatisfiabilă. e ✏ şi e + (¬') = 1 () există o evaluare e : V ! {0, 1}
(ii) ✏ ' pentru orice formulă '. a.ı̂. e ✏ [ {¬'} () [ {¬'} este satisfiabilă.
(iii) ✏ ' pentru orice formulă nesatisfiabilă '. (ii) Similar.
(iii) Fie e un model al lui . Dacă e + (') = 1, atunci e este model
(iv) ✏ ?.
al lui [ {'}. Dacă e + (') = 0, deci e + (¬') = 1, atunci e
Dem.: Exerciţiu uşor. este model al lui [ {¬'}.
1 2

Proprietăţi Teorema de compacitate

Teorema de compacitate - versiunea 1


Propoziţia 1.34 Pentru orice mulţime de formule, este satisfiabilă ddacă este
finit satisfiabilă.
Fie = {'1 , . . . , 'n } o mulţime finită de formule.
(i) ⇠ {'1 ^ . . . ^ 'n }. Teorema de compacitate - versiunea 2
(ii) ✏ ddacă ✏ '1 ^ . . . ^ 'n ! . Pentru orice mulţime de formule, este nesatisfiabilă ddacă
(iii) este nesatisfiabilă ddacă ¬'1 _ ¬'2 _ . . . _ ¬'n este nu este finit satisfiabilă.
tautologie. Teorema de compacitate - versiunea 3
(iv) Dacă = { 1 , . . . , k } este o altă mulţime finită de formule,
atunci următoarele afirmaţii sunt echivalente: Pentru orice mulţime de formule şi pentru orice formulă ', ✏'
ddacă există o submulţime finită a lui a.ı̂. ✏ '.
(a) ⇠ .
(b) '1 ^ . . . ^ 'n ⇠ 1 ^ ... ^ k.
Propoziţia 1.35
Dem.: Exerciţiu.
Cele trei versiuni sunt echivalente.
Dem.: Exerciţiu.
3 4
Teorema de compacitate Teorema de compacitate

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

Teorema 1.37 (Teorema de compacitate)


Pentru orice mulţime de formule, este satisfiabilă ddacă este
finit satisfiabilă.
Dem.:
”)” Evident. SINTAXA LP
”(” Presupunem că este finit satisfiabilă. Definim
e : V ! {0, 1}, e(vn ) = "n ,
unde ("n ) este şirul construit ı̂n lema precedentă. Demonstrăm că
e este model al lui . Fie ' 2 arbitrară şi fie k 2 N a.ı̂.
Var (') ✓ {v0 , v1 , . . . , vk }. Deoarece {'} ✓ este o submulţime
finită a lui , putem aplica Proprietatea Pk pentru a obţine un
model e al lui ' a.ı̂. e(vi ) = "i pentru orice i 2 {0, 1, . . . k}.
Atunci e(v ) = e(v ) pentru orice variabilă v 2 Var ('). Aplicând
Propoziţia 1.14, rezultă că e + (') = e + (') = 1, deci e ✏ '.
Prin urmare, e este model al lui , deci este satisfiabilă.
1 2

Sistemul deductiv -teoreme

Folosim un sistem deductiv de tip Hilbert pentru LP.


Axiomele logice Fie o mulţime de formule. Definiţia -teoremelor este un nou
Mulţimea Axm a axiomelor lui LP constă din toate formulele de exemplu de definiţie inductivă.
forma: Definiţia 1.38
(A1) ' ! ( ! ') -teoremele sunt formulele lui LP definite astfel:
(A2) (' ! ( ! )) ! ((' ! ) ! (' ! )) (T0) Orice axiomă este -teoremă.
(A3) (¬ ! ¬') ! (' ! ), (T1) Orice formulă din este -teoremă.
unde ', şi sunt formule. (T2) Dacă ' şi ' ! sunt -teoreme, atunci este -teoremă.
Regula de deducţie (T3) Numai formulele obţinute aplicând regulile (T0), (T1), (T2)
Pentru orice formule ', , sunt -teoreme.
Dacă ' este -teoremă, atunci spunem şi că ' este dedusă din
din ' şi ' ! se inferă (modus ponens sau (MP)):
ipotezele .
', ' !
.
3 4
-teoreme -teoreme

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

Definiţia -teoremelor dă naştere la metoda de demonstraţie prin


inducţie după -teoreme. Propoziţia 1.42
Fie , mulţimi de formule
Versiunea 1
(i) Dacǎ ✓ , atunci Thm( ) ✓ Thm( ), adică, pentru orice
Fie P o proprietate a formulelor. Demonstrăm că orice -teoremă
formulă ',
satisface P astfel:
` ' implică ` '.
(i) demonstrăm că orice axiomă are proprietatea P;
(ii) Thm ✓ Thm( ), adică, pentru orice formulă ',
(ii) demonstrăm că orice formulă din are proprietatea P;
` ' implică ` '.
(iii) demonstrăm că dacă ' şi ' ! au proprietatea P, atunci
are proprietatea P. (iii) Dacǎ ` , atunci Thm( ) ✓ Thm( ), adică, pentru orice
formulă ',
Versiunea 2
Fie ⌃ o mulţime de formule. Demonstrăm că Thm( ) ✓ ⌃ astfel: ` ' implică ` '.

(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

Proprietăţi sintactice `'!'

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 Câteva consecinţe

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 ', , ,

(1) `'! ipoteza inducţie ` (' ! ) ! (( ! ) ! (' ! )). (1)


(2) `'!( ! ) ipoteza inducţie Dem.: Folosind teorema deducţiei observăm că
(3) ` (' ! ( ! )) ! ((' ! ) ! (' ! )) (A2) şi P. 1.40.(i)
` (' ! ) ! (( ! ) ! (' ! ))
(4) ` (' ! ) ! (' ! ) (MP): (2), (3). m
(5) `'! (MP): (1), (4). {' ! } ` ( ! ) ! (' ! )
Aşadar 2 ⌃. m
{' ! , ! } ` ' !
m
{' ! , ! , '} ` .
15 16
Câteva consecinţe Câteva consecinţe

În acest fel am reformulat ceea ce aveam de demonstrat. A


demonstra teorema iniţială este echivalent cu a demonstra Propoziţia 1.51
Pentru orice mulţime de formule şi orice formule ', , ,
{' ! , ! , '} ` .
`'! şi ` ! ) `'! . (2)
(1) {' ! , ! , '} ` ' Propoziţia 1.40.(ii) Dem.:
(2) {' ! , ! , '} ` ' ! Propoziţia 1.40.(ii) (1) `'! ipoteză
(3) {' ! , ! , '} ` (MP): (1), (2) (2) ` (' ! ) ! (( ! ) ! (' ! )) P. 1.50 şi P. 1.42.(ii)
(3) ` ( ! ) ! (' ! ) (MP): (1), (2)
(4) {' ! , ! , '} ` ! Propoziţia 1.40.(ii)
(4) ` ! ipoteză
(5) {' ! , ! , '} ` (MP): (3), (4). (5) `'! (MP): (3), (4).

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 ', ,

[ { } ` ' şi [ {¬ } ` ' ) ` '. (8)


Dem.: Exerciţiu. 19
Corectitudine

Teorema de corectitudine (Soundness Theorem) 1.54


Orice -teoremă este consecinţă semantică a lui , adică,
`' ) ✏'
SINTAXA şi SEMANTICA pentru orice ' 2 Form şi ✓ Form.
Dem.: Fie
⌃ := {' 2 Form | ✏ '}.
Trebuie să demonstrăm că Thm( ) ✓ ⌃. O facem prin inducţie
după -teoreme.
I Axiomele sunt ı̂n ⌃ (exerciţiu).
I Evident, ✓ ⌃.
I Demonstrăm acum că ⌃ este ı̂nchisă la modus ponens.
Presupunem că ', ' ! 2 ⌃, adică, ✏ ' şi ✏ ' ! .
Conform Propoziţiei 1.31.(i), obţinem că ✏ , adică,
1
2 ⌃. 2

Sintaxă şi semantică Sintaxă şi semantică

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ă

Dacă e + ( ! ) = 1, atunci fie e + ( ) = 0, fie e + ( ) = 1.


În primul caz, obţinem
I ' = ! . Atunci Var (') = Var ( ) [ Var ( ), deci Var ( )e ` ¬ ipoteza de inducţie pentru
Var ( )e , Var ( )e ✓ Var (')e . Var ( )e ` ¬ ! ( ! ) (4) din P. 1.52 şi P.1.42.(ii)
Dacă e +( ! ) = 0, atunci e +( ) = 1 şi e +( ) = 0. Avem Var ( )e ` ! (MP)
Var ( )e ` ipoteza de inducţie pentru Var (')e ` ! Var ( )e ✓ Var (')e şi P.1.42.(i).
Var ( )e ` ¬ ipoteza de inducţie pentru În al doilea caz, obţinem
Var (')e ` { , ¬ } Var ( )e , Var ( )e ✓ Var (')e şi P.1.42.(i) Var ( )e ` ipoteza de inducţie pentru
{ , ¬ } ` ¬( ! ) (7) din Propoziţia 1.52 Var ( )e ` !( ! ) (A1) şi Propoziţia 1.40.(i)
Var (')e ` ¬( ! ) Propoziţia 1.42.(iv). Var ( )e ` ! (MP)
Var (')e ` ! Var ( )e ✓ Var (')e şi P.1.42.(i).

Demonstraţia propoziţiei anterioare ne dă o construcţie efectivă a


unei demonstraţii a lui ' sau ¬' din premizele Var (')e .
5 6

Teorema de completitudine Teorema de completitudine

k ) k + 1. Presupunem că (*) este adevărată pentru k şi fie


Teorema 1.56 (Teorema de completitudine) e : V ! {0, 1}. Trebuie să arătăm că {x1e , . . . , xne k 1 } ` '.
Pentru orice formulă ', Considerăm evaluarea e 0 := exn k ¬ e(xn k ) . Aşadar, e 0 (v ) = e(v )
pentru orice v 6= xn k şi
`' ddacă ✏ '. (
0 dacă e(xn k ) = 1
Dem.: ”)” Se aplică Teorema de corectitudine 1.54 pentru = ;. e 0 (xn k ) =
1 dacă e(xn k ) = 0.
”(” Fie ' o tautologie şi Var (') = {x1 , . . . , xn }. Demonstrăm
0
prin inducţie după k următoarea proprietate: Rezultă că xie = xie pentru orice i 2 {1, . . . , n k 1} şi
(
(*) pentru orice k  n, pentru orice e : V ! {0, 1}, 0 ¬xn k dacă xne k = xn k
{x1e , . . . , xne k } ` '. xne k =
xn k dacă xne k = ¬xn k .
Pentru k = n, (*) ne dă ` '.
Din (*) pentru e şi e 0 , obţinem
k = 0. Fie e : V ! {0, 1}. Deoarece ' este tautologie, e + (') = 1.
{x1e , . . . , xne k 1 , xn k } ` ' şi {x1e , . . . , xne
k 1 , ¬xn k } ` '.
Aplicând Propoziţia 1.55, obţinem că
Aplicăm acum Propoziţia 1.53 cu := {x1 , . . . , xne k 1 } şi
e
Var (')e = {x1e , . . . , xne } ` '.
:= xn k pentru a conclude că {x1e , . . . , xne k 1 } ` '.
7 8
Consecinţă utilă Notaţii

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

Mulţimi consistente Mulţimi consistente

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.60 Propoziţia 1.61


Pentru o mulţime de formule sunt echivalente: Fie o mulţime de formule şi ' o formulă.
(i) este inconsistentă. (i) ` ' () [ {¬'} este inconsistentă.
(ii) Pentru orice formulă , ` şi `¬ . (ii) ` ¬' () [ {'} este inconsistentă.
(iii) Există o formulă a.ı̂. ` şi `¬ . Dem.:
(iv) ` ?. (i) Avem
Dem.: (i) ) (ii) ) (iii) şi (i) ) (iv ) sunt evidente. [ {¬'} este inconsistentă () [ {¬'} ` ?
(iii) ) (i) Fie ' o formulă. Conform (4) din Propoziţia 1.52, P. 1.60.(iv)
` ¬ ! ( ! '). () ` ¬' ! ?
Teorema Deducţiei
Aplicând (iii) şi de două ori modus ponens, rezultă că ` '.
(iv ) ) (iii). Presupunem că ` ?. Avem că ? = ¬>. Deoarece () `'
> este tautologie, aplicăm Teorema de completitudine pentru a ¬' ! ? ⇠ ' şi P.1.57.
conclude că ` >, deci şi ` >. (ii) Similar.
13 14

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

Teorema 1.66 (Teorema de completitudine tare - versiunea 1)


Teorema 1.65 Pentru orice mulţime de formule ,
Pentru orice formulă ', este consistentă () este satisfiabilă.
Dem.: ”(” Presupunem că este satisfiabilă, deci are un model
{'} este consistentă () {'} este satisfiabilă. e : V ! {0, 1}. Presupunem că nu este consistentă. Atunci
Dem.: Avem ` ? şi, aplicând Teorema de corectitudine 1.54, rezultă că
✏ ?. Ca urmare, e ✏ ?, ceea ce este o contradicţie.
{'} este inconsistentă () ` ¬'
”)” Presupunem că este consistentă. Demonstrăm că este
conform Propoziţiei 1.61.(ii)
finit satisfiabilă şi aplicăm apoi Teorema de compacitate 1.37
() ✏ ¬'
pentru a conclude că este satisfiabilă.
conform Teoremei de completitudine
Fie ⌃ = {'1 , . . . , 'n } o submulţime finită a lui . Atunci ⌃ este
() {'} este nesatisfiabilă
consistentă, conform Propoziţiei 1.64. Din Propoziţia 1.62.(ii),
conform Propoziţiei 1.33.(ii).
rezultă că {'1 ^ . . . ^ 'n } este consistentă. Aplicând acum
Aşadar, {'} este consistentă () {'} este satisfiabilă. Teorema 1.65, obţinem că {'1 ^ . . . ^ 'n } este satisfiabilă.
Deoarece, conform Propoziţiei 1.34.(i), ⌃ ⇠ {'1 ^ . . . ^ 'n }, avem
17 că ⌃ este satisfiabilă. 18

Teorema de completitudine tare Forma normală conjunctivă / disjunctivă

Teorema 1.67 (Teorema de completitudine tare - versiunea 2)


Definiţia 1.68
Pentru orice mulţime de formule şi orice formulă ',
Un literal este o
` ' () ✏ '. I variabilă (ı̂n care caz spunem că este literal pozitiv) sau
Dem.: I negaţia unei variabile (ı̂n care caz spunem că este literal
`' () [ {¬'} este inconsistentă negativ).
conform Propoziţiei 1.61.(i)
Exemple: v1 , v2 , v10 literali pozitivi; ¬v0 , ¬v100 literali negativi
() [ {¬'} este nesatisfiabilă
conform Teoremei de completitudine tare - versiunea 1 Definiţia 1.69
() ✏' O formulă ' este ı̂n formă normală disjunctivă (FND) dacă ' este
conform Propoziţiei 1.33.(i). o disjuncţie de conjuncţii de literali.
0 1
Observaţie n
_ ki
^
Am demonstrat Teorema de completitudine tare - versiunea 2 Aşadar, ' este ı̂n FND ddacă ' = @ Li,j A, unde fiecare Li,j
folosind Teorema de completitudine tare - versiunea 1. Se poate i=1 j=1
arăta că cele două versiuni sunt echivalente (exerciţiu). este literal.
19 20
Forma normală conjunctivă / disjunctivă

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

Funcţia asociată unei formule Funcţia asociată unei formule

Fie ' o formulă şi Var (') = {x1 , . . . , xn }.


Fie ("1 , . . . , "n ) 2 {0, 1}n . Definim e"1 ,...,"n : Var (') ! {0, 1}
astfel: Propoziţia 1.73
e"1 ,...,"n (xi ) = "i pentru orice i 2 {1, . . . , n}.
(i) Fie ' o formulă. Atunci
Definim e"+1 ,...,"n (') 2 {0, 1} astfel: (a) ✏ ' ddacă F' este funcţia constantă 1.
(b) ' este nesatisfiabilă ddacă F' este funcţia constantă 0.
e"+1 ,...,"n (') := e + ('),
(ii) Fie ', două formule a.ı̂. Var (') = Var ( ). Atunci
unde e : V ! {0, 1} este orice evaluare care extinde e"1 ,...,"n , adică,
(a) ' ✏ ddacă F'  F .
e(xi ) = e"1 ,...,"n (xi ) = "i pentru orice i 2 {1, . . . , n}. (b) ' ⇠ ddacă F' = F .
Conform Propoziţiei 1.14, definiţia nu este ambiguă.
(iii) Există formule diferite ', a.ı̂. Var (') = Var ( ) pentru care
Definiţia 1.72 F' = F .
Funcţia asociată lui ' este F' : {0, 1}n ! {0, 1}, definită astfel: Dem.: Exerciţiu.
F' ("1 , . . . , "n ) = e"+1 ,...,"n (') pentru orice ("1 , . . . , "n ) 2 {0, 1}n .

Aşadar, F' este funcţia definită de tabela de adevăr pentru '.


3 4
Caracterizarea funcţiilor booleene Caracterizarea funcţiilor booleene

Definiţia 1.74 Altcumva, mulţimea


O funcţie booleană este o funcţie F : {0, 1}n ! {0, 1}, unde n 1.
1
Spunem că n este numărul variabilelor lui F . T := H (1) = {("1 , . . . , "n ) 2 {0, 1}n | H("1 , . . . , "n ) = 1}

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

Caracterizarea funcţiilor booleene Caracterizarea funcţiilor booleene

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ă

Exemplu: Fie H : {0, 1}3 ! {0, 1} descrisă prin tabelul:


"1 "2 "3 H("1 , "2 , "3 )
Teorema 1.77
0 0 0 0 D 1 = v1 _ v2 _ v3 Orice formulă ' este echivalentă cu o formulă 'FND ı̂n FND şi cu
0 0 1 0 D2 = v1 _ v2 _ ¬v3 o formulă 'FNC ı̂n FNC.
0 1 0 1 C1 = ¬v1 ^ v2 ^ ¬v3 Dem.:
0 1 1 0 D3 = v1 _ ¬v2 _ ¬v3
Fie Var (') = {x1 , . . . , xn } şi F' : {0, 1}n ! {0, 1} funcţia
1 0 0 1 C2 = v1 ^ ¬v2 ^ ¬v3
1 0 1 1 C3 = v1 ^ ¬v2 ^ v3 booleană asociată. Aplicând Teorema 1.75 cu H := F' , obţinem o
1 1 0 1 C4 = v1 ^ v2 ^ ¬v3 formulă 'FND ı̂n FND a.ı̂. F' = F'FND . Aşadar, conform
1 1 1 1 C5 = v1 ^ v2 ^ v3 Propoziţiei 1.73.(ii), ' ⇠ 'FND .
Similar, aplicând Teorema 1.76 cu H := F' , obţinem o formulă
' = C1 _ C2 _ C3 _ C4 _ C5 ı̂n FND a.ı̂. H = F' .
'FNC ı̂n FNC a.ı̂. F' = F'FNC . Prin urmare, ' ⇠ 'FNC .
= D1 ^ D2 ^ D3 ı̂n FNC a.ı̂. H = F .

9 10

Forma normală conjunctivă / disjunctivă Forma normală conjunctivă / disjunctivă

Algoritm pentru a aduce o formulă la FNC/FND: Exemplu


Pasul 1. Se ı̂nlocuiesc implicaţiile şi echivalenţele, folosind: Considerăm formula ' := (¬v0 ! ¬v2 ) ! (v0 ! v2 ).
'! ⇠ ¬' _ şi '$ ⇠ (¬' _ ) ^ (¬ _ '). Avem
' ⇠ ¬(¬v0 ! ¬v2 ) _ (v0 ! v2 ) Pasul 1
Pasul 2. Se ı̂nlocuiesc dublele negaţii, folosind ¬¬ ⇠ , şi se aplică ⇠ ¬(¬¬v0 _ ¬v2 ) _ (v0 ! v2 ) Pasul 1
regulile De Morgan pentru a ı̂nlocui ⇠ ¬(¬¬v0 _ ¬v2 ) _ (¬v0 _ v2 ) Pasul 1
¬(' _ ) cu ¬' ^ ¬ şi ¬(' ^ ) cu ¬' _ ¬ . ⇠ ¬(v0 _ ¬v2 ) _ (¬v0 _ v2 ) Pasul 2
⇠ (¬v0 ^ ¬¬v2 ) _ (¬v0 _ v2 ) Pasul 2
Pasul 3. Pentru FNC, se aplică distributivitatea lui _ faţa de ^, pentru ⇠ (¬v0 ^ v2 ) _ ¬v0 _ v2 Pasul 2.
a ı̂nlocui
Putem lua 'FND := (¬v0 ^ v2 ) _ ¬v0 _ v2 .
' _ ( ^ ) cu (' _ ) ^ (' _ ) şi ( ^ ) _ ' cu ( _ ') ^ ( _ ').
Pentru a obţine FNC, continuăm cu Pasul 3:
Pentru FND, se aplică distributivitatea lui ^ faţa de _, pentru ' ⇠ (¬v0 ^ v2 ) _ (¬v0 _ v2 )
a ı̂nlocui ⇠ (¬v0 _ ¬v0 _ v2 ) ^ (v2 _ ¬v0 _ v2 ).
' ^ ( _ ) cu (' ^ ) _ (' ^ ) şi ( _ ) ^ ' cu ( ^ ') _ ( ^ '). Putem lua 'FNC := (¬v0 _ ¬v0 _ v2 ) ^ (v2 _ ¬v0 _ v2 ). Se observă,
11 folosind idempotenţa şi comutativitatea lui _, că 'FNC ⇠ ¬v0 _ v2 . 12
Clauze Clauze

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.

Definiţia 1.84 Exemplu


S se numeşte S = {{¬v1 , v2 }, {¬v3 , ¬v2 }, {v1 }, {v3 }} nu este satisfiabilă.
Dem.: Presupunem că S are un model e. Atunci
(i) satisfiabilă dacă are un model.
e(v1 ) = e(v3 ) = 1 şi, deoarece e ✏ {¬v3 , ¬v2 }, trebuie să avem
(ii) validă dacă orice evaluare e : V ! {0, 1} este model al lui S. e(v2 ) = 0. Rezultă că e(v2 ) = e + (¬v1 ) = 0, deci e nu satisface
{¬v1 , v2 }. Am obţinut o contradicţie.
3 4
Clauze şi FNC Clauze şi FNC

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

Fie S o mulţime de clauze. Exemplu


Fie
Definiţia 1.89 S = {{¬v1 , v2 }, {¬v2 , ¬v3 , v4 }, {v1 }, {v3 }, {¬v4 }}.
O derivare prin rezoluţie din S sau o S-derivare prin rezoluţie este
O derivare prin rezoluţie a clauzei vide ⇤ din S este următoarea:
o secvenţă C1 , C2 , . . . , Cn de clauze a.ı̂. pentru fiecare
i 2 {1, . . . , n}, una din următoarele condiţii este satisfăcută: C1 = {¬v4 } C1 2 S
C2 = {¬v2 , ¬v3 , v4 } C2 2 S
(i) Ci este o clauză din S;
C3 = {¬v2 , ¬v3 } C3 rezolvent al clauzelor C1 , C2
(ii) există j, k < i a.ı̂. Ci este rezolvent al clauzelor Cj , Ck . C4 = {v3 } C4 2 S
C5 = {¬v2 } C5 rezolvent al clauzelor C3 , C4
Definiţia 1.90 C6 = {¬v1 , v2 } C6 2 S
Fie C o clauză. O derivare prin rezoluţie a lui C din S este o C7 = {¬v1 } C7 rezolvent al clauzelor C5 , C6
S-derivare prin rezoluţie C1 , C2 , . . . , Cn a.ı̂. Cn = C . C8 = {v1 } C8 2 S
C9 = ⇤ C9 rezolvent al clauzelor C7 , C8 .

9 10

Rezoluţia Corectitudinea rezoluţiei

Pentru orice mulţime de clauze S, notăm cu Teorema de corectitudine a rezoluţiei 1.92


S
Res(S) := C1 ,C2 2S Res(C1 , C2 ). Fie S o mulţime de clauze. Dacă ⇤ se derivează prin rezoluţie din
S, atunci S este nesatisfiabilă.
Propoziţia 1.91 Dem.: Fie C1 , C2 , . . . , Cn = ⇤ o S-derivare prin rezoluţie a lui ⇤.
Pentru orice mulţime de clauze S şi orice evaluare e : V ! {0, 1}, Presupunem că S este satisfiabilă şi fie e ✏ S.
Demonstrăm prin inducţie după i că:
e✏S ) e ✏ Res(S).
pentru orice 1  i  n, e ✏ Ci .
Dem.: Dacă Res(S) = ;, atunci este validă, deci e ✏ Res(S).
Presupunem că Res(S) este nevidă şi fie R 2 Res(S). Atunci Pentru i = n, obţinem că e ✏ ⇤, ceea ce este o contradicţie.
există clauze C1 , C2 2 S şi un literal L a.ı̂. L 2 C1 , Lc 2 C2 şi Cazul i = 1 este evident, deoarece C1 2 S.
R = (C1 \ {L}) [ (C2 \ {Lc }). Avem două cazuri: Presupunem că e ✏ Cj pentru orice j < i. Avem două cazuri:
I e ✏ L. Atunci e 6✏ Lc . Deoarece e ✏ C2 , există U 2 C2 , U 6= Lc I Ci 2 S. Atunci e ✏ Ci .
I există j, k < i a.ı̂. Ci 2 Res(Cj , Ck ). Deoarece, conform
a.ı̂. e ✏ U. Deoarece U 2 R, obţinem că e ✏ R.
I e ✏ Lc . Atunci e 6✏ L. Deoarece e ✏ C1 , există U 2 C1 , U 6= L ipotezei de inducţie, e ✏ {Cj , Ck } aplicăm Propoziţia 1.91
a.ı̂. e ✏ U. Deoarece U 2 R, obţinem că e ✏ R. pentru a conclude că e ✏ Ci .
11 12
Algoritmul Davis-Putnam (DP) Algoritmul Davis-Putnam (DP)

Intrare: S mulţime nevidă de clauze netriviale.


i := 1, S1 := S.
Pi.1 Fie xi o variabilă care apare ı̂n Si . Definim S = {{v1 , ¬v3 }, {v2 , v1 }, {v2 , ¬v1 , v3 }}. i := 1, S1 := S.

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

Algoritmul Davis-Putnam (DP) Algoritmul DP - terminare


S = {{¬v1 , v2 , ¬v4 }, {¬v3 , ¬v2 }, {v1 , v3 }, {v1 }, {v3 }, {v4 }}.
i := 1, S1 := S. Notăm:
P1.1 x1 := v1 ; T11 := {{v1 , v3 }, {v1 }}; T10 := {{¬v1 , v2 , ¬v4 }}. S
Var (C ) := {x 2 V | x 2 C sau ¬x 2 C }, Var (S) := C 2S Var (C ).
P1.2 U1 := {{v3 , v2 , ¬v4 }, {v2 , ¬v4 }}.
P1.3 S2 := {{¬v3 , ¬v2 }, {v3 }, {v4 }, {v3 , v2 , ¬v4 }, {v2 , ¬v4 }}. Aşadar, Var (C ) = ; ddacă C = ⇤ şi Var (S) = ; ddacă S = ;
P1.4 i := 2 and go to P2.1. sau S = {⇤}.
P2.1. x2 := v2 ; T21 := {{v3 , v2 , ¬v4 }, {v2 , ¬v4 }}; T20 := {{¬v3 , ¬v2 }}.
Propoziţia 1.93
P2.2 U2 := {{v3 , ¬v4 , ¬v3 }, {¬v4 , ¬v3 }}.
P2.3 S3 := {{v3 }, {v4 }, {¬v4 , ¬v3 }}. Fie n := |Var (S)|. Atunci algoritmul DP se termină după cel mult
P2.4 i := 3 and go to P3.1. n paşi.
Dem.: Se observă imediat că pentru orice i,
P3.1 x3 := v3 ; T31 := {{v3 }}; T30 := {{¬v4 , ¬v3 }}.
Var (Si+1 ) ✓ Var (Si ) \ {xi } ( Var (Si ).
P3.2. U3 := {{¬v4 }}. P3.3 S4 := {{v4 }, {¬v4 }}.
P3.4 i := 4 and go to P4.1. Prin urmare, n = |Var (S1 )| > |Var (S2 )| > |Var (S3 )| > . . . 0.

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

Propoziţia 1.94 I Ti 0 = ;. Se demonstrează similar, folosind evaluarea


Pentru orice i  N, e 00 := exi 1 .
I 0
Ti 1 6= ; şi Ti 0 6= ;. Se observă că Si ✓ Si+1 [ (Ti 1 [ Ti 0 ).
Si+1 este satisfiabilă () Si este satisfiabilă. ⇤
Cazul 1: e(xi ) = 1. Definim e := exi 0 . Atunci
Dem.: Suplimentar - nu trebuie citită pentru examen
e, e ⇤ ✏ Si+1
0 , e ✏ T 1, e ⇤ ✏ T 0.
”(” Presupunem că Si este satisfiabilă şi fie e ✏ Si . Se observă i i
Presupunem că e, e ⇤ 6✏ Ti 1 [ Ti 0 . Atunci există C1 2 Ti 1 a.ı̂.
imediat că Si+1 ✓ Si [ Res(Si ). Prin urmare, folosind
e ⇤ 6✏ C1 şi C0 2 Ti 0 a.ı̂. e 6✏ C0 . Obţinem că e 6✏ C0 \ {¬xi }.
corectitudinea rezoluţiei, obţinem că e ✏ Si+1 .
Dacă am avea că e ✏ C1 \ {xi }, atunci ar exista un literal L
”)” Presupunem că Si+1 este satisfiabilă şi fie e ✏ Si+1 .
care nu conţine variabila xi a.ı̂. e ✏ L, de unde am obţine că
Deoarece orice clauză trivială este validă, rezultă că e ✏ Si+1
0 .
e ⇤ ✏ L, contradicţie cu faptul că e ⇤ 6✏ C1 .
Avem următoarele cazuri:
Rezultă că e 6✏ (C1 \ {xi }) [ (C0 \ {¬xi }) 2 Ui ✓ Si+1 0 , o
I T 1 = ;. Atunci Ui = ; şi S 0 0 0 0
i i+1 = Si \ Ti , deci Si = Si+1 [ Ti . contradicţie cu ipoteza.
Fie e := exi 0 . Atunci e (xi ) = 0, deci e ✏ ¬xi . Rezultă că
0 0 0
Aşadar, una din evaluările e, e ⇤ satisface Ti 1 [ Ti 0 , deci este
e 0 este model pentru orice clauză din Ti 0 , adică e 0 ✏ Ti 0 . model pentru Si .
De asemenea, e(v ) = e 0 (v ) pentru orice v 2 Var (Si+1 0 ), deci
Cazul 2: e(xi ) = 0. Demonstraţia e similară.
e 0 ✏ Si+1
0 . Am obţinut că e 0 ✏ S .
i
17 18

Algoritmul DP - corectitudine şi completitudine

Teorema 1.95
Algoritmul DP este corect şi complet, adică,

S este nesatisfiabilă ddacă ⇤ 2 SN+1 .


Dem.: Aplicăm Propoziţia 1.94. Obţinem că S = S1 este
nesatisfiabilă ddacă SN+1 este nesatisfiabilă ddacă ⇤ 2 SN+1 .

19
Limbaje de ordinul I

Un limbaj L de ordinul I este format din:


I o mulţime numărabilă V = {vn | n 2 N} de variabile;
I conectorii ¬ şi !;
I paranteze: ( , );
LOGICA DE ORDINUL I
I simbolul de egalitate =;
I cuantificatorul universal 8;
I o mulţime R de simboluri de relaţii;
I o mulţime F de simboluri de funcţii;
I o mulţime C de simboluri de constante;
I o funcţie aritate ari : F [ R ! N⇤ .
I L este unic determinat de cvadruplul ⌧ := (R, F, C, ari).
I ⌧ se numeşte signatura lui L sau vocabularul lui L sau
alfabetul lui L sau tipul de similaritate al lui L
1 2

Limbaje de ordinul I Limbaje de ordinul I

Fie L un limbaj de ordinul I. Definiţia 2.1


• Mulţimea SimL a simbolurilor lui L este Mulţimea ExprL a expresiilor lui L este mulţimea tuturor şirurilor
finite de simboluri ale lui L.
SimL := V [ {¬, !, (, ), =, 8} [ R [ F [ C
I Expresia vidă se notează .
• Elementele lui R [ F [ C se numesc simboluri non-logice. I Lungimea unei expresii ✓ este numărul simbolurilor din ✓.
• Elementele lui V [ {¬, !, (, ), =, 8} se numesc simboluri logice.
Definiţia 2.2
• Notăm variabilele cu x, y , z, v , . . ., simbolurile de relaţii cu Fie ✓ = ✓0 ✓1 . . . ✓k 1 o expresie a lui L, unde ✓i 2 SimL pentru
P, Q, R . . ., simbolurile de funcţii cu f , g , h, . . . şi simbolurile de orice i.
constante cu c, d, e, . . .. I Dacă 0  i  j  k 1, atunci expresia ✓i . . . ✓j se numeşte
(i, j)-subexpresia lui ✓;
• Pentru orice m 2 N⇤ notăm:
I Spunem că o expresie apare ı̂n ✓ dacă există
Fm := mulţimea simbolurilor de funcţii de aritate m;
0  i  j  k 1 a.ı̂. este (i, j)-subexpresia lui ✓;
Rm := mulţimea simbolurilor de relaţii de aritate m.
I Notăm cu Var (✓) mulţimea variabilelor care apar ı̂n ✓.
3 4
Termeni Termeni

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

Propoziţia 2.8 (Inducţia pe formule)


Notaţii
I
Fie o mulţime de formule care are următoarele proprietăţi:
Formule: ', , , . . ..
I conţine toate formulele atomice;
I Var (') este mulţimea variabilelor care apar ı̂n formula '.
I este ı̂nchisă la ¬, ! şi 8x (pentru orice variabilă x).
Convenţie Atunci = FormL .
De obicei renunţăm la parantezele exterioare, le punem numai
atunci când sunt necesare. Atunci când nu e pericol de confuzie, Este folosită pentru a demonstra că toate formulele satisfac o
scriem s = t ı̂n loc de (s = t), Rt1 . . . tm ı̂n loc de (Rt1 . . . tm ), proprietate P: definim ca fiind mulţimea tuturor formulelor care
8x' ı̂n loc de (8x'), etc.. satisfac P şi aplicăm inducţia pe formule pentru a obţine că
= FormL .

9 10

Formule Formule

Citire unică (Unique readability)


Conectori derivaţi
Dacă ' este o formulă, atunci exact una din următoarele
Conectorii _, ^, $ şi cuantificatorul existenţial 9 sunt introduşi
alternative are loc:
prin următoarele abrevieri:
I ' = (s = t), unde s, t sunt termeni;
'_ := ((¬') ! )
I ' = (Rt1 . . . tm ), unde R 2 Rm şi t1 , . . . , tm sunt termeni;
'^ := ¬(' ! (¬ )))
I ' = (¬ ), unde este formulă;
'$ := ((' ! ) ^ ( ! '))
I ' = ( ! ), unde , sunt formule;
9x' := (¬8x(¬')).
I ' = (8x ), unde x este variabilă şi este formulă.
Mai mult, scrierea lui ' sub una din aceste forme este unică.

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

L-structura Exemple - Limbajul egalităţii L=

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

Lar = (R, F, C), unde


LR = (R, F, C), unde
˙ <
I R = {<}; ˙ este simbol de relaţie binară, adică are aritatea 2;
I R = {R}; R simbol binar
˙ Ṡ}; +̇, ⇥
I F = {+̇, ⇥, ˙ sunt simboluri de operaţii binare şi Ṡ
I F =C=;
este simbol de operaţie unar (adică are aritatea 1);
I L-structurile sunt mulţimile nevide ı̂mpreună cu o relaţie
I C = {0̇}.
binară
˙ Ṡ; 0̇) sau Lar = (<,
˙ +̇, ⇥,
Scriem Lar = (<; ˙ Ṡ, 0̇).
˙ +̇, ⇥,
I Dacă suntem interesaţi de mulţimi parţial ordonate (A, ),
Exemplul natural de Lar -structură:
folosim simbolul ̇ ı̂n loc de R şi notăm limbajul cu L .
N := (N, <, +, ·, S, 0), I Dacă suntem interesaţi de mulţimi strict ordonate (A, <),
˙ ı̂n loc de R şi notăm limbajul cu L< .
folosim simbolul <
unde S : N ! N, S(m) = m + 1 este funcţia succesor. Prin urmare, I Dacă suntem interesaţi de grafuri G = (V , E ), folosim
simbolul Ė ı̂n loc de R şi notăm limbajul cu LGraf .
˙ N =<, +̇N = +, ⇥
< ˙ N = ·, Ṡ N = S, 0̇N = 0.
I Dacă suntem interesaţi de structuri (A, 2), folosim simbolul 2̇
• Alt exemplu de Lar -structură: A = ({0, 1}, <, _, ^, ¬, 1). ı̂n loc de R şi notăm limbajul cu L2 .
17 18

Exemple - Limbajul grupurilor LGr

LGr = (R, F, C), unde


I R = ;;
I ˙ ˙ 1 }; ⇤˙ simbol binar,
F = {⇤, ˙1
simbol unar
I C = {ė}.
˙ ˙ 1 ; ė) sau LGr = (⇤,
Scriem LGr = (;; ⇤, ˙ ˙ 1 , ė).
SEMANTICA
Exemple naturale de LGr -structuri sunt grupurile: G = (G , ·, 1 , e).
˙ 1G
Prin urmare, ⇤˙ G = ·, = 1 , ė G = e.
Pentru a discuta despre grupuri abeliene (comutative), este
tradiţional să se folosească limbajul LAbGr = (R, F, C), unde
I R = ;;
I F = {+̇, ˙ }; +̇ simbol binar, ˙ simbol unar;
I C = {0̇}.
Scriem LAbGr = (+̇, ˙ , 0̇).
19 20
Interpretare (evaluare) Interpretarea formulelor

Fie L un limbaj de ordinul I şi A o L-structură.


Prin inducţie pe formule se defineşte interpretarea
Definiţia 2.10
O interpretare sau evaluare a (variabilelor) lui L ı̂n A este o funcţie 'A (e) 2 {0, 1}
e : V ! A.
a formulei ' sub evaluarea e.
În continuare, e : V ! A este o interpretare a lui L in A.

Definiţia 2.11 (Interpretarea termenilor) ⇢


A 1 dacă s A (e) = t A (e)
Prin inducţie pe termeni se defineşte interpretarea t A (e) 2Aa (s = t) (e) =
0 altfel.
termenului t sub evaluarea e: ⇢
A 1 dacă R A (t1A (e), . . . , tm
A (e))
I dacă t = x 2 V , atunci t A (e) := e(x); (Rt1 . . . tm ) (e) =
0 altfel.
I dacă t = c 2 C, atunci t A (e) := c A ;
I dacă t = ft1 . . . tm , atunci t A (e) := f A (t1A (e), . . . , tm
A (e)).

21 22

Interpretarea formulelor Interpretarea formulelor

Negaţia şi implicaţia


Notaţie
I (¬')A (e) = 1 'A (e);
Pentru orice variabilă x 2 V şi orice a 2 A, definim o nouă
I (' ! )A (e) = 'A (e) ! A (e), unde, interpretarea ex a : V ! A prin

p q p!q e(v ) dacă v 6= x
ex a (v ) =
0 0 1 a dacă v = x.
! : {0, 1} ⇥ {0, 1} ! {0, 1}, 0 1 1
1 0 0 Interpretarea formulelor
1 1 1
(
Prin urmare, 1 dacă 'A (ex a) = 1 pentru orice a 2 A
(8x')A (e) =
I (¬')A (e) = 1 () 'A (e) = 0. 0 altfel.
I (' ! )A (e) = 1 () 'A (e) = 0 sau A (e) =1 .

23 24
Relaţia de satisfacere Relaţia de satisfacere

_ , ^ , $ : {0, 1} ⇥ {0, 1} ! {0, 1},


Fie A o L-structură şi e : V ! A o interpretare a lui L ı̂n A.
p q p_q p q p^q p q p$q
Definiţia 2.12 0 0 0 0 0 0 0 0 1
Fie ' o formulă. Spunem că: 0 1 1 0 1 0 0 1 0
I e satisface ' ı̂n A dacă 'A (e) = 1. Notaţie: A ✏ '[e]. 1 0 1 1 0 0 1 0 0
I e nu satisface ' ı̂n A dacă 'A (e) = 0. Notaţie: A ✏
6 '[e]. 1 1 1 1 1 1 1 1 1
Fie ', formule şi x o variabilă.
Corolarul 2.13 Propoziţia 2.14
Pentru orice formule ', şi orice variabilă x,
(i) (' _ )A (e) = 'A (e) _ A (e);
(i) A ✏ ¬'[e] () A ✏
6 '[e].
(ii) (' ^ )A (e) = 'A (e) ^ A (e);
(ii) A ✏ (' ! )[e] () A ✏ '[e] implică A ✏ [e]
(iii) (' $ )A (e) = 'A (e) $ A (e);
() A ✏
6 '[e] sau A ✏ [e]. (
(iii) A ✏ (8x')[e] () pentru orice a 2 A, A ✏ '[ex 1 dacă există a 2 A a.ı̂. 'A (ex a) =1
a ]. (iv) (9x')A (e) =
Dem.: Exerciţiu uşor. 0 altfel.
25 Dem.: Exerciţiu uşor. Arătăm, de exemplu, (iv). 26

Relaţia de satisfacere

(9x')A (e) = 1 () (¬8x¬')A (e) = 1 () (8x¬')A (e) = 0


() există a 2 A a.ı̂. ( ¬')A (ex a) =0
A
() există a 2 A a.ı̂. ' (ex a) = 1.

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ă

Fie ' formulă a lui L.


Fie ' formulă a lui L. Definiţia 2.17
Spunem că ' este adevărată ı̂ntr-o L-structură A dacă pentru
Definiţia 2.16
orice evaluare e : V ! A,
Spunem că ' este satisfiabilă dacă există o L-structură A şi o
evaluare e : V ! A a.ı̂. A ✏ '[e].

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

Semantică Echivalenţe şi consecinţe logice

Fie ', formule ale lui L.


Definiţia 2.19 Propoziţia 2.21
' şi sunt logic echivalente dacă pentru orice L-structură A şi Pentru orice formule ', şi orice variabile x, y ,
orice evaluare e : V ! A,
¬9x' ✏ 8x¬' (1)
A ✏ '[e] () A ✏ [e].
Notaţie: ' ✏ ¬8x' ✏ 9x¬' (2)

Definiţia 2.20 8x(' ^ ) ✏ 8x' ^ 8x (3)


este consecinţă semantică a lui ' dacă pentru orice L-structură 8x' _ 8x ✏ 8x(' _ ) (4)
A şi orice evaluare e : V ! A, 9x(' ^ ) ✏ 9x' ^ 9x (5)
A ✏ '[e] ) A ✏ [e]. 9x(' _ ) ✏ 9x' _ 9x (6)
Notaţie: ' ✏ 8x(' ! ) ✏ 8x' ! 8x (7)
Observaţie 8x(' ! ) ✏ 9x' ! 9x (8)
(i) ' ✏ ddacă ✏ ' ! . 8x' ✏ 9x' (9)
(ii) ' ✏ ddacă ( ✏ ' şi ' ✏ ) ddacă ✏ $ '. 3 4
Echivalenţe şi consecinţe logice Egalitatea

' ✏ 9x' (10) Propoziţia 2.23


8x' ✏ ' (11) Pentru orice m 1, f 2 Fm , R 2 Rm şi orice termeni
8x8y ' ✏ 8y 8x' (12) ti , ui , i = 1, . . . , m,
9x9y ' ✏ 9y 9x' (13) ✏ (t1 = u1 ) ^ . . . ^ (tm = um ) ! ft1 . . . tm = fu1 . . . um (15)
9y 8x' ✏ 8x9y '. (14) ✏ (t1 = u1 ) ^ . . . ^ (tm = um ) ! (Rt1 . . . tm $ Ru1 . . . um ). (16)
Dem.: Exerciţiu. Dem.: Arătăm (15). Fie A o L-structură şi e : V ! A o evaluare
a.ı̂. A ✏ ((t1 = u1 ) ^ . . . ^ (tm = um ))[e]. Atunci A ✏ (ti = ui )[e]
Propoziţia 2.22 pentru orice i 2 {1, . . . , m}, deci tiA (e) = uiA (e) pentru orice
Pentru orice termeni s, t, u, i 2 {1, . . . , m}. Rezultă că
(i) ✏ t = t;
(ft1 . . . tm )A (e) = f A (t1A (e), . . . , tm
A
(e)) = f A (u1A (e), . . . , um
A
(e))
(ii) ✏ s = t ! t = s;
= (fu1 . . . um )A (e)
(iii) ✏ s = t ^ t = u ! s = u.
Dem.: Exerciţiu uşor. Aşadar, A ✏ (ft1 . . . tm = fu1 . . . um )[e].
5 6

Variabile legate şi libere Variabile legate şi libere

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}.

Exemplu Notaţie: '(x1 , . . . , xn ) dacă FV (') ✓ {x1 , . . . , xn }.


Fie ' = 8x(x = y ) ! x = z. Variabile libere: x, y , z. Variabile
legate: x.
7 8
Interpretarea termenilor Interpretarea termenilor

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

Interpretarea termenilor Interpretarea termenilor

• ' = 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 ] () R A (t1A (e1 ), . . . , tm


A
(e1 )) A ✏ [e1 ] () A ✏ [e2 ] şi A ✏ [e1 ] () A ✏ [e2 ].
() R A (t1A (e2 ), . . . , tm
A
(e2 )) () A ✏ '[e2 ]. Rezultă

• '=¬ . 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

• ' = 8x şi Propoziţia 2.27


e1 (v ) = e2 (v ) pentru orice v 2 FV (') = FV ( ) \ {x}. Pentru orice formule ', şi orice variabilă x 2
/ FV ('),

Rezultă că pentru orice a 2 A, ' ✏ 9x' (17)


e1 x a (v ) = e2 x a (v ) pentru orice v 2 FV ( ). ' ✏ 8x' (18)
Prin urmare, putem aplica ipoteza de inducţie pentru interpretările 8x(' ^ ) ✏ ' ^ 8x (19)
e1 x a , e2 x a pentru a conclude că
8x(' _ ) ✏ ' _ 8x (20)
pentru orice a 2 A, A ✏ [e1 x a] () A ✏ [e2 x a ]. 9x(' ^ ) ✏ ' ^ 9x (21)
Rezultă 9x(' _ ) ✏ ' _ 9x (22)
A ✏ '[e1 ] () pentru orice a 2 A, A ✏ [e1 x 8x(' ! ) ✏ ' ! 8x (23)
a]
() pentru orice a 2 A, A ✏ [e2 x 9x(' ! ) ✏ ' ! 9x (24)
a]
() A ✏ '[e2 ]. 8x( ! ') ✏ 9x !' (25)
9x( ! ') ✏ 8x !' (26)
13
Dem.: Exerciţiu. 14

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

Fie x o variabilă a lui L şi u termen al lui L.


Definiţia 2.31 I Vrem să definim analog 'x (u) ca fiind expresia obţinută din '
Pentru orice termen t al lui L, definim prin ı̂nlocuirea tuturor apariţiilor libere ale lui x cu u.
tx (u) := expresia obţinută din t prin ı̂nlocuirea tuturor I De asemenea, vrem ca următoarele proprietăţi naturale ale
apariţiilor lui x cu u.
substituţiei să fie adevărate:
Propoziţia 2.32 ✏ 8x' ! 'x (u) şi ✏ 'x (u) ! 9x'.
Pentru orice termen t al lui L, tx (u) este termen al lui L.
Apar ı̂nsă probleme.
Dem.: Demonstrăm prin inducţie(după termenul t.
y dacă y 6= x Fie ' := 9y ¬(x = y ) şi u := y . Atunci 'x (u) = 9y ¬(y = y ).
I t = y 2 V . Atunci yx (u) =
u dacă y = x. Avem
I t = c 2 C. Atunci cx (u) = c. I Pentru orice L-structură A cu |A| 2 avem că A ✏ 8x'.
I t = ft1 . . . tm şi, conform ipotezei de inducţie,
I 'x (u) nu este satisfiabilă.
(t1 )x (u), . . . , (tm )x (u) sunt termeni. Atunci
(ft1 . . . tm )x (u) = f (t1 )x (u) . . . (tm )x (u) este termen.
1 2

Substituţia Substituţia

Fie x o variabilă, u un termen şi ' o formulă.


Fie x o variabilă, u termen şi ' o formulă a.ı̂. x este liberă pentru
Definiţia 2.33 u ı̂n '.
Spunem că x este liberă pentru u ı̂n ' sau că u este substituibil
Definiţia 2.34
pentru x ı̂n ' dacă pentru orice variabilă y care apare ı̂n u, nici o
subformulă a lui ' de forma 8y nu conţine apariţii libere ale lui x. 'x (u) := expresia obţinută din ' prin ı̂nlocuirea tuturor
apariţiilor libere ale lui x cu u.
Observaţie Spunem că 'x (u) este o substituţie liberă.
x este liberă pentru u ı̂n ' ı̂n oricare din următoarele situaţii:
Propoziţia 2.35
I u nu conţine variabile;
'x (u) este formulă a lui L.
I ' nu conţine variabile care apar ı̂n u;
Dem.: Exerciţiu.
I nici o variabilă din u nu apare legată ı̂n ';
I x nu apare ı̂n '; Noţiunea de substituţie liberă evită problemele menţionate anterior
şi se comportă cum am aştepta.
I ' nu conţine apariţii libere ale lui x.
3 4
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ă

Propoziţia 2.41 ' = Q 1 x1 Q2 x 2 . . . Q n x n ,


(i) Pentru orice formulă ', dacă '0 este o variantă a lui ', atunci unde n 2 N, Q1 , . . . , Qn 2 {8, 9}, x1 , . . . , xn sunt variabile şi
' ✏ '0 ; este formulă liberă de cuantificatori. Formula se numeşte
(ii) Pentru orice formulă ' şi orice termen t, dacă variabilele lui t matricea lui ' şi Q1 x1 Q2 x2 . . . Qn xn este prefixul lui '.
se află printre y1 , . . . , yk şi '0 este varianta y1 , . . . , yk -liberă a Exemple de formule ı̂n formă normală prenex:
lui ', atunci '0x (t) este o substituţie liberă. I Formulele universale: ' = 8x1 8x2 . . . 8xn , unde n 2 N şi
este liberă de cuantificatori
I Formulele existenţiale: ' = 9x1 9x2 . . . 9xn , unde n 2 N şi
9 este liberă de cuantificatori 10

Forma normală prenex Forma normală prenex

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

Fie L un limbaj de ordinul ı̂ntâi care conţine


Teorema de formă normală prenex 2.44 I două simboluri de relaţii unare R, S şi două simboluri de
Pentru orice formulă ' există o formulă '⇤ ı̂n formă normală relaţii binare P, Q;
prenex a.ı̂. ' ✏ '⇤ şi FV (') = FV ('⇤ ). I un simbol de funcţie unară f şi un simbol de funcţie binară g ;
I două simboluri de constante c, d.
Dem.: (continuare) Conform Propoziţiei 2.41, ˜⇤ ✏ ⇤ şi ˜⇤ ✏ ⇤ .
De asemenea, FV ( ˜⇤ ) = FV ( ⇤ ) şi FV ( ˜⇤ ) = FV ( ⇤ ). Definim Exemplu
'⇤ := Q1c y1 . . . Qnc yn S1 w1 . . . Sm wm ( ˜0 ! ˜0 ). Să se găsească o formă normală prenex pentru
' := 9y (g (y , z) = c) ^ ¬9x(f (x) = d)
Atunci '⇤ este ı̂n formă normală prenex, FV ('⇤ ) = FV (') şi
'⇤ ✏ ˜⇤ ! ˜⇤ Avem
✏ ⇤
! ⇤ ' ✏ 9y g (y , z) = c ^ ¬9x(f (x) = d)
✏ ! = '. ✏ 9y g (y , z) = c ^ 8x¬(f (x) = d)
⇤ ✏ 9y 8x g (y , z) = c ^ ¬(f (x) = d)
• ' = 8x şi, conform ipotezei de inducţie, există o formulă ı̂n
formă normală prenex a.ı̂. ✏ ⇤ şi FV ( ) = FV ( ⇤ ). Prin urmare, '⇤= 9y 8x g (y , z) = c ^ ¬(f (x) = d) este o formă
Definim '⇤ := 8x ⇤ . normală prenex pentru '.
13 14

Forma normală prenex


Exemplu
Să se găsească o formă normală prenex pentru
' := ¬8y (S(y ) ! 9zR(z)) ^ 8x(8yP(x, y ) ! f (x) = d).
Avem că
' ✏ 9y ¬(S(y ) ! 9zR(z)) ^ 8x(8yP(x, y ) ! f (x) = d)
✏ 9y ¬9z(S(y ) ! R(z)) ^ 8x(8yP(x, y ) ! f (x) = d)
✏ 9y ¬9z(S(y ) ! R(z)) ^ 8x9y (P(x, y ) ! f (x) = d)
✏ 9y 8z¬(S(y ) ! R(z)) ^ 8x9y (P(x, y ) ! f (x) = d)
✏ 9y 8z ¬(S(y ) ! R(z)) ^ 8x9y (P(x, y ) ! f (x) = d)
✏ 9y 8z8x ¬(S(y ) ! R(z)) ^ 9y (P(x, y ) ! f (x) = d)
✏ 9y 8z8x ¬(S(y ) ! R(z)) ^ 9v (P(x, v ) ! f (x) = d)
✏ 9y 8z8x9v ¬(S(y ) ! R(z)) ^ (P(x, v ) ! f (x) = d)
'⇤ = 9y 8z8x9v ¬(S(y ) ! R(z)) ^ (P(x, v ) ! f (x) = d) este o
formă normală prenex pentru '. 15