Sunteți pe pagina 1din 45

Clauze si FNC

Clauze si CNF
Unei multimi de clauze S i asociem o formula S n FNC astfel:
I C = {L1 , . . . , Ln }, n 1 7 C := L1 L2 . . . Ln .
I  7  := v0 v0 .
Fie S = {C1 , . . . , Cm } o multime nevida de clauze. Formula
asociata lui S este
m
^
S :=
Ci .

Unei formule n FNC i asociem o multime de clauze S astfel:


Fie
:=

n
^

ki
_

i=1

Li,j ,

j=1

unde fiecare Li,j este literal. Pentru orice i, fie Ci clauza obtinuta
considerand toti literalii Li,j , j {1, . . . , ki } distincti. Fie S
multimea tuturor clauzelor Ci , i {1, . . . , n} distincte.

i=1

Formula asociata multimii vide de clauze este := v0 v0 .


Formula S nu este unic determinata, depinde de ordinea n care
se scriu elementele n clauze si n S, dar se observa imediat ca:
S = S 0 implica S S 0 .

S se mai numeste si forma clauzala a lui .

Propozitia 1.83

Propozitia 1.84

Pentru orice evaluare e : V {0, 1}, e  ddaca e  S .

Pentru orice evaluare e : V {0, 1}, e  S ddaca e  S .


Dem.: Exercitiu.

Dem.: Exercitiu.

Rezolutia

Rezolutia

Definitia 1.85
Exemplu

Fie C1 , C2 doua clauze. O clauza R se numeste rezolvent al


clauzelor C1 , C2 daca exista un literal L a.. L C1 , Lc C2 si

C1 = {v1 , v2 , v5 }, C2 = {v1 , v2 , v100 , v5 }.

R = (C1 \ {L}) (C2 \ {Lc }).

Regula Rezolutiei
Rez

C1 , C2
,
(C1 \ {L}) (C2 \ {Lc })

L C1 , Lc C2

Notam cu Res(C1 , C2 ) multimea rezolventilor clauzelor C1 , C2 .


I

Rezolutia a fost introdusa de Blake (1937) si dezvoltata de


Davis, Putnam (1960) si Robinson (1965).

Multe demonstratoare automate de teoreme folosesc rezolutia.


Limbajul PROLOG este bazat pe rezolutie.

Luam L := v5 . Atunci L C1 si Lc = v5 C2 . Prin urmare,


R = {v1 , v2 , v2 , v100 } este rezolvent al clauzelor C1 , C2 .

Daca luam L0 := v2 , atunci L0 C1 si L0c = v2 C2 . Prin


urmare, R 0 = {v1 , v5 , v100 , v5 } este rezolvent al clauzelor
C1 , C2 .

Exemplu
C1 = {v7 }, C2 = {v7 }. Atunci clauza vida  este rezolvent al
clauzelor C1 , C2 .

Rezolutie

Rezolutie

Exemplu

Fie S o multime de clauze.

Fie

Definitia 1.86

S = {{v1 , v2 }, {v2 , v3 , v4 }, {v1 }, {v3 }, {v4 }}.

O derivare prin rezolutie din S sau o S-derivare prin rezolutie este


o secventa C1 , C2 , . . . , Cn de clauze a.. pentru fiecare
i {1, . . . , n}, una din urmatoarele conditii este satisfacuta:

O derivare prin rezolutie a


C1 = {v4 }
C2 = {v2 , v3 , v4 }
C3 = {v2 , v3 }
C4 = {v3 }
C5 = {v2 }
C6 = {v1 , v2 }
C7 = {v1 }
C8 = {v1 }
C9 = 

(i) Ci este o clauza din S;


(ii) exista j, k < i a.. Ci este rezolvent al clauzelor Cj , Ck .

Definitia 1.87
Fie C o clauza. O derivare prin rezolutie a lui C din S este o
S-derivare prin rezolutie C1 , C2 , . . . , Cn a.. Cn = C .

clauzei vide  din S este


C1 S
C2 S
C3 rezolvent al clauzelor
C4 S
C5 rezolvent al clauzelor
C6 S
C7 rezolvent al clauzelor
C8 S
C9 rezolvent al clauzelor

urmatoarea:

C1 , C2
C3 , C4
C5 , C6
C7 , C8 .
6

Rezolutia

Corectitudinea rezolutiei

Pentru orice multime de clauze S, notam cu

Teorema de corectitudine a rezolutiei 1.88

Res(S) := {Res(C1 , C2 ) | C1 , C2 S}.

Fie S o multime de clauze. Daca  se deriveaza prin rezolutie din


S, atunci S este nesatisfiabila.
Dem.: Fie C1 , C2 , . . . , Cn =  o S-derivare prin rezolutie a lui .
Presupunem ca S este satisfiabila si fie e  S.
Demonstram prin inductie dupa i ca:

Propozitia 1.88
Pentru orice multime de clauze S si orice evaluare e : V {0, 1},
eS

e  Res(S).

pentru orice 1 i n, e  Ci .

Dem.: Daca Res(S) = , atunci este valida, deci e  Res(S).


Presupunem ca Res(S) este nevida si fie R Res(S). Atunci
exista clauze C1 , C2 S si un literal L a.. L C1 , Lc C2 si
R = (C1 \ {L}) (C2 \ {Lc }). Avem doua cazuri:
I e  L. Atunci e 6 Lc . Deoarece e  C2 , exist
a U C2 , U 6= Lc
a.. e  U. Deoarece U R, obtinem ca e  R.
I e  Lc . Atunci e 6 L. Deoarece e  C1 , exist
a U C1 , U 6= L
a.. e  U. Deoarece U R, obtinem ca e  R.

Pentru i = n, obtinem ca e  , ceea ce este o contradictie.


Cazul i = 1 este evident, deoarece C1 S.
Presupunem ca e  Cj pentru orice j < i. Avem doua cazuri:
I Ci S. Atunci e  Ci .
I exist
a j, k < i a.. Ci Res(Cj , Ck ). Deoarece, conform
ipotezei de inductie, e  {Cj , Ck } aplicam Propozitia 1.87
pentru a conclude ca e  Ci .
7

Algoritmul Davis-Putnam (DP)

Algoritmul Davis-Putnam (DP)

Intrare: S multime nevida de clauze netriviale.


i := 1, S1 := S.
S = {{v1 , v3 }, {v2 , v1 }, {v2 , v1 , v3 }}. i := 1, S1 := S.

Pi.1 Fie xi o variabila care apare n Si . Definim


Ti 1 := {C Si | xi C }, Ti 0 := {C Si | xi C }.
Pi.2 if (Ti 1 6= si Ti 0 6= ) then
Ui

:= {(C1 \ {xi }) (C0 \ {xi }) | C1 Ti 1 , C0 Ti 0 }.

else Ui := .
Pi.3 Definim

0
Si+1
:= Si \ (Ti 0 Ti 1 ) Ui ;
0
0
Si+1 := Si+1
\ {C Si+1
| C triviala}.

P1.1
P1.2
P1.3
P1.4

x1 := v3 ; T11 := {{v2 , v1 , v3 }}; T10 := {{v1 , v3 }}.


U1 := {{v2 , v1 , v1 }}.
S20 := {{v2 , v1 }, {v2 , v1 , v1 }}; S2 := {{v2 , v1 }}.
i := 2 and go to P2.1.

P2.1
P2.2
P2.3
P2.4

x2 := v2 ; T21 := {{v2 , v1 }}; T20 := .


U2 := .
S3 := .
S este satisfiabila.

Pi.4 if Si+1 = then S este satisfiabila.


else if  Si+1 then S este nesatisfiabila.
else {i := i + 1; go to Pi.1}.
10

Algoritmul Davis-Putnam (DP)

Algoritmul DP - terminare

S = {{v1 , v2 , v4 }, {v3 , v2 }, {v1 , v3 }, {v1 }, {v3 }, {v4 }}.


i := 1, S1 := S.
P1.1 x1 := v1 ; T11 := {{v1 , v3 }, {v1 }}; T10 := {{v1 , v2 , v4 }}.
P1.2 U1 := {{v3 , v2 , v4 }, {v2 , v4 }}.
P1.3 S2 := {{v3 , v2 }, {v3 }, {v4 }, {v3 , v2 , v4 }, {v2 , v4 }}.
P1.4 i := 2 and go to P2.1.

Notam:
Var (C ) := {x V | x C sau x C }, Var (S) :=

C S

Var (C ).

Asadar, Var (C ) = ddaca C =  si Var (S) = ddaca S =


sau S = {}.

P2.1.
P2.2
P2.3
P2.4

x2 := v2 ; T21 := {{v3 , v2 , v4 }, {v2 , v4 }}; T20 := {{v3 , v2 }}.


U2 := {{v3 , v4 , v3 }, {v4 , v3 }}.
S3 := {{v3 }, {v4 }, {v4 , v3 }}.
i := 3 and go to P3.1.

P3.1
P3.2.
P3.4

x3 := v3 ; T31 := {{v3 }}; T30 := {{v4 , v3 }}.


U3 := {{v4 }}.
P3.3 S4 := {{v4 }, {v4 }}.
i := 4 and go to P4.1.

P4.1
P4.2
P4.4

x4 := v4 ; T41 := {{v4 }}; T40 := {{v4 }}.


U4 := {}.
P4.3 S5 := {}.
S nu este satisfiabila.

Propozitia 1.90
Fie n := |Var (S)|. Atunci algoritmul DP se termina dupa cel mult
n pasi.
Dem.: Se observa imediat ca pentru orice i,
Var (Si+1 ) Var (Si ) \ {xi } ( Var (Si ).
Prin urmare, n = |Var (S1 )| > |Var (S2 )| > |Var (S3 )| > . . . 0.
Fie N n numarul de pasi dupa care se termina DP. Atunci
SN+1 = sau  SN+1 .

11

12

Algoritmul DP - corectitudine si completitudine

Algoritmul DP - corectitudine si completitudine

Propozitia 1.91

Pentru orice i N,
I

Si+1 este satisfiabila Si satisfiabila.


Dem.:
Presupunem ca Si este satisfiabila si fie e  Si . Se observa
imediat ca Si+1 Si Res(Si ). Prin urmare, folosind
corectitudinea rezolutiei, obtinem ca e  Si+1 .
Presupunem ca Si+1 este satisfiabila si fie e  Si+1 .
0 .
Deoarece orice clauza triviala este valida, rezulta ca e  Si+1
Avem urmatoarele cazuri:
0
0
I T 1 = . Atunci Ui =
si Si+1
= Si \ Ti 0 , deci Si = Si+1
Ti 0 .
i
0
0
0
Fie e := exi 0 . Atunci e (xi ) = 0, deci e  xi . Rezulta ca
e 0 este model pentru orice clauza din Ti 0 , adica e 0  Ti 0 .
0 ), deci
De asemenea, e(v ) = e 0 (v ) pentru orice v Var (Si+1
0 . Am obt
e 0  Si+1
inut ca e 0  Si .

13

Algoritmul DP - corectitudine si completitudine

Teorema 1.92
Algoritmul DP este corect si complet, adica,
S este nesatisfiabila ddaca  SN+1 .
Dem.: Aplicam Propozitia 1.91. Obtinem ca S = S1 este
satisfiabila ddaca SN+1 este satisfiabila ddaca 
/ SN+1 .

15

Ti 0 = . Se demonstreaza similar, folosind evaluarea


e 00 := exi 1 .
0
Ti 1 6= si Ti 0 6= . Se observa ca Si Si+1
(Ti 1 Ti 0 ).

Cazul 1: e(xi ) = 1. Definim e := exi 0 . Atunci


0 , e  T 1, e  T 0.
e, e  Si+1
i
i
Presupunem ca e, e 6 Ti 1 Ti 0 . Atunci exista C1 Ti 1 a..
e 6 C1 si C0 Ti 0 a.. e 6 C0 . Obtinem ca e 6 C0 \ {xi }.
Daca am avea ca e  C1 \ {xi }, atunci ar exista un literal L
care nu contine variabila xi a.. e  L, de unde am obtine ca
e  L, contradictie cu faptul ca e 6 C1 .
0 , o
Rezulta ca e 6 (C1 \ {xi }) (C0 \ {xi }) Ui Si+1
contradictie cu ipoteza.
Asadar, una din evaluarile e, e satisface Ti 1 Ti 0 , deci este
model pentru Si .
Cazul 2: e(xi ) = 0. Demonstratia e similara.
14

Limbaje de ordinul I
Un limbaj L de ordinul I este format din:

LOGICA DE ORDINUL I

o multime numarabila V = {vn | n N} de variabile;

conectorii si ;

paranteze: ( , );

simbolul de egalitate =;

cuantificatorul universal ;

o multime R de simboluri de relatii;

o multime F de simboluri de functii;

o multime C de simboluri de constante;

o functie aritate ari : F R N .

L este unic determinat de cvadruplul := (R, F, C, ari).


se numeste signatura lui L sau vocabularul lui L sau
alfabetul lui L sau tipul de similaritate al lui L

I
1

Limbaje de ordinul I

Limbaje de ordinul I

Fie L un limbaj de ordinul I.

Definitia 2.1

Multimea SimL a simbolurilor lui L este

Multimea ExprL a expresiilor lui L este multimea tuturor sirurilor


finite de simboluri ale lui L.

SimL := V {, , (, ), =, } R F C

Elementele lui R F C se numesc simboluri non-logice.


Elementele lui V {, , (, ), =, } se numesc simboluri logice.

Expresia vida se noteaza .

Lungimea unei expresii este numarul simbolurilor din .

Definitia 2.2
Notam variabilele cu x, y , z, v , . . ., simbolurile de relatii cu

Fie = 0 1 . . . k1 o expresie a lui L, unde i SimL pentru


orice i.

P, Q, R . . ., simbolurile de functii cu f , g , h, . . . si simbolurile de


constante cu c, d, e, . . ..

Daca 0 i j k 1, atunci expresia i . . . j se numeste


(i, j)-subexpresia lui ;

Spunem ca o expresie apare n daca exista


0 i j k 1 a.. este (i, j)-subexpresia lui ;

Notam cu Var () multimea variabilelor care apar n .

Pentru orice m N notam:


Fm

:=

multimea simbolurilor de functii de aritate m;

Rm

:=

multimea simbolurilor de relatii de aritate m.


3

Termeni

Termeni

Definitia 2.3
Multimea TrmL a termenilor lui L este intersectia tuturor
multimilor de expresii care satisfac urmatoarele proprietati:
I

orice variabila este element al lui ;

Propozitia 2.5 (Inductia pe termeni)

orice simbol de constanta este element al lui ;

Fie o multime de termeni care are urmatoarele proprietati:

daca m 1, f Fm si t1 , . . . , tm , atunci ft1 . . . tm .

Notatii:
I Termeni: t, s, t1 , t2 , s1 , s2 , . . ..
I Var (t) este mult
imea variabilelor care apar n termenul t.
I Scriem t(x1 , . . . , xn ) dac
a x1 , . . . , xn sunt variabile si
Var (t) {x1 , . . . , xn }.

contine variabilele si simbolurile de constante;

daca m 1, f Fm si t1 , . . . , tm , atunci ft1 . . . tm .

Atunci = TrmL .
Este folosita pentru a demonstra ca toti termenii au o proprietate
P: definim ca fiind multimea tuturor termenilor care satisfac P
si aplicam inductia pe termeni pentru a obtine ca = TrmL .

Definitia 2.4
Un termen t se numeste nchis daca Var (t) = .
5

Termeni

Formule
Definitia 2.6
Formulele atomice ale lui L sunt expresiile de forma:

Citire unica (Unique readability)

(s = t), unde s, t sunt termeni;

Daca t este un termen, atunci exact una din urmatoarele


alternative are loc:

(Rt1 . . . tm ), unde R Rm si t1 , . . . , tm sunt termeni.

t = x, unde x V ;

Definitia 2.7

t = c, unde c C;

t = ft1 . . . tm , unde f Fm (m 1) si t1 , . . . , tm sunt


termeni.

Multimea FormL a formulelor lui L este intersectia tuturor


multimilor de expresii care satisfac urmatoarele proprietati:

Mai mult, scrierea lui t sub una din aceste forme este unica.

orice formula atomica este element al lui ;

este nchisa la :

este nchisa la :

este nchisa la x (pentru orice variabila x):


atunci (x) pentru orice variabila x.

daca , atunci () ;
daca , , atunci ( ) ;
daca ,

Formule

Formule

Propozitia 2.8 (Inductia pe formule)

Notatii
I

Formule: , , , . . ..

Var () este multimea variabilelor care apar n formula .

Fie o multime de formule care are urmatoarele proprietati:

Conventie

contine toate formulele atomice;

este nchisa la , si x (pentru orice variabila x).

Atunci = FormL .

Ca si n cazul logicii propozitionale, de obicei renuntam la


parantezele exterioare, le punem numai atunci cand sunt necesare.
Atunci cand nu e pericol de confuzie, scriem s = t n loc de
(s = t), Rt1 . . . tm n loc de (Rt1 . . . tm ), x n loc de (x), etc..

Este folosita pentru a demonstra ca toate formulele satisfac o


proprietate P: definim ca fiind multimea tuturor formulelor care
satisfac P si aplicam inductia pe formule pentru a obtine ca
= FormL .

10

Formule

Formule
Conectori derivati
Conectorii , , si cuantificatorul existential sunt introdusi
prin urmatoarele abrevieri:

Citire unica (Unique readability)


Daca este o formula, atunci exact una din urmatoarele
alternative are loc:

:=

(() )

:=

( ()))

= (s = t), unde s, t sunt termeni;

:=

(( ) ( ))

= (Rt1 . . . tm ), unde R Rm si t1 , . . . , tm sunt termeni;

:=

(x()).

= (), unde este formula;

= ( ), unde , sunt formule;

= (x), unde x este variabila si este formula.

Conventii

Mai mult, scrierea lui sub una din aceste forme este unica.

11

Se aplica aceleasi conventii ca la logica propozitionala LP n


privinta precedentei conectorilor , , , , .

Cuantificatorii , au precedenta mai mare decat ceilalti


conectori.

Asadar, x este (x) si nu x( ).


12

L-structura

Notatii

Definitia 2.9
O L-structura este un cvadruplu
De multe ori identificam un limbaj L cu multimea simbolurilor sale
non-logice si scriem L = (R, F, C).

A = (A, F A , RA , C A )
unde

Scriem de multe ori f (t1 , . . . , tm ) n loc de ft1 . . . tm si


R(t1 , . . . , tm ) n loc de Rt1 . . . tm .

A este o multime nevida;

Pentru simboluri f de operatii binare scriem t1 ft2 n loc de


ft1 t2 .

F A = {f A | f F} este o multime de operatii pe A; daca f


are aritatea m, atunci f A : Am A;

Analog pentru simboluri R de relatii binare: scriem t1 Rt2 n


loc de Rt1 t2 .

RA = {R A | R R} este o multime de relatii pe A; daca R


are aritatea m, atunci R A Am ;

C A = {c A A | c C}.

A se numeste universul structurii A. Notatie: A = |A|

f A (respectiv R A , c A ) se numeste denotatia sau interpretarea


lui f (respectiv R, c) n A.

13

Exemple - Limbajul egalitatii L=

Exemple - Limbajul aritmeticii Lar


Lar = (R, F, C), unde
I R = {<};
<
este simbol de relatie binara, adica are aritatea 2;
+,
,
S};

sunt simboluri de operatii binare si S
I F = {+,
este simbol de operatie unar (adica are aritatea 1);

I C = {0}.
0)
0).
sau Lar = (<,

,
S;
,
S,
+,
+,
Scriem Lar = (<;

L= = (R, F, C), unde


I

R=F =C=

acest limbaj este potrivit doar pentru a exprima proprietati ale


egalitatii

L= -structurile sunt multimile nevide

14

Exemple de formule:
egalitatea este simetrica:

Exemplul natural de Lar -structura:


N := (N, <, +, , S, 0),

xy (x = y y = x)

unde S : N N, S(m) = m + 1 este functia succesor. Prin urmare,

universul are cel putin trei elemente:

N = +,
N = , S N = S, 0 N = 0.
N =<, +
<

xy z((x = y ) (y = z) (z = x))

Alt exemplu de Lar -structura: A = ({0, 1}, <, , , , 1).


15

16

Exemple - Limbajul grupurilor LGr

Exemplu - Limbajul cu un simbol de relatie binar

LGr = (R, F, C), unde

LR = (R, F, C), unde


I

R = {R}; R simbol binar

F =C=

L-structurile sunt multimile nevide mpreuna cu o relatie


binara

R = ;

1
F = {,
}; simbol binar,

C = {e}.

simbol unar

1
1
Scriem LGr = (; ,
; e)
sau LGr = (,
, e).

Exemple naturale de LGr -structuri sunt grupurile: G = (G , ,1 , e).

Daca suntem interesati de multimi partial ordonate (A, ),


n loc de R si notam limbajul cu L .
folosim simbolul

Prin urmare, G = , 1
=1 , e G = e.

Daca suntem interesati de multimi strict ordonate (A, <),


n loc de R si notam limbajul cu L< .
folosim simbolul <

Pentru a discuta despre grupuri abeliene (comutative), este


traditional sa se foloseasca limbajul LAbGr = (R, F, C), unde

Daca suntem interesati de grafuri G = (V , E ), folosim


simbolul E n loc de R si notam limbajul cu LGraf .

I
I

Daca suntem interesati de structuri (A, ), folosim simbolul


n loc de R si notam limbajul cu L .

R = ;
};
+
simbol binar,
simbol unar;
F = {+,

C = {0}.

,
0).
Scriem LAbGr = (+,
18

17

Interpretare (evaluare)

Fie L un limbaj de ordinul I si A o L-structura.

Definitia 2.10
O interpretare sau evaluare a (variabilelor) lui L n A este o functie
e : V A.
In continuare, e : V A este o interpretare a lui L in A.

SEMANTICA

Definitia 2.11 (Interpretarea termenilor)


Prin inductie pe termeni se defineste interpretarea t A (e) A a
termenului t sub evaluarea e:

19

daca t = x V , atunci t A (e) := e(x);

daca t = c C, atunci t A (e) := c A ;

A (e)).
daca t = ft1 . . . tm , atunci t A (e) := f A (t1A (e), . . . , tm
20

Interpretarea formulelor

Interpretarea formulelor

Prin inductie pe formule se defineste interpretarea


A (e) {0, 1}

Negatia si implicatia

a formulei sub evaluarea e.




(s = t) (e) =
(Rt1 . . . tm )A (e) =

()A (e) = A (e);

( )A (e) = A (e) A (e).

Prin urmare,

1 daca s A (e) = t A (e)


0 altfel.
A (e))
1 daca R A (t1A (e), . . . , tm
0 altfel.

()A (e) = 1 A (e) = 0.

( )A (e) = 1


A (e) = 0 sau A (e) = 1 .

22

21

Interpretarea formulelor

Relatia de satisfacere
Fie A o L-structura si e : V A o interpretare a lui L n A.

Notatie

Definitia 2.12

Pentru orice variabila x V si orice a A, definim o noua


interpretarea exa : V A prin

e(v ) daca v 6= x
exa (v ) =
a
daca v = x.

Fie o formula. Spunem ca:


I

e satisface n A daca A (e) = 1. Notatie: A  [e].

e nu satisface n A daca A (e) = 0. Notatie: A 


6 [e].

Corolarul 2.13
Interpretarea formulelor
(x)A (e) =

(
1
0

Pentru orice formule , si orice variabila x,


(i) A  [e] A 6 [e].
A (e

daca
altfel.

xa )

= 1 pentru orice a A

(ii) A  ( )[e] A  [e] implica A  [e]


A 6 [e] sau A  [e].
(iii) A  (x)[e] pentru orice a A, A  [exa ].
Dem.: Exercitiu usor.
23

24

Relatia de satisfacere
Fie , formule si x o variabila.

Propozitia 2.14
(i) ( )A (e) = A (e) A (e);
(ii) ( )A (e) = A (e) A (e);
(iii) ( )A (e) = A (e) A (e);
(
1 daca exista a A a.. A (exa ) = 1
(iv) (x)A (e) =
0 altfel.
Dem.:

Exercitiu usor.

Corolarul 2.15
(i) A  ( )[e] A  [e] si A  [e].
(ii) A  ( )[e] A  [e] sau A  [e].
(iii) A  ( )[e] A  [e] ddaca A  [e].
(iv) A  (x)[e] exista a A a.. A  [exa ].

25

Semantica

Semantica
Fie , formule ale lui L.

Fie formula a lui L.

Definitia 2.18

Definitia 2.16

si sunt logic echivalente daca pentru orice L-structura A si


orice evaluare e : V A,

Spunem ca este adevarata ntr-o L-structura A daca pentru


orice evaluare e : V A,
A  [e].

Notatie: 

A  [e] A  [e].

Spunem si ca A satisface sau ca A este un model al lui .

Definitia 2.19

Notatie: A 

este consecinta semantica a lui daca pentru orice L-structura


A si orice evaluare e : V A,

Definitia 2.17
Spunem ca este formula universal adevarata sau (logic) valida
daca pentru orice L-structura A,
Notatie: 

Notatie: 

A  [e]

A  [e].

Observatie

A  .

(i)  ddaca  .
1

Echivalente si consecinte logice

(ii)  ddaca (  si  ) ddaca  .

Echivalente si consecinte logice


 x

Propozitia 2.20

x 

Pentru orice formule , si orice variabile x, y ,

(10)
(11)

xy  y x

(12)

x  x

(1)

xy  y x

(13)

x  x

(2)

y x  xy .

(14)

x( )  x x

(3)

x x  x( )

(4)

x( )  x x

(5)

Propozitia 2.21

x( )  x x

(6)

Pentru orice termeni s, t, u,

x( )  x x

(7)

(i)  t = t;

x( )  x x

(8)

(ii)  s = t t = s;

x  x

(9)

(iii)  s = t t = u s = u.

Dem.: Exercitiu.

Dem.: Exercitiu usor.


3

Egalitatea

Variabile legate si libere


Definitia 2.23

Propozitia 2.22

Fie = 0 1 . . . n1 o formula a lui L si x o variabila.

Pentru orice m 1, f Fm , R Rm si orice termeni


ti , ui , i = 1, . . . , m,
 (t1 = u1 ) . . . (tm = um ) ft1 . . . tm = fu1 . . . um

spunem ca variabila x apare legata pe pozitia k n daca


x = k si exista 0 i k j n 1 a.. (i, j)-subexpresia
lui este o subformula a lui de forma x;

spunem ca x apare libera pe pozitia k n daca x = k , dar x


nu apare legata pe pozitia k n ;

x este variabila legata (bounded variable) a lui daca exista


un k a.. x apare legata pe pozitia k n ;

x este variabila libera (free variable) a lui daca exista un k


a.. x apare libera pe pozitia k n .

(15)

 (t1 = u1 ) . . . (tm = um ) (Rt1 . . . tm Ru1 . . . um ). (16)


Dem.: Aratam (15). Fie A o L-structura si e : V A o evaluare
a.. A  ((t1 = u1 ) . . . (tm = um ))[e]. Atunci A  (ti = ui )[e]
pentru orice i {1, . . . , m}, deci tiA (e) = uiA (e) pentru orice
i {1, . . . , m}. Rezulta ca
A
A
(ft1 . . . tm )A (e) = f A (t1A (e), . . . , tm
(e)) = f A (u1A (e), . . . , um
(e))

Exemplu

= (fu1 . . . um )A (e)

Fie = x(x = y ) x = z. Variabile libere: x, y , z. Variabile


legate: x.

Asadar, A  (ft1 . . . tm = fu1 . . . um )[e].


5

Variabile legate si libere

Interpretarea termenilor/formulelor

Propozitia 2.24

Notatie: FV () := multimea variabilelor libere ale lui .

Pentru orice L-structura A si orice interpretari e1 , e2 : V A,


pentru orice termen t,

Definitie alternativa

daca e1 (v ) = e2 (v ) pentru orice variabila v Var (t), atunci


t A (e1 ) = t A (e2 ).

Multimea FV () a variabilelor libere ale unei formule poate fi


definita si prin inductie pe formule:
FV ()

Var (),

daca este formula atomica;

FV ()

FV ();

Propozitia 2.25

FV ( )

FV () FV ();

FV (x)

FV () \ {x}.

Pentru orice L-structura A, orice interpretari e1 , e2 : V A,


pentru orice formula ,

Dem.: Exercitiu suplimentar.

daca e1 (v ) = e2 (v ) pentru orice variabila v FV (), atunci


A  [e1 ] A  [e2 ].

Notatie: (x1 , . . . , xn ) daca FV () {x1 , . . . , xn }.

Dem.: Exercitiu suplimentar.


7

Echivalente si consecinte logice

Interpretarea formulelor

Propozitia 2.26

Notatie

Pentru orice formule , si orice variabila x


/ FV (),

Fie t(x1 , . . . , xn ) un termen. Scriem

 x

(17)

 x

(18)

t A [a1 , . . . , an ]
n loc de t A (e), unde e : V A este o (orice) interpretare a..
e(x1 ) = a1 , . . . , e(xn ) = an .

x( )  x

(19)

x( )  x

(20)

x( )  x

(21)

x( )  x

(22)

x( )  x

(23)

x( )  x

(24)

A  [a1 , . . . , an ]

x( )  x

(25)

x( )  x

(26)

n loc de A  [e], unde e : V A este o (orice) interpretare a..


e(x1 ) = a1 , . . . , e(xn ) = an .

Dem.: Exercitiu.

Notatie
Fie (x1 , . . . , xn ) o formula. Scriem

10

Enunturi

Tautologii
Notiunea de tautologie se pot aplica si unui limbaj de ordinul ntai.
Intuitiv: o tautologie este o formula adevarata numai pe baza
interpretarilor conectivelor , .

Definitia 2.27
O formula se numeste enunt (sentence) daca FV () = , adica
nu are variabile libere.
Notatie: SentL := multimea enunturilor lui L.

Definitia 2.29
O L-evaluare (de adevar) este o functie F : FormL {0, 1} cu
urmatoarele proprietati: pentru orice formule , ,
I F () = F ();

Propozitia 2.28
Daca este un enunt, atunci
A  [e1 ] A  [e2 ]

pentru orice interpretari e1 , e2 : V A.


Dem.: Este o consecinta imediata a Propozitiei 2.25 si a faptului
ca FV () = .

Propozitia 2.30
Pentru orice L-structura A si orice evaluare e : V A, functia
Ve,A : FmL {0, 1},

Exemplu
I

 x(x = x);

A
6 x(x = x) pentru orice L-structura A.

F ( ) = F () F ().

Ve,A () = A (e)

este o L-evaluare.
Dem.: Exercitiu usor.
11

12

Tautologii

Multimi de formule
Fie o multime de formule.

Definitia 2.31

Definitia 2.33

este tautologie daca F () = 1 pentru orice L-evaluare F .

O L-structura A este model al lui daca A  pentru orice


. Notatie: A 

Propozitia 2.32

Definitia 2.34

Orice tautologie este valida.


Dem.: Fie A o L-structura si e : V A o evaluare. Deoarece
este tautologie si Ve,A este L-evaluare, rezulta ca
A (e) = Ve,A () = 1, adica A  [e].

Spunem ca este satisfiabila daca are un model.


Daca nu este satisfiabila, spunem si ca este nesatisfiabila sau
contradictorie.

Definitia 2.35

Exemplu

O formula este consecinta semantica a lui daca pentru orice


L-structura A

x = x este valida, dar nu e tautologie.

A

A  .

Notatie:  .
14

13

Multimi de formule

Axiome logice

Definitia 2.38
Definitia 2.36

Multimea AxmL a axiomelor ale lui L consta din toate formulele


de forma:
(A1) , daca este tautologie
(A2) x( ) (x x), daca , sunt formule si
x este variabila
(A3) x, daca este formula si x este variabila
care nu apare n
(A4) x(x = t), daca t este termen si x este variabila
care nu apare n t
(A5) s = t ( ), daca si sunt formule atomice si
se obtine din nlocuind o aparitie a lui s cu t

O multime de formule este consecinta semantica a lui daca


 pentru orice . Notatie:  .

Propozitia 2.37
(i)  ddaca  ;
(ii) Daca si  , atunci  .
(iii) Daca  si  , atunci  .
Dem.: Exercitiu usor.

15

16

Reguli de deductie

Definitia 2.39
Regulile de deductie (sau inferenta) sunt urmatoarele:
(MP)
din si se infera (modus ponens).
(GEN)

daca x este variabila, atunci din se infera x


(generalizarea).

(MP) :

(GEN) :

.
x

17

-teoreme

-teoreme

Fie o multime de formule ale lui L.

Notatii
`L
ThmL
`L
`L

Definitia 2.40
Multimea ThmL () a -teoremelor lui L este intersectia tuturor
multimilor de formule care satisfac urmatoarele proprietati:
(i) AxmL ;
(ii) ;
(iii) este nchisa la regulile de deductie, adica

:=
:=
:=
:=

este -teorema
ThmL ()
`L
`L pentru orice .

Definitia 2.41
O formula se numeste teorema (logica) a lui L daca `L .

(a) daca si , atunci ;


(b) daca , atunci x .

Conventie

Daca ThmL (), atunci spunem si ca este dedusa din


ipotezele .

Cand L este clar din context, scriem Axm, Thm, Thm(), ` ,


` , etc..
1

-teoreme

-teoreme

Reformuland conditiile din definitia -teoremelor folosind notatia


`, obtinem

Definitia -teoremelor da nastere la metoda de demonstratie prin


inductie dupa -teoreme. Demonstram ca orice -teorema are o
proprietate P astfel:

Propozitia 2.42

(i) demonstram ca orice axioma are proprietatea P;

Pentru orice multime de formule si orice formule , , au loc


urmatoarele proprietati:

(ii) demonstram ca orice formula din are proprietatea P;

(i) daca este axioma, atunci ` ;

(iii) demonstram ca daca si au proprietatea P, atunci


are proprietatea P;

(ii) daca , atunci ` ;

(iv) demonstram ca daca are proprietatea P, atunci x are


proprietatea P.

(iii) daca ` si ` , atunci ` ;


(iv) daca ` , atunci ` x.

-demonstratii

-demonstratii

Definitia 2.43
Definitia 2.44

O -demonstratie (demonstratie din ipotezele ) este o secventa


de formule 1 , . . ., n a.. pentru fiecare i {1, . . . , n}, una din
urmatoarele conditii este satisfacuta:

Fie o formula. O -demonstratie a lui sau demonstratie a lui


din ipotezele este o -demonstratie 1 , . . ., n a.. n = . In
acest caz, n se numeste lungimea -demonstratiei.

(i) i este axioma;


(ii) i ;

Propozitia 2.45

(iii) exista k, j < i a.. k = j i ;

Fie o multime de formule si o formula. Atunci ` ddaca


exista o -demonstratie a lui .

(iv) exista j < i si x V a.. i = xj .


O -demonstratie se va numi simplu demonstratie.

Multimi consistente

Teorema de completitudine
Teorema de completitudine - prima versiune

Definitia 2.46

Pentru orice formula ,

O multime de formule se numeste consistenta daca exista o


formula astfel ncat 6` .
se numeste inconsistenta daca nu este consistenta, i.e. `
pentru orice formula .

`
I
I

Propozitia 2.47
Pentru orice multime de formule, urmatoarele afirmatii sunt
echivalente:

 .

Teorema de completitudine a fost demonstrata de Godel n


1929 n teza sa de doctorat.
Henkin a dat n 1949 o demonstratie simplificata.

Teorema de completitudine tare - prima versiune


Orice multime consistenta de enunturi este satisfiabila.

(i) este inconsistenta;


(ii) pentru orice formula , ` si ` ;

Teorema de completitudine tare - a doua versiune

(iii) exista o formula a.. ` si ` .

Pentru orice multime de formule si orice formula ,


`
7

 .
8

Teorii

Teorii

Notatie: Pentru orice multime de enunturi , notam


Mod() := clasa modelelor lui .
Notam Mod(1 , . . . , n ) n loc de Mod({1 , . . . , n }).

Definitia 2.50

Lema 2.48

O L-teorie este o multime T de enunturi ale lui L care este nchisa


la consecinta semantica, adica:

Pentru orice multimi de enunturi , si orice enunt ,


(i)  Mod() Mod().

pentru orice enunt ,

(ii) = Mod() Mod().

T  = T .

Observatie: O L-teorie T este completa pentru orice enunt


, avem ca T sau T .

(iii) este satisfiabila Mod() 6= .

Definitia 2.49
O multime de enunturi se numeste completa daca pentru orice
enunt ,
 sau  .
9

Teorii

10

Teorii
Propozitia 2.52
(i) Th().
(ii) Mod() = Mod(Th()).

Definitia 2.51

(iii) Th() este o teorie.

Pentru orice multime de enunturi , teoria generata de este


multimea

(iv) Th() este cea mai mica teorie T a.. T .


Dem.:
(i) Pentru orice , avem ca  , deci Th().
(ii) Conform (i) si Observatiei 2.49.(i).
Conform definitiei lui Th().
(iii) Pentru orice enunt , avem ca
Th()  Mod(Th()) Mod()
Mod() Mod() (conform (ii)) Th().
(iv) Fie T o teorie care contine si Th(). Din
Mod() Mod() si Mod(T ) Mod() rezulta ca
Mod(T ) Mod(), deci T  . Deoarece T este teorie,
obtinem ca T . Asadar, Th() T .

Th() := { | este enunt si  }


=

{ | este enunt si Mod() Mod()}.

Spunem ca este o multime de axiome pentru Th().

11

12

Teorii

Teorii

O teorie prezentata ca Th() se numeste teorie axiomatica


sau teorie prezentata axiomatic. se numeste multime de
axiome pentru Th().

Orice teorie poate fi prezentata axiomatic, dar suntem


interesati de multimi de axiome care satisfac anumite conditii.

Propozitia 2.53
Pentru orice multimi de enunturi , ,
(i) = Th() Th().
(ii) este teorie = Th().

Definitia 2.54

(iii) Th() = { | este enunt valid} este inclusa n orice teorie.

O teorie T este finit axiomatizabila dacaT = Th() pentru o


multime de enunturi finita .

Dem.: Exercitiu usor.

Definitia 2.55
O clasa K de L-structuri este axiomatizabila daca K = Mod()
pentru o multime de enunturi . Spunem si ca axiomatizeaza K.
14

13

Exemple - Teoria relatiilor de echivalenta


I

, ) = ()

L = (,

L -structurile sunt A = (A, ), unde este relatie binara.

Exemple - Teoria relatiilor de echivalenta

Consideram urmatoarele enunturi:

(REFL) := x(x x)
y x)

(SIM) := xy (x y
y z
x z)

(TRANZ ) := xy z(x y

Daca adaugam axioma:



z(z x
(z = x z = y )) ,
xy x 6= y x y

Definitie

obtinem teoria relatiilor de echivalenta cu proprietatea ca orice


clasa de echivalenta are exact doua elemente.

Teoria relatiilor de echivalenta este


T := Th((REFL), (SIM), (TRANZ )).
I
I
I
I

T este finit axiomatizabila;


Fie K clasa structurilor (A, ), unde este relatie de
echivalenta pe A.
K = Mod(T ), deci T axiomatizeaza K.
Spunem si ca T axiomatizeaza clasa relatiilor de echivalenta.
15

16

Exemple - Teoria ordinii partiale

Exemple - Teoria ordinii stricte

, ) = ()

L = (,

L -structurile sunt A = (A, ), unde este relatie binara.

, ) = (<)

L< = (<,

L< -structurile sunt A = (A, <), unde < este relatie binara.

Consideram urmatoarele enunturi:

(REFL) := x(x x)
y x
x = y)
(ANTISIM) := xy (x y
y z
x z)

(TRANZ ) := xy z(x y

Consideram urmatoarele enunturi:

(IREFL) := x(x <x)


y <z
x <z)

(TRANZ ) := xy z(x <y

Definitie
Definitie

Teoria ordinii stricte este

Teoria ordinii partiale este

T := Th((IREFL), (TRANZ )).

T := Th((REFL), (ANTISIM), (TRANZ )).


I
I
I

T este finit axiomatizabila;


modelele lui T sunt multimile partial ordonate.
T axiomatizeaza clasa relatiilor de ordine partiala.

T este finit axiomatizabila;

modelele lui T sunt multimile strict ordonate.

T axiomatizeaza clasa relatiilor de ordine stricta.

17

18

Exemple - Teoria ordinii totale

Exemple - Teoria ordinii dense

Consideram urmatorul enunt:

Consideram urmatorul enunt:


z(x <z
z <y
) .
(DENS) := xy x <y

y <x)

(TOTAL) := xy (x = y x <y

Definitie

Definitie

Teoria ordinii totale este

Teoria ordinii dense este

T := Th((IREFL), (TRANZ ), (TOTAL)).

T := Th((IREFL), (TRANZ ), (TOTAL), (DENS)).

T este finit axiomatizabila;

T este finit axiomatizabila;

modelele lui T sunt multimile total (liniar) ordonate.

modelele lui T sunt multimile dens ordonate.

T axiomatizeaza clasa relatiilor de ordine totala.

T axiomatizeaza clasa relatiilor de ordine densa.

19

20

Exemple - Teoria grafurilor

LGraf = (E , , ) = (E )

LGraf -structurile sunt A = (A, E ), unde E este relatie binara.

Exemple

Pentru orice n 2, notam urmatorul enunt cu n :



x1 . . . xn (x1 = x2 ) (x1 = x3 ) . . . (xn1 = xn ) ,

Consideram urmatoarele enunturi:


(IREFL) := xE (x, x)
(SIM) := xy (E (x, y ) E (y , x)).

pe care l scriem mai compact astfel:

^
n = x1 . . . xn

Definitie

(xi = xj ) .

1i<jn

Teoria grafurilor este


T := Th((IREFL), (SIM)).
I

T este finit axiomatizabila;

modelele lui T sunt grafurile.

Propozitia 2.56
Pentru orice L-structura A si orice n 1,
A  n A are cel putin n elemente.
Dem.: Exercitiu usor.
21

Exemple
Notatii
I

Pentru uniformitate, notam 1 := x(x = x).

n := n+1

=n := n n

Propozitia 2.57
Pentru orice L-structura A si orice n 1,
A  n A are cel mult n elemente
A  =n A are exact n elemente.
Dem.: Exercitiu usor.

Propozitia 2.58
Fie T := Th({n | n 1}). Atunci pentru orice L-structura A,
A  T A este multime infinita.
Dem.: Exercitiu usor.

23

22

FMI, Info, Anul I


Semestrul I, 2015/2016
Logic
a matematic
a si computational
a
Laurentiu Leustean,
Alexandra Otiman, Andrei Sipos
15-16.12.2015

Seminar 11
(S11.1) Sa se determine multimea Res(C1 , C2 ) n fiecare din urmatoarele cazuri:
(i) C1 := {v1 , v4 , v5 }; C2 := {v4 , v5 , v6 };
(ii) C1 := {v3 , v4 , v5 }; C2 := {v3 , v1 , v6 , v4 };
(iii) C1 := {v1 , v3 }; C2 := {v1 , v2 }.
Demonstratie:
(i) Putem alege doar L := v4 , deci exista un singur rezolvent, anume {v1 , v5 , v6 }.
(ii) Putem rezolva clauzele, pe rand, dupa L := v3 si L := v4 , obtinand asadar
Res(C1 , C2 ) = {{v4 , v5 , v1 , v6 , v4 }, {v3 , v5 , v3 , v1 , v6 }}.
(iii) Nu exista L astfel ncat L C1 si Lc C2 , deci Res(C1 , C2 ) = .

(S11.2) Derivati prin rezolutie clauza C := {v0 , v2 , v3 } din multimea


S := {{v0 , v4 }, {v1 , v2 , v0 }, {v4 , v0 , v1 }, {v0 , v3 }}.
Demonstratie:

Notam:

C1
C2
C3
C4
C5
C6
C7

:= {v0 , v4 }
:= {v1 , v2 , v0 }
:= {v4 , v0 , v1 }
:= {v0 , v3 }
:= {v0 , v1 }
:= {v1 , v2 , v3 }
:= {v0 , v2 , v3 }

(rezolvent al C1 , C3 )
(rezolvent al C2 , C4 )
(rezolvent al C5 , C6 )

Avem, asadar, ca secventa (C1 , C2 , . . . , C6 , C7 = C) este o derivare prin rezolutie a lui C din
S.
(S11.3) Sa se deriveze prin rezolutie clauza C := {v0 , v2 } din forma clauzala a unei formule
n FNC echivalente semantic cu:
:= ((v0 v1 ) v2 ) (v0 v1 )
Demonstratie:

Inlocuind implicatiile si aplicand legile de Morgan, obtinem ca:


((v0 v1 ) v2 ) (v0 v1 )
(v0 v1 v2 ) (v0 v1 ),

o formula n FNC pe care o notam cu 0 , a carei forma clauzala este


S0 = {C1 := {v0 , v1 , v2 }, C2 := {v0 , v1 }}.
Din faptul ca v1 C2 si v1 C1 , avem ca
(C1 \ {v1 }) (C2 \ {v1 }) = {v0 , v2 } = C
este un rezolvent al clauzelor C1 si C2 . Cum C1 si C2 sunt n S0 , avem asadar ca (C1 , C2 , C)
este o derivare prin rezolutie a lui C din S0 , forma clauzala a lui 0 , formula n FNC
echivalenta semantic cu .
(S11.4) Sa se arate, folosind rezolutia, ca formula:
:= (v0 v2 ) (v2 v1 ) v1 (v0 v4 ) v3 (v4 v3 )
este nesatisfiabila.
Demonstratie: Inlocuind implicatiile, obtinem ca:
2

(v0 v2 ) (v2 v1 ) v1 (v0 v4 ) v3 (v4 v3 ),


o formula n FNC pe care o notam cu 0 . Notand:
C1
C2
C3
C4
C5
C6

:= {v0 , v2 }
:= {v2 , v1 }
:= {v1 }
:= {v0 , v4 }
:= {v3 }
:= {v4 , v3 }

se observa ca S0 = {C1 , C2 , C3 , C4 , C5 , C6 }. Notand mai departe:


C7
C8
C9
C10
C11

:= {v2 }
:= {v0 }
:= {v4 }
:= {v3 }
:= 

(rezolvent al C2 , C3 )
(rezolvent al C1 , C7 )
(rezolvent al C4 , C8 )
(rezolvent al C6 , C9 )
(rezolvent al C5 , C10 )

avem ca secventa (C1 , C2 , . . . , C11 ) este o derivare prin rezolutie a lui  din S0 , de unde,
aplicand Teorema 1.88, rezulta ca S0 este nesatisfiabila. Din Propozitia 1.83, rezulta ca 0
este nesatisfiabila, deci si , care este echivalenta semantic cu 0 , este nesatisfiabila.
(S11.5) Sa se ruleze algoritmul Davis-Putnam pentru intrarea:
{{v0 , v1 , v2 }, {v3 , v1 , v4 }, {v0 , v4 , v5 }, {v2 , v6 }, {v5 , v6 }, {v0 , v3 }, {v0 }, {v6 }}.
Demonstratie:

Notand multimea de clauze de mai sus cu S, obtinem urmatoarea rulare:

P 1.1.

P 1.2.
P 1.3.
P 1.4.
P 2.1.

P 2.2.
P 2.3.
P 2.4.
P 3.1.

P 3.2.
P 3.3.
P 3.4.
P 4.1.

P 4.2.
P 4.3.
P 4.4.
P 5.1.

P 5.2.
P 5.3.
P 5.4.

i := 1
S1 := S
x1 := v0
T11 := {{v0 }}
T10 := {{v0 , v1 , v2 }, {v0 , v4 , v5 }, {v0 , v3 }}
U1 := {{v1 , v2 }, {v4 , v5 }, {v3 }}
S2 := {{v3 , v1 , v4 }, {v2 , v6 }, {v5 , v6 }, {v6 }, {v1 , v2 }, {v4 , v5 }, {v3 }}
i := 2; goto P 2.1
x2 := v1
T21 := {{v3 , v1 , v4 }}
T20 := {{v1 , v2 }}
U2 := {{v3 , v4 , v2 }}
S3 := {{v2 , v6 }, {v5 , v6 }, {v6 }, {v4 , v5 }, {v3 }, {v3 , v4 , v2 }}
i := 3; goto P 3.1
x3 := v2
T31 := {{v3 , v4 , v2 }}
T30 := {{v2 , v6 }}
U3 := {{v3 , v4 , v6 }}
S4 := {{v5 , v6 }, {v6 }, {v4 , v5 }, {v3 }, {v3 , v4 , v6 }}
i := 4; goto P 4.1
x4 := v3
T41 := {{v3 }}
T40 := {{v3 , v4 , v6 }}
U4 := {{v4 , v6 }}
S5 := {{v5 , v6 }, {v6 }, {v4 , v5 }, {v4 , v6 }}
i := 5; goto P 5.1
x5 := v4
T51 := {{v4 , v6 }}
T50 := {{v4 , v5 }}
U5 := {{v5 , v6 }}
S6 := {{v5 , v6 }, {v6 }, {v5 , v6 }}
i := 6; goto P 6.1

P 6.1.

P 6.2.
P 6.3.
P 6.4.
P 7.1.

P 7.2.
P 7.3.
P 7.4.

x6 := v5
T61 := {{v5 , v6 }}
T60 := {{v5 , v6 }}
U6 := {{v6 }}
S7 := {{v6 }, {v6 }}
i := 7; goto P 7.1
x7 := v6
T71 := {{v6 }}
T70 := {{v6 }}
U7 := {}
S8 := {}
 S8 S este nesatisfiabila.

(S11.6) Exista o derivare prin rezolutie a lui  din multimea de clauze S := {C1 :=
{v0 , v1 }, C2 := {v0 , v1 }}? Justificati.
Demonstratie: Fie multimea de clauze S 0 := {C1 , C2 , C3 := {v0 , v0 }, C4 := {v1 , v1 }}.
Observam ca S S 0 si ca:
Res(C1 , C1 ) =
Res(C1 , C2 ) = {C3 , C4 }
Res(C1 , C3 ) = {C1 }
Res(C1 , C4 ) = {C1 }
Res(C2 , C2 ) =
Res(C2 , C3 ) = {C2 }
Res(C2 , C4 ) = {C2 }
Res(C3 , C3 ) = {C3 }
Res(C3 , C4 ) =
Res(C4 , C4 ) = {C4 }
Am aratat, deci, ca pentru orice C 00 , C 000 S 0 , Res(C 00 , C 000 ) S 0 (*). Presupunem prin
absurd ca exista o derivare prin rezolutie a lui  din S si fie aceasta (C10 , . . . , Cn0 = ).
Demonstram prin inductie completa ca pentru orice i {1, . . . , n}, Ci0 S 0 . Fie un astfel
5

de i. Din definitia derivarii, avem ca ori Ci0 S S 0 , ceea ce rezolva problema, ori exista
j, k < i cu Ci0 Res(Cj0 , Ck0 ). Din ipoteza de inductie completa, Cj0 , Ck0 S 0 , iar din (*) avem
Res(Cj0 , Ck0 ) S 0 , deci Ci0 S 0 . Am obtinut ca Cn0 =  S 0 , ceea ce este o contradictie.
Ramane ca nu exista o derivare prin rezolutie a lui  din S.
(S11.7) Demonstrati, folosindu-va de proprietatile satisfacerii semantice si de aplicarea
sistematica (i.e., via algoritmul Davis-Putnam) a regulii rezolutiei:
{v2 , v2 v3 , v3 v4 }  (v3 (v1 v2 )) (v1 (v3 v4 )) v4 .
Demonstratie:

Aplicand Propozitia 1.30.(i), conditia din enunt este echivalenta cu faptul

ca multimea de formule:
{v2 , v2 v3 , v3 v4 , ((v3 (v1 v2 )) (v1 (v3 v4 )) v4 )}
este nesatisfiabila si, mai departe, din Propozitia 1.31.(i), cu faptul ca formula:
v2 (v2 v3 ) (v3 v4 ) ((v3 (v1 v2 )) (v1 (v3 v4 )) v4 )
este nesatisfiabila. Aplicand transformari sintactice succesive, obtinem ca formula de mai
sus este echivalenta, pe rand, cu:
v2 (v2 v3 ) (v3 v4 ) (v3 (v1 v2 ) v1 (v3 v4 ) v4 ),
v2 (v2 v3 ) (v3 v4 ) v3 (v1 v2 ) v1 (v3 v4 ) v4 ,
v2 (v2 v3 ) (v3 v4 ) v3 (v1 v2 ) v1 (v3 v4 ) v4 ,
v2 (v2 v3 ) (v3 v4 ) v3 (v1 v2 ) v1 (v3 v4 ) v4 ,
ultima formula fiind n FNC si corespunzandu-i forma clauzala:
S := {{v2 }, {v2 , v3 }, {v3 , v4 }, {v3 }, {v1 , v2 }, {v1 }, {v3 , v4 }, {v4 }},
despre care vom arata ca este nesatisfiabila, ncheind astfel demonstratia (prin aplicarea
Propozitiei 1.83). Folosim multimea S ca intrare a algoritmului Davis-Putnam, a carui

rulare se produce dupa cum urmeaza.

P 1.1.

P 1.2.
P 1.3.
P 1.4.
P 2.1.

P 2.2.
P 2.3.
P 2.4.

i := 1
S1 := {{v2 }, {v2 , v3 }, {v3 , v4 }, {v3 }, {v1 , v2 }, {v1 }, {v3 , v4 }, {v4 }}
x1 := v1
T11 := {{v1 }}
T10 := {{v1 , v2 }}
U1 := {{v2 }}
S2 := {{v2 }, {v2 , v3 }, {v3 , v4 }, {v3 }, {v3 , v4 }, {v4 }, {v2 }}
i := 2; goto P 2.1
x2 := v2
T21 := {{v2 }}
T20 := {{v2 , v3 }, {v2 }}
U2 := {{v3 }, }
S3 := {{v3 , v4 }, {v3 }, {v3 , v4 }, {v4 }, {v3 }, }
 S3 S este nesatisfiabila.

Ramane, deci, ca S este nesatisfiabila.

FMI, Info, Anul I


Semestrul I, 2015/2016
Logic
a matematic
a si computational
a
Laurentiu Leustean,
Alexandra Otiman, Andrei Sipos
5-6.01.2016

Seminar 12
(S12.1) Fie L un limbaj de ordinul I, A o L-structura si e : V A o interpretare a lui L
n A. Sa se demonstreze ca pentru orice formule , si orice variabila x:
(i) ( )A (e) = A (e) A (e);
(ii) ( )A (e) = A (e) A (e);
(iii) ( )A (e) = A (e) A (e);
(
1, daca exista a A a.. A (exa ) = 1;
(iv) (x)A (e) =
0, altfel.
Demonstratie:
(i) Avem:
( )A (e) = 1 ( )A (e) = 1
A (e) A (e) = 1
A (e) A (e) = 1.
(ii) Avem:
( )A (e) = 1 (( ))A (e) = 1
(A (e) A (e)) = 1
A (e) A (e) = 1.

(iii) Avem:
( )A (e) = 1 (( ) ( ))A (e) = 1
(A (e) A (e)) ( A (e) A (e)) = 1
A (e) A (e) = 1.
(iv) Avem:
(x)A (e) = 1 (x)A (e) = 1 (x)A (e) = 1
(x)A (e) = 0
exista a A a.. ( )A (exa ) = 0
exista a A a.. A (exa ) = 1.

0)
(limbajul aritmeticii) si
S;
,
+,
(S12.2) Consideram limbajul de ordinul I Lar = (<;
Lar -structura N = (N, <, +, , S, 0).

= (
S Sy).

S Sy
Sx,
(i) Fie x, y V cu x 6= y, si t = Sx
Sa se calculeze tN (e), unde
e : V N este o evaluare ce verifica e(x) = 3 si e(y) = 7.
(x<y
(<(x,
Sy
x = y) = <(x,

(ii) Fie = x<


Sy)
y) x = y). Sa se arate ca
N  [e] pentru orice e : V N.
Demonstratie:
(i) Pentru orice interpretare e : V N, avem
N (e), (S Sy)
N (e)) = (Sx)
N (e) (S Sy)
N (e)
N ((Sx)
tN (e) =
N (e)) = S(e(x)) S(S N (y N (e)))
= S N (xN (e)) S N ((Sy)
= S(e(x)) S(S(e(y))).
Prin urmare, daca e(x) = 3 si e(y) = 7, atunci
tN (e) = S(3) S(S(7)) = 4 9 = 36.

(ii) Pentru orice interpretare e : V N, avem

N  [e] N 
6 (<(x,
Sy))[e]
sau N  (<(x,
y) x = y)[e]
N
(e(x), S(e(y)) nu e satisfacuta sau
<

N  (<(x,
y))[e] sau N  (x = y)[e]
< (e(x), S(e(y)) nu e satisfacuta sau < (e(x), e(y))
sau e(x) = e(y)
e(x) S(e(y)) sau e(x) < e(y) sau e(x) = e(y)
e(x) e(y) + 1 sau e(x) < e(y) sau e(x) = e(y).
Prin urmare, N  [e] pentru orice e : V N.
De obicei, scriem:

N  [e] N 
6 (<(x,
Sy))[e]
sau N  (<(x,
y) x = y)[e]
e(x) S(e(y)) sau e(x) < e(y) sau e(x) = e(y)
e(x) e(y) + 1 sau e(x) < e(y) sau e(x) = e(y).

0)
(limbajul aritmeticii) si Lar S;
,
+,
(S12.3) Consideram limbajul de ordinul I Lar = (<;
4 v3 = v4 ). Sa se caracterizeze
structura N = (N, <, +, , S, 0). Fie formula = v4 (v3 <v
N
acele e : V N ce au proprietatea ca (e) = 1.
Demonstratie: Fie e : V N. Avem:
N (e) = 1

4 v3 = v4 ))N (e) = 1
(v4 (v3 <v
4 v3 = v4 )N (ev4 a ) = 1
pentru orice a N, (v3 <v
4 )N (ev4 a ) (v3 = v4 )N (ev4 a ) = 1
pentru orice a N, (v3 <v
4 )N (ev4 a ) = 1 sau (v3 = v4 )N (ev4 a ) = 1
pentru orice a N, (v3 <v
pentru orice a N, ev4 a (v3 ) < ev4 a (v4 ) sau ev4 a (v3 ) = ev4 a (v4 )
pentru orice a N, ev4 a (v3 ) ev4 a (v4 )
pentru orice a N, e(v3 ) a
e(v3 ) = 0.

FMI, Info, Anul I


Semestrul I, 2015/2016
Logic
a matematic
a si computational
a
Laurentiu Leustean,
Alexandra Otiman, Andrei Sipos
12-13.01.2016

Seminar 13
Notatie 1. Fie L un limbaj de ordinul I. Pentru orice variabile x, y cu x 6= y, orice Lstructura A, orice e : V A si orice a, b A, avem ca:
(eyb )xa = (exa )yb .
acest caz, notam valoarea lor comuna cu exa,yb . In
acest caz, notam valoarea lor comun
In
a
cu exa,yb . Asadar,

e(v) daca v 6= x, y
exa,yb : V A, exa,yb (v) = a
daca v = x

b
daca v = y.
(S13.1) Pentru orice formule , si orice variabile x, y cu x 6= y,
(i) x  x;
(ii) x( )  x x;
(iii) yx  xy;
(iv) x( )  x x.
Demonstratie: Fie A si e : V A.
(i) A  (x)[e] A 
6 (x)[e] nu este adevarat ca exista a A a.. A 
[exa ] pentru orice a A, avem A 
6 [exa ] pentru orice a A, avem
A  [exa ] A  (x)[e].
1

(ii) A  (x())[e] pentru orice a A, avem A  ()[exa ] pentru orice


a A, avem A  [exa ] si A  [exa ]  pentru orice a A, avem A  [exa ]
si pentru orice a A, avem A  [exa ] A  (x)[e] si A  (x)[e]
A  (x x)[e].
(iii) Avem ca A  (yx)[e] exista b A a.. pentru orice a A avem A 
[(eyb )xa ], i.e., folosind ipoteza ca x 6= y, A  [exa,yb ] (*).
A  (xy)[e] pentru orice a A exista c A a.. A  [(exa )yc ], i.e.,
folosind ipoteza ca x 6= y, A  [exa,yc ] (**).
Stim (*) si vrem sa aratam (**). Fie a A. Vrem c A a.. A  [exa,yc ].
Luam c sa fie b-ul din (*). Avem, asadar, ca A  [x a, y b], ceea ce ne trebuia.
(iv) Presupunem ca A  (x( ))[e]. Atunci, pentru orice a A, A  ( )[exa ],
deci pentru orice a A, A 
6 [exa ] sau A  [exa ] (*). Vrem sa aratam ca
A  (x x)[e]. Presupunem ca n-ar fi asa. Atunci, A  (x)[e] si A 
6 (x)[e]
(**). Din a doua conditie din (**), rezulta ca exista b A cu A 6 [exb ]. Din (*),
rezulta ca A 6 [exb ]. Dar din prima conditie din (**), ar rezulta ca A  [exb ],
ceea ce este o contradictie.

(S13.2) Fie x, y variabile cu x 6= y. Sa se dea exemple de limbaj de ordinul I, L, si de


formule , ale lui L astfel ncat:
(i) x( ) 6 x x;
(ii) x x 6 x( );
(iii) xy 6 yx.
0),
Lar -structura N := (N, <, +, , S, 0) si
S,
,
+,
Demonstratie: Consideram Lar = (<,
e : V N o evaluare arbitrara (sa zicem, punem e(v) := 7 pentru orice v V ).
:= x<
Atunci
2 si
2).
(i) Fie 2 := S S 0,
:= (x<
N  x( )[e].
Pe de alta parte,
(a) N  (x)[e] pentru orice n N avem N  [exn ] pentru orice
n N, avem n < 2, ceea ce nu este adevarat (luand n := 3, de exemplu). Deci,
N 6 (x)[e].
2

(b) N  (x)[e] pentru orice n N avem N  [exn ] pentru orice


n N, avem n 2, ceea ce nu este adevarat (luand n := 1, de exemplu). Deci,
N 6 (x)[e].
Prin urmare,
N 6 (x x)[e].
:= x<
Avem:
2 si
2).
(ii) Fie 2 := S S 0,
:= (x<
(a) N  (x)[e] exista n N a.. N  [exn ] exista n N a.. n < 2,
ceea ce nu este adevarat (luand n := 1, de exemplu). Deci, N  (x)[e].
(b) N  (x)[e] exista n N a.. N  [exn ] exista n N a.. n 2,
ceea ce nu este adevarat (luand n := 3, de exemplu). Deci, N  (x)[e]. Prin
urmare,
N  (x x)[e].
Pe de alta parte, N  x( )[e] exista n N a.. N  ( )[exn ]
exista n N a.. n < 2 si n 2, ceea ce este fals. Prin urmare,
N 6 x( )[e].
Atunci
(iii) Fie := x<y.
N  (xy)[e]

pentru orice n N, avem N  (y)[exn ]


pentru orice n N exista m N a.. N  [exn,ym ]
pentru orice n N exista m N a.. n < m,

ceea ce este adevarat: se ia, de pilda, m := n + 1. Asadar,


N  (xy)[e].
Pe de alta parte,
N  (yx)[e]

exista m N a.. N  (x)[eym ]


exista m N a.. pentru orice n N avem N  [exn,ym ]
exista m N a.. pentru orice n N avem n < m,

ceea ce este fals. Asadar,


N 6 (yx)[e].

FMI, Info, Anul I


Semestrul I, 2015/2016
Logic
a matematic
a si computational
a
Laurentiu Leustean,
Alexandra Otiman, Andrei Sipos
19-20.01.2016

Seminar 14
(S14.1) Pentru orice formule , si orice variabila x
/ F V (),
 x
x( )  x
x( )  x
x( )  x
x( )  x

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

Demonstratie: Fie A o L-structura si e : V A.


 x:
A  x[e] exista a A a.. A  [exa ] A  [e], deoarece x
/ F V ()
(aplicand Propozitia 2.25).
x( )  x:
A  (x( ))[e] pentru orice a A, A  ( )[exa ] pentru orice a A,
A  [exa ] si A  [exa ] (aplicand Propozitia 2.25) pentru orice a A, A  [e] si
A  [exa ] A  [e] si pentru orice a A, A  [exa ] A  [e] si A  x[e]
A  ( x)[e].
x( )  x:
A  (x( ))[e] exista a A a.. A  ( )[exa ] exista a A a..
A  [exa ] sau A  [exa ] (aplicand Propozitia 2.25) exista a A a.. A  [e]
sau A  [exa ] A  [e] sau exista a A a.. A  [exa ] A  [e] sau
A  x[e] A  ( x)[e].

x( )  x:
A  (x( ))[e] pentru orice a A, A  ( )[exa ] pentru orice a A,
A 6 [exa ] sau A  [exa ] (aplicand Propozitia 2.25) pentru orice a A, A 6 [e]
sau A  [exa ] A 6 [e] sau pentru orice a A, A  [exa ] A 6 [e] sau
A  x[e] A  ( x)[e].
x( )  x :
A  x( )[e] exista a A a.. A  ( )[exa ] exista a A a..
A
6 [exa ] sau A  [exa ] (aplicand Propozitia 2.25) exista a A a.. A 
6 [exa ]
sau A  [e] A 6 x[e] sau A  [e] A  (x )[e].
(S14.2) Sa se axiomatizeze:
(i) clasa multimilor strict ordonate care au un element minimal;
(ii) clasa multimilor strict ordonate care au un element maximal;
(iii) clasa multimilor strict ordonate cu proprietatea ca orice element are un unic succesor.
Demonstratie:

L< = (<)

(i) K = M od(T h((IREF L), (T RAN Z), (M IN IM AL))), unde


(M IN IM AL) :

xy (y <x)

(ii) K = M od(T h((IREF L), (T RAN Z), (M AXIM AL))), unde


(M AXIM AL) :

xy (x<y)

(iii) K = M od(T h((IREF L), (T RAN Z), (SU CC))), unde


(SU CC) :

z(x<z
(z = y y <z)))

xy(x<y

(S14.3) Fie L un limbaj de ordinul I. Sa se arate ca:


(i) pentru orice formule , si orice variabila x,
x( ) (x x)
este valida (A2);
2

(ii) pentru orice formula si orice variabila x cu x


/ V ar(),
x
este valida (A3);
(iii) pentru orice variabila x si orice termen t cu x
/ V ar(t),
x(x = t)
este valida (A4).
Demonstratie:

Fie A o L-structura si e : V A o evaluare.

(i) Presupunem ca A  (x( ))[e]. Deci pentru orice a A, vom avea ca are loc
A  ( )[exa ] (*). Vrem sa aratam ca A  (x x)[e]. Presupunem prin
absurd ca nu e asa atunci avem ca A  (x)[e] si A 
6 (x)[e]. Deci pentru orice
a A, A  [exa ] (**) si exista un b A cu A 6 [exb ] (***). Luand n (*) si (**)
a := b, obtinem ca A  ( )[exb ] si A  [exb ], ceea ce contrazice (***).
(ii) Presupunem ca A  [e]. Vrem sa aratam A  (x)[e], i.e. ca pentru orice a A,
A  [exa ]. Fie a A. Clar F V () V ar(). Cum x
/ V ar(), x
/ F V (). Avem
ca e si exa difera cel mult pe pozitia x, deci restrictionate la F V () ele devin egale.
Aplicand Propozitia 2.25, rezulta ca avem ntr-adevar A  [exa ].
(iii) Trebuie aratat, folosind (S12.1).(iv), ca exista un b A astfel ncat A  (x = t)[exb ],
i.e. ca exista un b A astfel ncat b = tA (exb ). Cum x
/ V ar(t), aplicand Propozitia
A
A
2.24, avem t (exb ) = t (e). Deci trebuie aratat doar ca exista un b A astfel ncat
b = tA (e). Dar acum e simplu, luam b := tA (e).

(S14.4) Sa se axiomatizeze urmatoarele clase de grafuri:


(i) grafurile infinite;
(ii) grafurile complete;
(iii) grafurile care au cel putin un drum de lungime 3;
(iv) grafurile care au cel putin un ciclu de lungime 3;
(v) grafurile cu proprietatea ca orice varf are exact o muchie incidenta.
3

Demonstratie:

Teoria grafurilor este T h((IREF L), (SIM )).


LGraf = (E).

(i) Adaug multimea de enunturi


:= {n | n 2}.
Deci, T h((IREF L), (SIM ), ).
(ii) Adaug enuntul

= xy((x = y) E(x,
y)).
Deci, T h((IREF L), (SIM ), ).
(iii) Adaug enuntul
!
= v1 v2 v3 v4

1 , v2 ) E(v
2 , v3 ) E(v
3 , v4 ) .
(vi = vj ) E(v

1i<j4

Deci, T h((IREF L), (SIM ), ).


(iv) Adaug enuntul
!
= v1 v2 v3

1 , v2 ) E(v
2 , v3 ) E(v
3 , v1 ) .
(vi = vj ) E(v

1i<j3

Deci, T h((IREF L), (SIM ), ).


(v) Adaug enuntul

= xy E(x,
y) xyz(E(x,
y) E(x,
z) y = z).
Deci, T h((IREF L), (SIM ), ).

FMI, Info, Anul I


Semestrul I, 2015
Logic
a matematic
a
computational
a

si

Examen partial
(P1) [3 puncte] Sa se demonstreze ca urmatoarele multimi sunt numarabile:
(i) multimea formulelor ce nu contin variabilele v0 , . . . , v100 .
(ii) multimea functiilor f : N N ce au proprietatea ca exista m N astfel ncat pentru
orice n m, f (n) = f (m).
(iii) multimea tuturor clauzelor.
Demonstratie:
(i) Notam multimea din enunt cu A. Avem ca V 0 = {vn | n 101} este numarabila, via
bijectia f : N V 0 , f (n) = vn+101 . Stim ca F orm este numarabila si fie g : F orm N
o bijectie. De asemenea, avem V 0 A F orm, incluziuni carora le corespund functiile
injective i1 : V 0 A si i2 : A F orm. Atunci i1 f : N A si g i2 : A N sunt
injectii, deci, aplicand Teorema Cantor-Bernstein, A este numarabila.
(ii) Notam multimea din enunt cu C. Pentru orice m, p N, notam B(m,p) := {f : N
N | pentru orice n m, f (n) = p}. Aceste multimi sunt numarabile, deoarece putem
gasi bijectiile (m,p) : B(m,p) Nm , (m,p) (f ) := (f (0), . . . , f (m 1)). Mai departe,
scriem:
[
C=
B(m,p)
(m,p)N2

deci si C este numarabila.


(iii) Notam multimea din enunt cu E. Pentru orice m N, notam Dm := {C clauza |
V ar(C) {v0 , ..., vm }}. Cum Dm P({v0 , ..., vm , v0 , ..., vm }), Dm este finita (pentru orice m). Notam F := {{vn } | n N}, multime care este numarabila, deci,
aplicand (S3.4).(i), avem ca pentru orice m, Dm F este numarabila. Mai departe,
scriem:
[
E=
(Dm F )
mN

deci si E este numarabila.

(P2) [1 punct] Fie n N. Sa se dea o definitie recursiva a functiei zn : F orm N care


asociaza oricarei formule numarul de aparitii ale variabilei vn n .
Demonstratie:

Se observa ca zn : F orm N satisface urmatoarele conditii:


(
1, daca v = vn ,
(R0)
zn (v)
=
0, altminteri,
(R1)
zn (())
= zn (),
(R2) zn (( )) = zn () + zn ().

Aplicam Principiul recursiei pe formule pentru A = N si pentru


(
1, daca v = vn ,
G0 : V N, G0 (v) =
0, altminteri,
G

G : N N,
: N N N,

G (n) = n,
G (n, m) = n + m.

pentru a concluziona ca zn este unica functie care satisface (R0), (R1) si (R2).
(P3) [1,5 puncte] Sa se demonstreze:
(i) ;
(ii) ( ) ;
(iii)  ( ) ( ).
Demonstratie:
(i) Fie e o evaluare oarecare. Avem ca e  ddaca e+ () = 1 ddaca e+ () = 0 ddaca
e+ () e+ () ddaca e+ ( ) = 1 ddaca e  .
(ii) Fie e o evaluare oarecare. Presupunem ntai ca e  . Atunci e+ ( ) = 1, deci
e+ () = 1 sau e+ () = 1. In primul caz,
e+ (( ) ) = (e+ () e+ ()) e+ () = (1 e+ ()) e+ () = e+ () e+ () = 1.
In al doilea caz,
e+ (( ) ) = (e+ () e+ ()) e+ () = (e+ () 1) 1 = 1.
Invers, acum, presupunem ca e+ (( ) ) = 1. Atunci, fie e+ ( ) = 0, deci
e+ () = 1, fie e+ () = 1. In fiece caz, e+ ( ) = 1.

(iii) Avem ca ori e+ () = 1, ori e+ () = 0, i.e. e+ () = 1. Adica ori e+ ( ) = 1, ori


e+ ( ) = 1. Deci e+ (( ) ( )) = 1.

(P4) [1,5 puncte] Fie , F orm. Sa se arate:


` ( ) ( ).
Demonstratie:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)

Avem:

{ , }
{ , }
{ , }
{ , }
{ , }
{ , }
{ , }
{ }

`
`
` ( ) ( )
`
`
`
`
`
` ( ) ( )
` ( ) ( )
` ( ) ( ).

Propozitia 1.37.(ii)
Propozitia 1.37.(ii)
(S7.3)
(MP): (1), (3)
(S7.2).(iv)
Propozitia 1.48 pentru (4), (5)
(MP): (2), (6)
Teorema deductiei
Teorema deductiei
(MP): (9), (S7.3)
Definitia lui .

(P5) [1 punct] Sa se aduca urmatoarea formula la FND prin transformari sintactice:


(v5 v6 ) (((v6 v7 ) v5 ) (v4 v5 )).
Demonstratie:

Avem:

(v5 v6 ) (((v6 v7 ) v5 ) (v4 v5 ))


(v5 v6 ) (((v6 v7 ) v5 ) (v4 v5 ))
(v5 v6 ) ((v6 v5 ) (v7 v5 ) (v4 v5 ))
v5 v6 (v6 v5 ) (v7 v5 ) (v4 v5 )
v5 v6 (v6 v5 ) (v7 v5 ) (v4 v5 )
v5 v6 (v6 v5 ) (v7 v5 ) (v4 v5 )

(FND).

(P6) [1 punct] Fie G : {0, 1}3 {0, 1} definita, pentru orice x, y, z {0, 1}, prin:
(
1, daca x y z,
G(x, y, z) :=
0, altminteri.

Sa se gaseasca o formula n FND si una n FNC cu F = F = G.


Demonstratie:

Alcatuim tabelul de valori al lui G.


0 1 2 G(0 , 1 , 2 )
1 1 1
1
0
1 1 0
0
1 0 1
1 0 0
0
1
0 1 1
0 1 0
0
1
0 0 1
0 0 0
1

Obtinem, asadar, uitandu-ne pe liniile cu 1 de pe coloana valorilor lui G si aplicand rationamentul


din demonstratiile Teoremelor 1.72 si 1.74, ca un exemplu de este:
(v0 v1 v2 ) (v0 v1 v2 ) (v0 v1 v2 ) (v0 v1 v2 ),
iar uitandu-ne pe liniile cu 0 de pe coloana valorilor lui G si aplicand rationamentul din
demonstratiile Teoremelor 1.73 si 1.74, obtinem ca un exemplu de este:
(v0 v1 v2 ) (v0 v1 v2 ) (v0 v1 v2 ) (v0 v1 v2 ).
(P7) [2 puncte]
(i) Gasiti F orm astfel ncat M od() are 6 elemente.
(ii) Fie n N . Sa se gaseasca F orm astfel ncat M od() are n elemente.
Demonstratie: Demonstram punctul (ii), i.e. pentru n nenul general.
Iau := {vk vk+1 | 0 k n 3} {vk | k n 1}.
Definesc f : {1, . . . , n} M od(), pentru orice i {1, . . . , n}, prin:
(
1, daca j i 1,
f (i)(vj ) :=
0, altminteri.
Aratam ca f este bine definita, i.e. ca pentru orice i, f (i)  . Fie ntai k ntre 0 si n 3.
Avem ca f (i)+ (vk vk+1 ) = 1 ddaca f (i)(vk ) f (i)(vk+1 ), ceea ce este adevarat pentru ca
f (i)-urile au fost definite crescator. Acum, fie k n 1 i 1, deci f (i)(vk ) = 1, ceea
ce ne trebuia.
Functia f este clar injectiva, din faptul ca pentru i < j, am 1 = f (i)(vi1 ) > f (j)(vi1 ) = 0.

Vrem sa aratam ca f este surjectiva. Fie e  . Atunci e(vk ) e(vk+1 ), pentru orice k ntre
0 si n 3, si e(vk ) = 1, pentru k n 1. Asadar, e este crescatoare, porneste de la 0 si
atinge sigur valoarea 1, deci exista un rang x de unde ia valoarea 1. Ramane ca e = f (x + 1).
Gasind aceasta bijectie f , avem ca M od() are n elemente.
(P8) [2 puncte] Fie o multime de formule. Sa se demonstreze ca urmatoarele afirmatii
sunt echivalente:
(i) este nesatisfiabila.
(ii)  pentru orice formula .
(iii)  pentru orice formula nesatisfiabila .
(iv)  .
Demonstratie: (i)(ii) Fie F orm. Deoarece este nesatisfiabila, avem ca M od() =
. Atunci M od() M od(), adica  .
(ii)(iii) Evident.
(iii)(iv) Deoarece este nesatisfiabila.
(iv)(i) Presupunem ca are un model e : V {0, 1}. Atunci e este model al lui ,
contradictie.
(P9) [2 puncte] Fie e : V {0, 1} o evaluare si := { F orm | e  }.
(i) Demonstrati ca:
(a) este consistenta.
(b) Pentru orice formula , avem sau .
(c) Pentru orice formula , daca  , atunci .
(ii) Gasiti toate modelele lui .
Demonstratie:
(i) (a) Deoarece e este model al lui , rezulta ca este satisfiabila, deci consistenta.
(b) Fie o formula. Avem doua cazuri:
(1) e+ () = 1, adica e  . Prin urmare, .
(2) e+ () = 0. Atunci e+ () = 1, asa ca e  . Prin urmare, .

(c) Presupunem ca  . Deoarece e  , rezulta ca e  , deci .


(ii) Demonstram ca e este unicul model al lui . Fie e : V {0, 1} un model arbitrar al
lui . Fie v V . Avem doua cazuri:
(a) e(v) = 1, adica v . Rezulta ca e (v) = 1.
(b) e(v) = 0, deci v
/ . Atunci, v . Rezulta ca e (v) = 1, deci e (v) = 0.
Asadar, e = e .

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