Sunteți pe pagina 1din 164

CURS 1

Sunt, n anul universitar 2014-2015, semestrul I,


16 sptmni de coal; sptmnile a 8-a i a
15-a (sau a 16-a) sunt destinate lucrrilor de
evaluare
Recuperrile de cursuri vor fi anunate pe
parcurs, ca i schimbrile de orar (sau de orice
alt natur)
Prin urmare, INFORMAI-V PERMANENT (n
special din pagina Facultii, paginile web ale
celor cu care lucrai, etc.)

DE CE LOGICA ?
Logica filozofic i matematic versus
logica pentru informatic
Introducere; explicaii

LOGICA PENTRU
INFORMATIC
Facultatea de Informatic
Universitatea Al.I.Cuza Iai
(http://www.info.uaic.ro)

Profesori 1
Prof. Dr. Cristian Masalagiu (curs +
seminarii)
mcristy@info.uaic.ro
http://profs.info.uaic.ro/~masalagiu

Profesori 2
Lect. Dr. tefan Ciobc (curs + seminarii)
stefan.ciobaca@info.uaic.ro
http://profs.info.uaic.ro/~stefan.ciobaca

Profesori 3
Lect. Dr. Cosmin Vrlan (seminarii)
vcosmin@info.uaic.ro
http://profs.info.uaic.ro/~vcosmin

Profesori 4
Asist. Dr. Vasile Alaiba (seminarii)
alaiba@info.uaic.ro
http://profs.info.uaic.ro/~alaiba

Orar
http://www.info.uaic.ro/~orar

Ore de consultaii (anunai n prealabil):


C.Masalagiu: vineri, ora 12, cabinet (C305)
. Ciobc: de completat la orar
C.Vrlan: de completat la orar
V.Alaiba: vineri, ora 12, cabinet (C305)

Observaie: Orarul se poate modifica n timp; verificai


sptmnal, cel puin n prima lun de coal

Cerine 1
http://www.info.uaic.ro -> Membri
(Members) -> Personal Academic (pentru a
cunoate i ali profesori i a naviga ctre paginile lor personale)

http://www.info.uaic.ro -> Studeni


(Students) -> Regulamente
http://profs.info.uaic.ro/~masalagiu/ ->
Seciunea Logic

Cerine 2
Nota final se obine n urma acumulrii
unui numr de puncte (maxim 100) i n
urma aplicrii unei ajustri de tip Gauss
(conform Regulamentului n vigoare)

Cerine 3
Cele 100 de puncte se pot obine n urma
activitii din timpul semestrului:
10 p prezena la seminarii (4 verificri ale
prezenei, realizate aleatoriu, a cte 2,5 p)
40 p pentru rezolvarea de exerciii (ieiri la
tabl) i participarea la lucrri scrise
(neanunate); se acord cte (maxim) 10 p
pentru fiecare ieire/lucrare
50 p (maxim) pentru lucrrile de verificare a
cunotinelor de la mijlocul i finalul
semestrului

Cerine 4
Promovarea este asigurat de un punctaj
minim total de 50 p
Cumulat, la lucrrile de verificare este
necesar obinerea a minim 25 p
A se consulta (deja am menionat) mcar
pagina http://profs.info.uaic.ro/~masalagiu
(Logic)

Cerine 5
Bibliografie tiprit (minimal):
Masalagiu, C. - Fundamentele logice ale Informaticii , Editura
Universitii Al. I. Cuza, Iai, 2004, ISBN 973-703-015-X (exist
i n format electronic)

Masalagiu, C. - Introducere n programarea logic i limbajele


de programare logic, Editura Universitii Al. I. Cuza, Iai,
1996
Cazacu, C., Slabu, V. - Logica matematica , Editura tefan
Lupascu, Iai, 1999, ISBN 973-99044-0-8
M. Huth, M. Ryan - Logic in Computer Science: Modelling and
Reasoning about Systems, Cambridge University Press,
England, 2000, ISBN 0-521-65200-6 (exist i n format
electronic)

Cerine 6
Bibliografie principal (din nou):
Masalagiu, C. - Fundamentele logice ale
Informaticii , Editura Universitatii Al. I. Cuza", Iasi,
2004, ISBN 973-703-015-X

http://profs.info.uaic.ro/~masalagiu
(n seciunea Logic - Bibliografie de baz;
link-urile pot fi accesate, n general, doar din
laboratoarele FII)
Sugestie: nvai i dup
carte/notie/seminarii, nu numai dup slideuri (furnizate i acestea n format
electronic) !!!

Capitolele tematice
(Unele nu vor fi prezentate chiar n aceast
ordine i nici n totalitate)
Logica n Informatic (preliminarii)
Algebre booleene
Logica propoziional
Logica cu predicate de ordinul I
Sisteme deductive i Teorii logice
Introducere n Programarea logic
(O)BDD-uri
Specificare i Verificare

Realitate
Realitate: obiecte i
fenomene aflate n relaii de
interdependen
Relaiile (legturile) se
reflect, n procesul gndirii
umane, prin afirmaii
(judeci)

Logica (intuitiv) 1
Logica (n sens filozofic) este tiina
regulilor generale ale gndirii, cu
accent pe aspectele exacte i de
natur structural ale acesteia (DEX)
Alte definiii dup cum urmeaz

Logica (intuitiv) 2
Logica studiaz modul de alctuire a
raionamentelor corecte, prin care,
pornind de la afirmaii iniiale
(presupuse a fi adevrate) se obin
(utiliznd reguli de inferen) afirmaii
noi (de asemenea adevrate)

Afirmaii
O afirmaie este adevrat dac reflect
n mod adecvat realitatea i fals n caz
contrar
Este acceptat faptul c valorile de adevr
ataate unei afirmaii pot avea o natur
subiectiv i, n consecin, pot fi i
altceva dect cele standard (adevrat i
fals); dar astan logici de ordin superior
De exemplu: necunoscut, posibil adevrat,
adevrat din cnd n cnd, etc.

Logica clasic
Logica clasic (aristotelic, bivalent) folosete
doar afirmaii crora li se poate asocia n mod
unic o valoare de adevr standard
(independent de context, moment de timp, etc.)
i se bazeaz n esen pe principiul tertium non
datur (teriul exclus: dac o afirmaie nu este
adevrat, atunci ea este cu certitudine fals i
reciproc: Ion joac fotbal)
Un alt principiu este cel al extensionalitii
(adevrul unei formule)
Exist i logici neclasice (sau, de ordin superior)

Idei suplimentare 1
Logica matematic, formal
(simbolic), preia problemele logicii
filozofice i le cerceteaz folosind
mijloace matematice specifice,
punndu-se baz pe rigurozitate i
claritate n detrimentul nuanelor sau
intuiiei

Idei suplimentare 2
Aplicarea acesteia n Informatic
necesit ns o anumit adaptare,
att a modului de prezentare a
conceptelor (terminologiei) ct i a
metodelor de demonstraie, accentul
cznd pe constructivism
(algoritmic)

Despre CURS
Structura Cursului; sugestii suplimentare privind
examinarea
Dificulti de nvare (sunt i avantaje)
Paradoxuri, greeli frecvente, exemple
Sfer, coninut, gen proxim, diferen specific, exemple
Silogisme, axiome, teoreme, reguli de inferen,
raionamente, exemple
Axiome adevrate i reguli de inferen sound/corecte;
pot exista raionamente corecte, dar dac se pleac cu
premize false(vezi paradoxuri i semnificaia
implicaiei)
Sintax + semantic Logicile sunt limbaje de
programare: formul/intrare_program + valoare de
adevr/ieire (execuie = evaluare)
Nr. de pagin, referit uneori, s-ar putea s nu coincid
cu ceea ce avei voi pe site (m refer la cartea
publicat/tiprit; sau, la formatul PDF)

Mulimi 1
Clasa funciilor booleene (intuitiv; notaii:
FB(n), FB)
Alte notaii uzuale (exist explicaii de
natur formal; finit versus infinit)
Din, de ex., manualele de matematic de
liceu sunt bine cunoscute cel puin dou
modaliti de a (re)prezenta o mulime:
-Prin enumerarea elementelor
sale: N = {0, 1, 2, ...} este
mulimea numerelor naturale; mai
potrivit pentru mulimi finite

Mulimi 2
-Prin specificarea unei
proprieti caracteristice:
A = {x R | x2 + 9x 8 = 0},
este mulimea rdcinilor reale ale
unei ecuaii polinomiale de
gradul al II-lea; mai potrivit
pentru mulimi infinite
-Mai avem o posibilitate, bazat pe
constructivism (potrivit pentru
orice; foarte util):

Mulimi 3 (Peano)
Baza. 0 N (zero este numr
natural)
Pas constructiv (structural). Dac
n N, atunci s(n) N (dac n este
numr natural, atunci succesorul su
imediat este numr natural); alfabet:
{0, s, (, )}; cuvinte
Nimic altceva nu mai este numr
natural; N este
Principiul induciei

Mulimi 4
Algoritmic
Un prim avantaj este acela c se poate folosi aceeai
metod pentru a introduce alte definiii, care sunt legate
de mulimea respectiv n totalitatea ei
Putem da astfel o definiie
constructiv/algoritmic/recursiv a adunrii numerelor
naturale:
-Baza. x + 0 = x, pentru fiecare x N (a aduna 0 la orice
numr natural nseamn a-l lsa neschimbat)
-Pas constructiv. x + s(y) = s(x + y), pentru fiecare
x, y N (dac tim s calculm x + y i cunoatem
succesorul imediat al numrului natural y, atunci tim s
calculm i suma x + s(y); mai exact, aceasta coincide
cu succesorul imediat al numrului care reprezint suma
x + y)

Mulimi 5
Un al doilea, i cel mai important, avantaj este
posibilitatea folosirii n demonstraii a
Principiului induciei structurale:
-Fie A o mulime definit constructiv,
A A mulimea elementelor iniiale
(definite/introduse prin pasul Baza al definiiei) i
P o afirmaie care trebuie demonstrat pentru
toate elementele lui A
-Acceptm c P(a) este adevrat pentru fiecare
a A dac i numai dac:

Mulimi 6
1) (Baza elemente iniiale): Artm c P(a) este
adevrat pentru fiecare a A
2) (Pas inductiv/constructiv demonstraia pentru
elementele noi construite din elemente vechi):
-Fie orice b A, element nou obinut din elementele
deja construite a1, a2, ... , an, cu ajutorul operatorului f
(vom conveni s scriem acest lucru prin
b = f(a1, a2, ... , an), dei relaia dintre elementele vechi
i cele noi nu este ntotdeauna de natur funcional, i
presupunem c este adevrat P(ai) pentru fiecare
i {1, 2, ..., n}; atunci artm c este adevrat P(b)
Probleme suplimentare, la seminar (nu sunt obligatorii
toate; v ghideaz asistenii; mai exist i o Culegere
de probleme noi, n pregtire; ); i alte link-uri

CURS 2
(de fapt...primul a fost pierdut cu
deschiderea...)
ncepem partea consistent, formal, a
CURSULUI nostru (LOGIC PENTRU
INFORMATIC)

Algebre booleene 1
Se numete algebr boolean un 4-uplu M,
M = <M, , , ~ >, format din orice mulime
nevid M (suportul algebrei), dou operaii
binare , : M M M i o operaie unar
~ : M M, care satisfac condiiile
(legile/axiomele):
1) x y = y x
comutativitate
(a lui )
2) (x y) z = x (y z)
asociativitate (a lui )
3) x (y z) = (x y) (x z) distributivitate
(a lui fa de )
4) (x y) y = y
absorbie
5) (x (~x)) y = y
legea contradiciei
(simbolul egal reprezint...)

Algebre booleene 2
i respectiv (dual)
1) x y = y x
comutativitate
(a lui )
2) (x y) z = x (y z)
asociativitate
(a lui )
3) x (y z) = (x y) (x z)
distributivitate (a lui fa de )
4) (x y) y = y
absorbie
5) (x (~x)) y = y
legea tautologiei

Algebre booleene 3

Dualitate; principiul dualitii (text, variabile; la


B - i constantele; vorbim despre afirmaii
booleene)
Notaii (reamintit: B, 2V; - , ; - +, U;
~ - , CV); [n], card (||), etc.
Reprezentare (tabele de adevr, standard; duala
unei funcii booleene; funcii autoduale)
Funcii importante (avnd 0, 1, 2 argumente): 0,
1, c0, c1, 1B, , +, , , |
Numrul de funcii din FB-uri (FB(n), FB)
Reprezentarea numeric a tabelelor standard
Alte considerente algebrice (latici)
Alte legi/teoreme (Tabelul 1.1 pag.30
cartea tiprit n WORD)

CURS 3

Algebre booleene 4
Reprezentarea funciilor booleene
Forme normale

Reprezentarea funciilor
booleene 1
Reprezentarea funciilor ca text
Notaii: x1 = x i x0 = x
Indicii (superiori) precedeni nu se supun
principiului dualitii (de exemplu, nu este
adevrat c ((x1 = x) coincide cu (x0 = x ))
Dac x, , xi, i B atunci, direct din
notaiile de mai sus, rezult c:
(x0) = (x)0 precum i (x = 1 dac i
numai dac x = )

Reprezentarea funciilor
booleene 2
Teorem (de descompunere, n sum de termeni).
Pentru fiecare n N*, f FB(n) i fiecare k [n],
avem:

oricare ar fi x1, x2, ... , xn B (demonstraie)


Enunai teorema dual (observaie, apropo de
dualitate: indicii superiori nu sunt, de fapt, din B)

Reprezentarea funciilor
booleene 3
Definiie. Fie n N* i x1, x2, ... , xn B
variabile/nume (booleene) distincte;
notm mulimea (lista!) acestora cu
X = {x1, x2, ... , xn}. Se numete termen
(n-ar, peste X) orice produs

unde 0 k n, 1, 2, ... ,k B i
1 i1<i2 < ... < ik n

Reprezentarea funciilor booleene


4
Termenul generat pentru k=0 este 1 (prin
convenie); pentru k = n obinem aa-numiii
termeni maximali (maxtermeni), adic acei
termeni n care fiecare dintre variabilele
considerate apare o dat i numai o dat (barat
sau nebarat), n ordinea precizat (adic
x1, x2, ... , xn)
Exemple (p. 35/36, cartea tiprit n WORD)
Numrul de termeni i maxtermeni distinci (i
maxtermenii sunt termeni)
Dual: factori i maxfactori

Forme normale 1

Definiie.
-Se numete form normal disjunctiv (n-ar, n N*),
sau (n-)FND pe scurt, orice sum (finit) de termeni n-ari
distinci
-Se numete form normal disjunctiv perfect (n-ar,
n N*), sau (n-)FNDP pe scurt, orice sum de
maxtermeni n-ari distinci
Facem abstracie de ordinea (max)termenilor dintr-o
sum, mai exact, considernd oricare dou sume
care difer doar prin ordinea termenilor, le vom privi
ca fiind identice
- Vor exista astfel combinri de 3n luate cte k forme
normale disjunctive n-are avnd k termeni, 0 k 3n
(prin convenie, pentru k = 0, unica form care este
acceptat, i este i perfect, se noteaz cu 0), etc.
-Care va fi numrul total al (n -)FND urilor? Dar cel al
(n-)FNDPurilor ? (suma...binomul lui Newton...)

Forme normale 2
Teorem. Orice funcie boolean f se poate
reprezenta n mod unic ca o FNDP:

(demonstraie descompunerea...; apoi,


f() = 1; se deduce un algoritm pentru
tabel versus text, la reprezentarea
funciilor)
Mai spunem c expresia din membrul drept
al reprezentrii este (o) FND(P) pentru f

Forme normale 3
Prin dualizare, folosind noiunile de (n-)factor peste X i
maxfactor (n-ar, peste X), putem defini noiunea de
form normal conjunctiv (n-ar) ((n-)FNC, adic orice
produs de factori dictinci) i respectiv form normal
conjunctiv (n-ar) perfect ((n-)FNCP, adic orice
produs de maxfactori distinci)
Convenie: dou produse nu vor fi considerate distincte
dac difer doar prin ordinea componentelor
Enunai duala teoremei anterioare, pentru FNCP
Care va fi numrul total al (n -)FNC urilor? Dar cel al
(n-)FNCPurilor ?

Forme normale 4
Vom continua cu alte modaliti generale
de a construi ntreaga clas a funciilor
booleene

Clase speciale de funcii


booleene 1
Criteriul numrul total de apariii ale variabilelor
n reprezentarea unei funcii (ca text, ca arbori,
etc.; apariia unei aceleiai variabile pe poziii
diferite se numr distinct; schimbnd puin,
merge i lungimea) poate genera alte tipuri de
forme normale
Folosind aceast msur (pe care o vom nota
cu n()), putem numi, de exemplu, form
normal disjunctiv minimal (FNDM) pentru
f FB orice FND, , astfel nct:
n() = min {n() | este FND pentru f}
Dat o funcie boolean f FB, se poate pune
problema determinrii tuturor FNDM pentru f,
sau a uneia standard (algoritmul lui Quine,
Cursul de...)

Clase speciale de funcii booleene


2
Similar, putem reduce n anumite cazuri
timpul de procesare a unor texte (expresii,
formule, etc.) i prin gsirea unui numr
minim de operaii booleene
convenabile, cu ajutorul crora s se
reprezinte orice funcie boolean

Clase speciale de funcii


booleene 3
Definiie.
-(I) Clasa funciilor booleene elementare este:
E = { i | n N*, 1 p n, i : Bn B,
i (x1, x2, ... , xp, ... , xn) = xp}
(proiecii)
-(II) Fie n N*, t un numr natural,
f, h1, h2, ... , ht FB(n) i g FB(t)
n

n
p

Clase speciale de funcii


booleene 3

Spunem c f FB(n) se obine din g, h1, h2, ... , ht


prin superpoziie dac pentru fiecare
x = <x1, x2, ... , xn> (pairing functions...) avem:
f(x) = g(<h1(x), h2(x), ... , ht(x)>); notaie:
f = SUP(g, h1, h2, ..., ht)
Fie acum M FB, oarecare. Se numete M-ir orice
secven (list) finit f0, f1, ... , fr de funcii booleene
n care fiecare fi este fie din E U M, fie se obine prin
superpoziie din alte funcii, aflate n aceeai list,
dar naintea lui fi ; mulimea M bar, a funciilor
care sunt prezente (pot fi incluse) n M-iruri, se
numete nchiderea lui M

Clase speciale de funcii


booleene 4
Mulimi nchise (M; M = M bar; nchideri,
altfel; caracterizri/definiii echivalente...)
Clase speciale de mulimi nchise: , E,
FB (banale)
Exemple nebanale: T0, T1, Aut, Mon, Lin
(exemple - seminar)
Mulimi complete, precomplete, baze
Alte rezultate i exemple (astea, probabil
la seminar); (aproape) sfrit Capitol...

CURS 4
Vom discuta despre
decidabilitate/rezolvabilitate i apoi
despre un alt mod de reprezentare a
funciilor booleene, i anume diagramele
de decizie binare (eventual, i despre cele
orientate)

Decidabilitate n FB

Problema Satisfiabilitii/adevrului funciilor


booleene (Boolean Satisfiability Problem;
Propositional Satisfiability Problem;
Satisfiability; SAT; 2SAT, 3SAT, etc.)
Teorem (decidabilitatea SAT).
Satisfiabilitatea (validitatea,
nesatisfiabilitatea) funciilor booleene este
decidabil n timp exponenial
(demonstraie)
Alte comentarii (probleme, algoritmi,
paradigme de programare, automate,
calculabilitate, complexitate msuri,
reduceri, P versus NP, etc., seminar)

(O)BDD - 1
tim ce nseamn funcii booleene i
reprezentarea lor cu ajutorul tabelelor de
adevr/matrici sau cu expresii/texte
O alt reprezentare a elementelor din FB se
bazeaz pe diagramele de decizie binare (BDD)
i/sau pe diagramele de decizie binare ordonate
(OBDD)
Alegerea celei mai convenabile reprezentri
depinde de context (problema de rezolvat)
Tot ceea ce putem meniona n acest moment
este c n anumite cazuri o (O)BDD poate fi mai
compact dect o tabel de adevr pentru o
aceeai funcie (din cauza anumitor redundane
care pot fi exploatate mai uor)

(O)BDD - 2
Definiie (Binary Decision Diagram). Se numete
diagram de decizie binar (BDD pe scurt) peste lista
X = {x1, x2, , xn} un graf orientat, aciclic, etichetat (pe
noduri i pe arce) n care:
-exist o unic rdcin (nod n care nu intr nici un arc)
-frunzele (nodurile din care nu iese nici un arc) sunt
etichetate cu 0 sau 1, iar celelalte noduri (inclusiv
rdcina) sunt etichetate cu elemente din X (se permit
etichetri multiple, adic noduri diferite pot avea aceeai
etichet); ideea este i ca fiecare xi s fie folosit mcar o
dat; cerina nu este ns obligatorie ntotdeauna
-fiecare nod care nu este frunz are exact doi succesori
imediai, arcele care i leag fiind i ele etichetate: cu 0
(stnga) respectiv 1 (dreapta)
O subBDD (ntr-o BDD dat) este un subgraf generat de
un nod fixat mpreun cu toi succesorii si (desigur,
mpreun cu arcele care le leag)

(O)BDD - 3
De obicei, ntr-un desen care reprezint
o BDD, frunzele pot fi identificate (i) prin
ptrate (nu cercuri, ca restul nodurilor),
orientarea arcelor este implicit (de sus n
jos), arcele etichetate 0 sunt reprezentate
prin linii punctate (stnga), iar cele
etichetate 1 sunt linii continue (dreapta);
formal, este evident altceva
n primele exemple (care urmeaz),
grafurile sunt arbori

(O)BDD - 4
(I) D0, D1 (peste ) i Dx (peste X = {x}):

(II) O BDD peste X = {x, y}

(O)BDD - 5
Observaie. Orice BDD peste X = {x1,x2, ,xn}
definete/reprezint/calculeaz o unic funcie boolean
f FB(n)
Astfel, pentru 1,2,,n B (considerate ca fiind valori
asignate corespunztor variabilelor booleene din X) se
pornete cu rdcina (unic) i se parcurge un drum
(unic) n graf pn la o frunz (s spunem c aceasta
este etichetat cu B)
La fiecare pas, plecnd din nodul curent, se alege acel
arc (prin urmare i noul nod curent) care are ataat
valoarea 0 sau 1 conform valorii deja atribuite exnodului curent x (n asignarea aleas)
Valoarea asignat lui este chiar f(<1, 2, , n>)

(O)BDD - 6
n acest mod, BDD-ul din exemplul anterior
(vezi (II)) reprezint funcia
f ( x, y) x y

Este clar c putem proceda i invers, adic


pornind cu orice funcie f FB(n) dat printr-un
tabel de adevr, construim (mcar) un arbore
(BDD) binar, complet i avnd n nivele, notate
0 - rdcina, 1, , n-1 frunzele(alternativ,
arborele avnd adncimea n) care calculeaz
f, n modul urmtor:

(O)BDD - 7
Se ordoneaz mulimea de variabile cu ajutorul creia
este exprimat funcia, s zicem X = {x1, x2, , xn},
sub forma <xk,1, xk,2, , xk,n>, <k,1; k,2; ; k,n> fiind o
permutare pentru <1, 2, , n>
Nodurile interioare (care nu sunt frunze) situate pe
nivelul i -1 sunt etichetate (toate) cu xk,i (i [n]);
rdcina este etichetat cu xk,1 ea fiind (singurul nod de)
pe nivelul 0
Cele dou arce care ies din fiecare nod sunt etichetate
(normal) cu 0 i respectiv 1
Frunzele sunt etichetate cu 0 sau 1 conform tabelei de
adevr pentru f (drumul de la rdcin la frunza
corespunztoare furnizeaz exact linia care trebuie
aleas din tabel: eticheta fiecrui arc de pe drum
reprezint valoarea atribuit variabilei care este eticheta
nodului din care iese arcul)

(O)BDD - 8
Exemplu. Fie f FB(3) dat prin
f (a , b, c) (a b ) (a b c)

deci exprimat cu ajutorul lui X = {a, b, c},


<a, b, c> fiind i ordinea impus asupra
variabilelor; tabela sa de adevr este (de fcut
voi)
BDD-ul care calculeaz f dup algoritmul sugerat
anterior este (adic, urmeaz pe alt slide; de
verificat)
Observaie. De multe ori nu vom face o
distincie explicit ntre funcie boolean i
formul din LP (conform cursurilor ulterioare,
dei)

(O)BDD - 9

(O)BDD - 10

Dup cum se observ imediat, construirea unui BDD


care calculeaz o funcie dat nu este un proces cu
rezultat unic (spre deosebire de procesul invers), fiind
suficient s schimbm ordinea variabilelor
Impunerea unei ordini asupra etichetelor nodurilor este
ns i un prim pas spre gsirea unor forme normale
pentru BDD-uri
Un alt aspect care trebuie avut n vedere pentru
atingerea acestui scop este acela c reprezentarea ca
arbore a unei BDD nu este deloc mai eficient/compact
dect o tabel de adevr (nici dect, de exemplu, o
FNC(P)): dac f FB(n), atunci tabela sa de adevr va
avea 2n linii iar n reprezentarea BDD sugerat de noi
(ca arbore, n care fiecare nivel este destinat unei
variabile i pe fiecare drum de la rdcin la o frunz
apar toate variabilele exact o dat) vor fi exact 2n+1 1
noduri
Putem compacta o BDD dac i aplicm urmtoarele
procedee de reducere/optimizare (n cele de mai jos,
cnd ne referim la nodul n, m, etc. nu ne referim la
eticheta din X; sunt doar nite nume):

(O)BDD - 11
C1 (nlturarea frunzelor duplicat). Dac o BDD conine mai mult de
o frunz etichetat cu 0, atunci:
-pstrm una dintre ele
-tergem celelalte frunze etichetate cu 0, mpreun cu arcele
aferente, care de fapt se redirecioneaz spre singura 0-frunz
rmas (fiecare pstrndu-i nodul surs)
-se procedeaz n mod similar cu 1-frunzele; admitem i nlturarea
unei frunze dac, n final, ea nu are nici un arc incident cu ea
C2 (eliminarea testelor redundante). Dac n BDD exist un nod
(interior) n pentru care att 0-arcul ct i 1-arcul au ca destinaie
acelai nod m (lucru care se poate ntmpla doar dac s-a efectuat
mcar un pas de tip C1), atunci nodul n se elimin (mpreun cu
arcele sale care puncteaz spre m), iar arcele care nainte
punctau spre n sunt redirecionate spre m
C3 (eliminarea nodurilor duplicat care nu sunt frunze). Dac n
BDD exist dou noduri interioare distincte, s zicem n i m, care
sunt rdcinile a dou subBDD-uri identice (fiind identice, n i m
sunt i pe acelai nivel, m mai n dreapta ), atunci se elimin unul
dintre ele, s zicem m (mpreun cu arcele care-l au ca surs), iar
arcele care punctau spre m se redirecioneaz spre n

(O)BDD - 12

Exemplu. Plecnd de la BDD-ul din


ultimul exemplu obinem succesiv (mai
nti sunt transformri de tip C1, apoi de
tip C3 i, n sfrit, de tip C2)

(O)BDD - 13

(O)BDD - 14

(O)BDD - 15

(O)BDD - 16
Ultima BDD este maximal redus (nu se
mai pot face alte transformri de tipul
precizat)
Desigur c ordinea n care se efectueaz
eliminrile de tipul C1-C3 poate influena
aspectul structural al unei BDD i pot
exista mai multe transformri distincte
care s fie simultan admise pentru o
aceeai structuri
n schimb, nici o transformare nu
modific funcia boolean calculat

(O)BDD - 17
Concluzionnd, BDD-urile pot fi uneori convenabil de
compacte
Mai mult, putem reformula anumite definiii ale funciilor
booleene pentru noua reprezentare, cptnd, de
exemplu, idei noi pentru rezolvarea problemei SAT
Diagramele de decizie binare ordonate vor fi studiate
opional, deocamdat ceea ce urmeaz (pn la Curs
5) nu v va fi cerut...

(O)BDD - 18
Definiie (drumuri consistente i satisfiabilitate). Fie
o BDD D peste mulimea de variabile X, care calculeaz
o funcie f FB. Se numete drum consistent pentru f n
D, un drum (d) de la rdcin la o frunz care satisface
condiia c pentru fiecare x X, (d) conine doar arce
reprezentate ca linii punctate sau doar arce reprezentate
ca linii continue, care ies din fiecare nod etichetat cu x
(acest lucru echivaleaz cu a stipula c pentru a afla
valoarea de adevr a lui f ntr-o asignare dat, unei
variabile x nu i se pot atribui simultan valorile 0 i 1, ceea
ce este absolut normal)
Atunci, f este satisfiabil dac i numai dac exist o
BDD D care o reprezint, precum i un drum consistent
pentru ea n D astfel nct el leag rdcina de o
frunz etichetat cu 1 (similar cu LP se definesc
noiunile de formul valid i contradicie)

(O)BDD 19
Definiie (diagrame de decizie binare ordonate). Fie
X = {x1, x2, , xn} o mulime de variabile considerat a fi
deja total (strict) ordonat (X este de fapt lista
< x1, x2, , xn >) i o BDD D peste X. Spunem c D are
ordinea < x1, x2, , xn > dac i numai dac pentru
fiecare drum (d) n D de la rdcin la orice frunz i
fiecare apariie a etichetelor distincte xi i xj pe noduri din
(d), dac xi apare naintea lui xj atunci i j
O BDD D se numete ordonat (pe scurt, OBDD), dac
exist o list de variabile X (inclusiv lista vid sau cea
care conine un unic element) astfel nct D are ordinea
X

(O)BDD - 20
Dei eseniale pentru testarea satisfiabilitii unei formule
date (a crei semantic este dat de funcia din FB
reprezentat ca (O)BDD) sunt doar variabilele care apar
ntr-o BDD care o calculeaz, s notm c nu am cerut
n mod explicit ca lista s conin exact etichetele care
apar ntr-o OBDD
Astfel, dac un OBDD are ordinea <x, y, z> atunci ea
are i ordinea <u, x, y, v, z, w>, etc.
Deoarece am presupus c ordinea este total i strict,
relaia respectiv nu este reflexiv, este antisimetric
(n sensul c dac x y atunci nu putem avea i y x)
i tranzitiv
Datorit acestor proprieti, ntr-o OBDD nu exist
apariii multiple ale unei variabile pe un drum i este clar
c exist mcar o BDD care nu este i o OBDD:

(O)BDD - 21

(O)BDD - 22
Cu toate aceste posibile avantaje, se pare totui
c reprezentarea cu ajutorul (O)BDD a funciilor
booleene nu este nc destul de convingtoare
Nu sunt astfel vizibili algoritmi simpli pentru a
testa echivalena semantic a dou (O)BDD
deja reduse dar diferite (ca n cazul tabelelor de
adevr) i nici pentru a le compune uor (ca n
cazul formelor normale din LP)

(O)BDD - 23
Exemplele anterioare ne furnizeaz att o
OBDD neredus ct i una maximal redus
Definiie (ordini compatibile). Fie O1 i O2
dou ordini (totale, stricte) peste mulimile de
variabile X i respectiv Y (notm Z = X U Y). O1
i O2 se numesc compatibile dac nu exist
variabilele distincte x, y Z astfel nct x
precede y n O1 iar y precede x n O2

(O)BDD - 24
Restrngnd clasa ordinilor posibile la ordinile
compatibile, obinem imediat adevrul
urmtoarei afirmaii
Teorem (unicitatea OBDD-urilor maximal
reduse). Fie f FB orice funcie boolean.
Atunci OBDD-ul maximal redus care o
reprezint este unic via ordinile compatibile (mai
exact, fie D i D dou OBDD-uri maximal
reduse care reprezint f - adic semantic
echivalente). Atunci D i D coincid

(O)BDD - 25
Din teorema precedent rezult c verificarea
echivalenei semantice devine banal n acest context
(ntr-o anumit implementare ar trebui s verificm pur i
simplu egalitatea a doi pointeri)
Mai rezult i faptul c indiferent de ordinea n care
aplicm reducerile vom obine aceeai diagram
maximal redus
Definiie (forma canonic a diagramelor ordonate).
Fie orice n N, orice f FB(n) i orice mulime de
variabile total i strict ordonat X = <x1, x2, , xn>. Fie
D o OBDD peste X, care are ordinea X, este maximal
redus i reprezint f. Atunci D se numete
(OBDD-)forma canonic a lui f

(O)BDD - 26
Am putea deduce c dimensiunea unei
OBDD este independent de ordinea
aleas
Din pcate acest lucru nu este valabil n
general i dependena dimensiunii unei
OBDD de ordinea aleas este preul pe
care l pltim pentru avantajele pe care
OBDD-rile le au fa de BDD-uri i alte
tipuri de reprezentri

(O)BDD - 27
n concluzie, chiar dac nu trebuie s
supraestimm importana OBDD-urilor i a
existenei reprezentrilor canonice pentru
funciile booleene, putem enumera
urmtoarele avantaje ale utilizrii
acestora:
-Formele canonice sunt n multe cazuri
reprezentri mai compacte dect cele
folosite n mod uzual (tabele, forme
normale)

(O)BDD - 28
-Formele canonice se pot construi efectiv i n mod
unic pornind de la alte reprezentri (i reciproc)
-Nu conin apariii nenecesare de variabile; dac
valoarea lui f FB(n) n <x1, x2, , xn> nu
depinde de un xi atunci forma canonic care
reprezint f nu va conine nici un xi-nod (nod
etichetat cu xi)
-Dac dou funcii f, g FB(n) sunt reprezentate
de Df respectiv Dg, OBDD-uri canonice cu ordini
compatibile, atunci se poate decide simplu
echivalena semantic a lui Df i Dg adic
egalitatea f = g

(O)BDD - 29
Putem testa dac o funcie este satisfiabil lucrnd pe
forma sa canonic: forma canonic nu este D0;
validitatea/contradicia este la fel de simplu de testat:
forma canonic a funciei coincide cu D1/D0
Putem testa dac f implic g (f, g FB(n)), adic dac
pentru fiecare <a1, a2, , an> Bn, din
f(a1, a2, , an) = 1 rezult g(a1, a2, , an) = 1. Asta
nseamn s calculm forma canonic pentru f g
i aceasta trebuie s coincid cu D0 n cazul n care
implicaia este adevrat
i n cazul acestei reprezentri se pot defini, prin
algoritmi eficieni, anumite operaii asupra OBDD-urilor
(formelor canonice) prin care putem construi ntreaga
clas a funciilor booleene (i nu numai), pornind cu
anumite funcii de baz (elementare)

Final FB
Index recapitulativ...
Exerciii suplimentare...(Huth/Ryan)
Alte comentarii (ce a fost i ce va fi n
acest Curs)

CURS 5
Continum cu Logica propoziional (LP)

LP - Sintaxa 1
Logica propoziional, d.p.d.v. sintactic, este o mulime
de formule (propoziionale), sau chiar de programe
booleene, notat LP
Definiie (constructiv):
-Fie o mulime numrabil (iar, cardinalalef 0) de
variabile propoziionale (formule elementare, formule
atomice pozitive, atomi pozitivi), A = {A1, A2, }
Fie, de asemenea, C = {, , } mulimea
conectorilor/conectivelor logici/logice: non (negaia), sau
(disjuncia), respectiv i (conjuncia) i P = { ( , ) }
mulimea parantezelor (rotunde)
Formulele (elementele lui LP) vor fi cuvinte (expresii bine
formate - wff) peste alfabetul L = A U C U P

LP - Sintaxa 2
-Baza (formulele elementare sunt formule):
A LP
-Pas constructiv (obinere formule noi din
formule vechi):
(i) Dac F LP atunci ( F) LP
(ii) Dac F1, F2 LP atunci (F1 F2) LP
(iii) Dac F1, F2 LP atunci (F1 F2) LP
(iv) Dac F LP atunci (F) LP
(v) Nimic altceva nu mai este formul (de acum
ncolo, nu-l mai scriem)

LP - Sintaxa 3
Arbori, subformule (definiii constructive)
(( F) G) se va nota cu (F G)
Pentru ((( F) G) (( G) F)) folosim (F G)
sau ((F G) (G F))
n

i= 1

i= 1

Fi este o prescurtare pentru F1 F2 ... Fn


Fi este prescurtarea lui F1 F2 ... Fn

Comentarii asupra noilor simboluri

LP - Sintaxa 4
Vom numi literal o variabil propoziional sau negaia
sa
A A se va numi literal pozitiv, iar orice element de
forma A, A A va fi un literal negativ (vom nota cu
A mulimea { A1, A2, })
Dac L este un literal (adic L A U A ), atunci
complementarul su, L , va nota literalul A, dac
L = A A i respectiv literalul A dac L = A
Se numete clauz orice disjuncie (finit) de literali
Se numete clauz Horn o clauz care are cel mult un
literal pozitiv
O clauz pozitiv este o clauz care conine doar
literali pozitivi, iar o clauz negativ va conine doar
literali negativi
O clauz Horn pozitiv va conine exact un literal
pozitiv (dar, posibil, i literali negativi)

LP Semantica 1
Semantica (nelesul) unei formule
propoziionale este, conform principiilor logicii
aristotelice, o valoare de adevr (a(=1) sau
f (=0)), obinut n mod determinist, care este
independent de (orice alt) context
Notnd de la nceput pe a cu 1 i pe f cu 0,
astfel nct s putem lucra cu algebra
boolean B = < B, , +, >, noiunea principal
este cea de asignare (interpretare, structur)
Definiie. Orice funcie S, S : A B se numete
asignare

LP Semantica 2

Teorem (de extensie). Pentru fiecare asignare S


exist o unic extensie a acesteia, S : LP B
(numit tot structur sau interpretare), care
satisface:
(i) S(A) = S(A), pentru fiecare A A
(ii) S(( F)) = S '(F ) pentru fiecare F LP
(iii) S((F1 F2) ) = S(F1) S(F2),
pentru fiecare F1, F2 LP
(iv) S((F1 F2) ) = S(F1) + S(F2), pentru fiecare
F1, F2 LP
(v) S((F)) = S(F), pentru fiecare F LP
(demonstraie, pe scurt)

LP Semantica 3
De acum nainte, vom folosi mereu S (n loc de
S)
Definiie.
-O formul F LP se numete satisfiabil dac
exist mcar o structur S (complet) pentru
care formula este adevrat (S(F) = 1); se mai
spune n acest caz c S este model pentru F
(simbolic, se scrie S F)
-O formul este valid (tautologie) dac orice
structur este model pentru ea
-O formul este nesatisfiabil (contradicie)
dac este fals n orice structur (S(F) = 0,
pentru fiecare S, sau S | F S nu este
model- pentru fiecare S)

LP Semantica 4
Teorem. O formul F LP este valid
dac i numai dac ( F) este contradicie
(demonstraie)
Clasa tuturor formulelor propoziionale LP
este astfel partiionat n trei mulimi
nevide i disjuncte: tautologii (formule
valide), formule satisfiabile (dar
nevalide), contradicii (formule nevalide);
desen

LP Semantica 5

Definiie.
-Dou formule F1, F2 LP se numesc tare
echivalente dac pentru fiecare structur
S ele au aceeai valoare de adevr, adic
S(F1) = S(F2) (simbolic, vom scrie
F1 F2)
-F1 i F2 se numesc slab echivalente
dac F1 satisfiabil implic F2 satisfiabil i
reciproc (vom scrie F1 s F2, ceea ce
nseamn c dac exist S1 astfel nct
S1(F1) = 1, atunci exist S2 astfel nct
S2 (F2) = 1 i reciproc) ; comentarii pt. lb.
englez

LP Semantica 6
-O formul F LP este consecin
semantic dintr-o mulime (nu neaprat
finit) de formule G LP, dac: pentru
fiecare structur corect S (aceasta
nseamn ), dac S satisface G (adic
avem S(G) = 1 pentru fiecare G G)
atunci S satisface F (simbolic, vom scrie
G F)

LP Semantica 7
Teorem. Fie G LP i
G = { G1, G2, , Gn } LP.
Urmtoarele afirmaii sunt echivalente
(comentarii):
(i) G este consecin semantic din G
(ii) ( Gi ) G este tautologie
n

i= 1

(iii) ( Gi ) G este contradicie


(demonstraia la seminar)
n

i= 1

LP Semantica 8
Teorem (de echivalen). Sunt adevrate urmtoarele
echivalene (tari, pentru oricare F, G, H LP):
(a) F F F
(a) F F F (idempoten)
(b) F G G F
(b) F G G F (comutativitate)
(c) ( F G ) H F ( G H )
(c) (F G) H F (G H)
(asociativitate)
(d) F ( G H ) (F G) (F H)
(d) F ( G H ) (F G) (F H) (distributivitate)
(e) F ( F G ) F
(e) F ( F G ) F (absorbie)

LP Semantica 9

(f) F F
(legea dublei negaii)
(g) ( F G ) F G
(g) ( F G ) F G (legile lui deMorgan)
(h) F G F
(h) F G G (legile validitii, adevrate doar
dac F este tautologie)
(i) F G F
(i) F G G (legile contradiciei, adevrate doar
dac F este contradicie)
(demonstraie parial)
Generalizri pentru mai multe formule;
dualitate

LP Semantica 10
Teorem (de substituie). Fie H LP,
oarecare. Fie orice F, G LP astfel nct F
este o subformul a lui H i G este tare
echivalent cu F. Fie H formula obinut
din H prin nlocuirea (unei apariii fixate a)
lui F cu G. Atunci H H (demonstraie
parial; comentarii apropo de legi n
algebrele booleene...)

CURS 6
Continum cu forme normale

LP Forme normale 1
Spre deosebire de cazul funciilor booleene, studiem
formele normale conjunctive i formele normale disjunctive
simultan (pentru nceput; deocamdat, nu vorbim nici
despre FNCP convenii, clase de forme...LP/; comentarii
depre legtura cu algebrele Boole)
Definiie. O formul F LP se afl n form normal
conjunctiv (FNC, pe scurt) dac este o conjuncie de
disjuncii de literali, adic o conjuncie de clauze; respectiv,
F LP este n form normal disjunctiv (FND, pe scurt),
dac este o disjuncie de conjuncii de literali:
m

ni

F ( L i, j )
i= 1

j= 1

n cele de mai sus Li, j A U A

ni

F ( L
i= 1

j= 1

i, j

LP Forme normale 2
Teorem. Pentru fiecare formul F LP
exist cel puin dou formule F1, F2 LP,
F1 aflat n FNC i F2 aflat n FND, astfel
nct F F1 i F F2 (se mai spune c F1
i F2 sunt o FNC, respectiv o FND, pentru
F) (demonstraie parial)

LP Forme normale 3
Conform teoremei anterioare, precum i datorit
comutativitii i idempotenei (...) disjunciei,
comutativitii i idempotenei conjunciei
(repetarea unui element, fie el literal sau clauz,
este nefolositoare din punctul de vedere al
(ne)satisfiabilitii unei formule), este justificat
scrierea ca mulimi a formulelor aflate n FNC
(aestea vor fi baza de acum ncolo)
Astfel, dac F este n FNC, vom mai scrie
F = {C1, C2, ... , Cm} (nu uitm totui c virgula
aici provine dintr-o conjuncie, Ci fiind clauze)

LP Forme normale 4
Fiecare clauz Ci poate fi la rndul ei reprezentat ca
o mulime, Ci = {Li,1, Li,2,, Li,ki }, Li,j fiind literali
(virgula reprezint...)
Mai mult, dac avem F LP reprezentat ca mulime
(de clauze) sau ca mulime de mulimi (de literali) i
ne intereseaz doar studiul (ne)satisfiabilitii ei,
putem elimina direct clauzele C care conin att L ct
i L , deoarece L L 1, 1 C 1 i deci aceste
clauze sunt tautologii (notate generic cu 1
contradiciile cu 0)
Tautologiile componente nu au nici o semnificaie
pentru stabilirea valorii semantice a unei formule F
aflate n FNC (1 C C)

Formule Horn n LP - 1
Reamintim c o clauz Horn este o disjuncie de literali
care conine cel mult un literal pozitiv
Definiie. O formul Horn este o formul aflat n FNC,
clauzele componente fiind (toate) clauze Horn
Vom numi (tot) formul Horn (i) o formul care este
(tare) echivalent cu o formul avnd forma considerat
n definiia precedent (este adevrat c...exist..., etc.)
Se poate arta c exist formule propoziionale care nu
sunt tare echivalente cu nici o formul Horn, apariia a
mcar doi literali pozitivi distinci ntr-o clauz (oarecare)
fiind decisiv
Formele posibile pentru o formul Horn sunt (variabilele
propoziionale care apar sunt elemente ale lui A):
(i) C = A1 A2 Ak, k 1, k N i
(ii) C = A1 A2 Ak B, k N

Formule Horn n LP - 2
n afar de reprezentarea ca mulimi, clauzele Horn pot fi
reprezentate i sub aa-numita form implicaional
Vom distinge cazurile (reamintim c 0 i 1 denot orice
contradicie respectiv orice tautologie; - egal prin
convenie sau definiie), relund n detaliu observaia de
pe slide-ul anterior:
-C = A A (nici un literal negativ, un literal pozitiv); acest
lucru se mai poate scrie sub forma C 1 A, ceea ce
se justific prin aceea c
1A1A0AA
-C = A1 A2 Ak (k 1; nici un literal pozitiv,
mcar un literal negativ); vom scrie
C A1 A2 A3 Ak 0 (folosim din nou definiia
implicaiei, deMorgan i faptul c 0 A A)

Formule Horn n LP - 3
-C = A1 A2 Ak B (k 1; exact un
literal pozitiv, mcar un literal negativ); atunci
avem
CA1 A2 A3 AkB, direct din definiia
implicaiei i deMorgan
- Din motive tehnice, admitem i C (nici un
literal negativ, nici un literal pozitiv)
Din motive tehnice vom folosi i aceast clauz
vid (n reprezentarea clauzelor cu mulimi vom
folosi, desigur, pentru , simbolul )
Prin convenie, este o clauz de orice tip
(inclusiv o clauz Horn), dar nesatisfiabil

Formule Horn n LP - 4
Teorem. Satisfiabilitatea formulelor Horn este
decidabil n timp liniar.
Demonstraia se bazeaz pe urmtorul algoritm
(imperativ, pseudocod):
Algoritm Horn
Intrare: Orice formul Horn, F, reprezentat ca mulime
de clauze, clauzele componente fiind clauze Horn
diferite de clauza vid i scrise sub form implicaional
(putem elimina aprioric i...)
Ieire: DA, n cazul n care formula F este satisfiabil
(furnizndu-se i o asignare S care este model pentru F)
i NU n caz contrar (adic, F nu este satisfiabil)

Formule Horn n LP 5
Metod (de marcare):
Pasul 1. i := 0
Pasul 2.
Ct_timp ((exist n F o clauz C de forma
A1 A2 A3 Ak B, cu A1, A2, A3, ... , Ak marcai i B
nemarcat,
sau de forma
A1 A2 A3 Ak 0, cu A1, A2, A3, ... , Ak marcai) i (i = 0))
execut
Pasul 3. Alege un asemenea C ca mai sus
Pasul 4. Dac ( C = A1 A2 A3 Ak B )
atunci
Pasul 5. Marcheaz B peste tot n F
altfel
Pasul 6. i := 1
Sf_Dac
Sf_Ct_timp

Formule Horn n LP - 6
Dac ( i = 0 )
atunci
Paii 8-9. Scrie DA i
S (S(A) = 1 dac i
numai dac A apare n F
i este marcat)
altfel
Pasul 10. Scrie NU
Sf_Dac
Trebuie s demonstrm corectitudinea
algoritmului (selectiv, din ceea ce urmeaz)
Pasul 7.

Formule Horn n LP - 7
Artm mai nti c algoritmul se termin pentru fiecare
intrare
S precizm c iniial toate variabilele se consider a fi
nemarcate; apoi:
-Dac F conine clauze de forma 1 B (care se consider
a fi de fapt de forma A1 A2 A3 Ak B, cu A1, A2,
A3, ... , Ak marcai i B nemarcat), se procedeaz conform
Algoritmului Horn, adic se marcheaz toate apariiile lui B
n F i se trece la pasul urmtor; mai departe, la fiecare
execuie a corpului buclei (Paii 3. i 4.), fie se marcheaz
o variabil propoziional nou (nemarcat nc), fie se iese
din execuia buclei (i algoritmul se termin); pentru c
numrul de variabile peste care este construit formula F
este finit, terminarea algoritmului este evident
-Dac nu exist deloc clauze de tipul 1 B, algoritmul se
termin fr nici o execuie a corpului buclei, cu rspunsul
DA (formula este satisfiabil) i cu asignarea S, n care
S(A) = 0 pentru fiecare A (care apare n F)

Formule Horn n LP - 8
Artm n continuare c algoritmul este
corect; aceasta nseamn c ieirea
algoritmului satisface ceea ce am dorit,
adic rspunsul DA/S corespunde
faptului c formula F furnizat la intrare
este satisfiabil (i S este model pentru F)
iar rspunsul NU corespunde faptului c
F este nesatisfiabil
Practic, vom distinge cazurile:

Formule Horn n LP - 9
Cazul a) La terminarea execuiei se obine DA
valoarea lui i este 0, i F nu conine clauze C de
tipul 1 B (n F sunt doar clauze de forma, i
S(A) = 0 pentru fiecare A din F); nu exist
variabile marcate i printre clauze nu vom avea,
n urma asignrii, ceva de forma 1 0
Cazul b) La terminare se obine DA iar F
conine i clauze C = 1 B; atunci bucla se
termin dup un anumit numr (pozitiv) de
execuii ale corpului su, valoarea lui i este 0 i
F conine n final clauze C avnd marcate cteva
variabile (exist doar urmtoarele posibiliti;
mai exact, din nou, 1 0 nu poate fi printre
aceste posibiliti)

Formule Horn n LP - 10
Cazul c) Algoritmul se termin cu i = 1 i
rspunsul NU; acest lucru nseamn c exist
n F o clauz C = A1 A2 A3 Ak 0 cu
toi Ai, i [k] marcai (obligatoriu, n F exist i
clauze de forma 1 B; B se va marca), de unde
rezult c semantica lui C n asignarea furnizat
de algoritm este de forma 1 0 i prin urmare
S(C) = 0, de unde S(F) = 0
Acest lucru nu nseamn ns c F este
nesatisfiabil (poate exist o alt asignare,
nafara celei construite de Algoritm, care...)
Pentru a trage aceast concluzie trebuie deci s
artm c nici o alt asignare nu poate fi model
pentru F; n ceea ce urmeaz, e esenial faptul
c S conine cel mai mic numr

Formule Horn n LP - 11
S presupunem (RA) c exist o asignare S1 (diferit de
S, cea furnizat de algoritm) astfel nct S1(F) = 1
S observm, pentru nceput, c toate variabilele care
au fost marcate n algoritm (deci cele care au primit
valoarea de adevr 1 n S), trebuie s primeasc
valoarea 1 n oricare S1 cu S1(F) = 1; altfel spus,
asignarea S conine cel mai mic numr posibil de valori 1
(atribuite evident variabilelor marcate) astfel nct formula
s aib anse s fie satisfiabil; ntr-adevr, pentru
fiecare S1 cu S1(F) = 1, trebuie s avem S1(C) = 1 pentru
fiecare clauz C din F; mai exact:
S ne ocupm puin de momentul n care se marcheaz
o variabil B, ordonnd clauzele din F de forma
C = A1 A2 A3 Ak B (k 1) dup numrul de
variabile din antecedent (chiar n algoritm, selecia unei
clauze pentru marcare se poate face dup un
asemenea criteriu)

Formule Horn n LP - 12

ncepem cu clauze C de tipul 1 B ( B; nici o variabil n


antecedent, B nemarcat); de la acestea ncepe de fapt
procesul de marcare; pentru c S1(C) trebuie s fie egal cu 1,
este clar c trebuie pus S1(B) = 1 (B se i marcheaz, deci
aveam i S(B) = 1)
Continum cu clauzele C de forma A B ( A B; o
variabil n antecedent; A este marcat, B nemarcat); A nu
putea fi marcat dect dac a aprut deja ca un consecvent
ntr-o clauz de tipul anterior, sau n una de acelai tip cu
aceasta i care are antecedentul marcat; prin urmare, n orice
S1 cu S1(C) = 1, trebuie oricum s avem S1(A) = 1,
deci S1( A) = 0 i atunci S1(B) = 1 (consecina este c B se
marcheaz, deci din nou avem i S(B) = 1)
Continum raionamentul cu C = A1 A2 B (dou variabile
n antecedent; ambele variabile marcate; B este, nc,
nemarcat) i ajungem iar la concluzia c pentru fiecare S1,
pentru a avea S1(C) = 1, trebuie s avem att S1(B) = 1,
precum i S(B) = 1; etc.

Formule Horn n LP - 13

Revenind, am artat c pentru fiecare S1 astfel nct S1(F)=1,


trebuie s avem i S1(A) = 1 pentru fiecare A marcat de ctre
algoritm, adic pentru fiecare A care satisface S(A) = 1
(procesul descris mai sus se continu pentru oricte variabile
prezente n antecedent, iar numrul acestora este finit)
Prin urmare, avem i S(C) = 0, de unde rezult c S(F) = 0,
ceea ce este absurd
S artm n final c algoritmul Horn are timp de execuie
liniar
Faptul c t(n) O(f(n)) (comentariu...), unde f(n) = an + b (a,
b N*; acestea pot fi chiar numere reale), rezult imediat din
faptul c la fiecare execuie a corpului buclei se marcheaz o
nou variabil
Desigur c, pentru a obine n mod real acest lucru, algoritmul
trebuie detaliat (implementare), n sensul c, de exemplu,
n Paii de tip 3 (de alegere a unei clauze corespunztoare
C), selecia variabilei de marcat trebuie fcut prin
parcurgerea de un numr fix de ori (independent de numrul
de execuii) a listei variabilelor peste care este construit F
Exemplu (carte)

Rezoluie n LP - 1
Fr a restrnge generalitatea, putem presupune c
lucrm cu formule din LP aflate n FNC, reprezentate sub
form de mulimi (finite) de clauze, iar clauzele ca mulimi
(finite) de literali
Definiie (rezolvent). Fie clauzele C1, C2 , R. Spunem c
R este rezolventul lui C1, C2 (sau c C1, C2 se rezolv
n R, sau c R se obine prin rezoluie ntr-un pas din
C1, C2), pe scurt, R = ResL(C1, C2), dac i numai dac
exist un literal L C1 astfel nct L C2 i
R = (C1 \ {L}) U (C2 \ { L })
Vom putea reprezenta acest lucru i grafic, prin arborele
de rezoluie:
c1 c 2

CURS 7
Continuare rezoluie

Rezoluie n LP - 2
Se observ imediat c rezolventul a dou clauze este
este tot o clauz (mai mult, rezolventul a dou clauze
Horn este tot o clauz Horn)
Clauza vid () poate fi obinut prin rezoluie din dou
clauze de forma C1 = {A} i C2 = {A}
n definiia anterioar putem considera c C1 i C2 sunt
diferite ntre ele. Dac ele ar coincide, atunci
C1 = C2 = C = L L 1, adic acele
clauze sunt tautologii, detectabile sintactic (n acest
caz nu ne mai intereseaz alte metode formale de
studiere a satisfiabilitii lor)
De asemenea vom rezolva doar clauzele n care
literalul L cu acea proprietate este unic (pentru c...)

Rezoluie n LP - 3
Teorem (lema rezoluiei). Fie oricare formul
F LP (aflat n FNC i reprezentat ca
mulime de clauze) i R un rezolvent pentru C1,
C2 F. Atunci F este tare echivalent cu
F U {R} (demonstraie)
n teorema anterioar am fi putut considera, n
loc de F, o mulime oarecare de clauze, chiar
infinit/numrabil (vezi Teorema de
compactitate, care va urma)

Rezoluie n LP - 4
Definiie. Fie F o mulime oarecare de
clauze din LP i C o clauz. Spunem c
lista C1, C2 , , Cm este o demonstraie
prin rezoluie (n mai muli pai) a lui C
pornind cu (bazat pe) F dac sunt
satisfcute condiiile (M- ir...amintiri...):
(i) Pentru fiecare i [m], fie Ci F, fie Ci
este obinut prin rezoluie ntr-un pas din
Cj, Ck, cu j, k < i
(ii) C = Cm

Rezoluie n LP - 5
n condiiile definiiei, se mai spune c C este
demonstrabil prin rezoluie (n mai muli pai,
pornind cu/bazat pe F sau n ipotezele date de
F)
Mai mult, pentru a spune acest lucru, este
suficient ca F s poat fi inserat (prezent)
ntr-o demonstraie i nu s fie neaprat ultimul
element al acesteia (iar, ai mai ntlnit...?)
Intuitiv, o demonstraie prin rezoluie n mai muli
pai nseamn o succesiune finit de rezoluii
ntr-un pas, care poate fi reprezentat i grafic,
printr-un arbore, sau chiar ca un graf oarecare
(dac nu folosim noduri diferite pentru apariiile
distincte ale unei aceleiai clauze, n respectiva
list)

Rezoluie n LP - 6
n particular, dac C este clauza vid, atunci
demonstraia respectiv se numete i respingere (...)
Numrul de pai dintr-o demonstraie bazat pe F este
dat de numrul de clauze obinute prin rezoluie ntr-un
pas (din clauze anterioare), la care se adaug de obicei
i numrul de clauze din F folosite n demonstraie
Acesta poate fi considerat ca fiind o msur a mrimii
(lungimii) demonstraiei
O (alt) msur pentru o demonstraie reprezentat ca
text poate fi chiar lungimea listei (numrul total de clauze
sau chiar numrul total de clauze distincte)
Dac reprezentm o demonstraie ca un arbore, putem
folosi i msuri specifice, cum ar fi adncimea arborelui,
numrul de niveluri, etc.

Rezoluie n LP - 7

Definiie (mulimea rezolvenilor unei mulimi de


clauze). Fie F o mulime de clauze din LP (nu neaprat
finit). Notm succesiv:
-Res(F) = F U {R | exist C1, C2 F astfel nct
R = Res(C1, C2)}
-Res(n+1)(F) = Res(Res(n)(F)), n N
-Prin Res(0)(F) vom nelege F i atunci vom avea i
Res(1)(F) = Res(F).
Mai mult:
R es ( F )
*

R es

(n)

(F )

n N

Res(n)(F) se va fi mulimea rezolvenilor lui F obinui


n cel mult n pai, iar Res*(F) mulimea (tuturor)
rezolvenilor lui F; aceasta este o definiie iterativ
Exemple (carte...seminar...)

Rezoluie n LP - 8
Direct din definiie rezult c:
F = Res(0)(F) Res(F) = Res(1)(F) ...
Res(n)(F) ... Res*(F)
Putem da i o definiie structural a lui
Res*(F)
Vom nota astfel cu Resc(F) mulimea
definit prin:
Baza. F Resc(F)
Pas constructiv: Dac C1, C2 Resc(F)
i C = Res(C1, C2), atunci C Resc(F)

Rezoluie n LP - 9
Teorem. Pentru fiecare F LP, avem
Res*(F) = Resc(F) (schi demonstraie)
Vom putea astfel folosi ambele notaii
(definiii) pentru gsirea i/sau
manipularea mulimii rezolvenilor unei
mulimi de clauze (n particular, a unei
formule oarecare F LP, aflat n FNC i
reprezentat ca o mulime de clauze)

Rezoluie n LP - 10
Teorem. Fie F o mulime de clauze din
LP (nu neaprat finit). O clauz C LP
se poate demonstra prin rezoluie pornind
cu clauzele lui F dac i numai dac exist
k N, asfel nct C Res(k)(F)
(schi demonstraie)

Rezoluie n LP - 11
n cele de mai sus am folosit n majoritatea
cazurilor termenul mulimea de clauze F i nu
formula F (aflat n FNC)
Dup cum am mai spus, dei pe noi ne
intereseaz doar formulele (care pot fi privite ca
mulimi finite de clauze n cazul n care ne
intereseaz doar satisfiabilitatea lor), aproape
toate rezultatele sunt valabile i pentru mulimi
infinite (numrabile) de formule (clauze)
Teorema urmtoare stabilete o legtur
important, privind satisfiabilitatea, ntre
mulimile infinite i cele finite, de formule
oarecare din LP

Rezoluie n LP - 12
Teorem (de compactitate, pentru LP). Fie M
o mulime infinit (numrabil) de formule din
LP. Atunci M este satisfiabil dac i numai
dac fiecare submulime finit a sa este
satisfiabil (idee de demonstraie)
Alt formulare a teoremei anterioare
Teorem. Fie F LP, aflat n FNC i
reprezentat ca mulime (finit) de clauze.
Atunci Res*(F) este finit (puteam s-o enunm
i mai devreme; schi demonstraie)

Rezoluie n LP - 13
Teorem (teorema rezoluiei pentru calculul
propoziional). Fie F o mulime oarecare de
clauze din calculul propoziional. Atunci F este
nesatisfiabil dac i numai dac Res*(F)
(demonstraie schi)
Corectitudine i completitudine (sistem deductiv,
axiome, singura regul de inferen,
adevr/teorie logic...)
Ceea ce urmeaz n legtur cu strategii i
restricii, este deocamdat (parial!)
opional

Rafinri ale rezoluiei i


complemente
Dac ne gndim doar la satisfiabilitate (de
reamintit i despre SAT, 3SAT,
3CNFSAT, ) avem nevoie de strategii
pentru a ajunge ct mai repede la clauza
vid; restriciile sunt utile atunci cnd
strategiile nu ne sunt de nici un folos/nu se
pot aplica (revenim imediat...)

Rafinri ale rezoluiei - 1


Rafinrile (strategii i restricii) rezoluiei sunt, prin
urmare, metode prin care se urmrete obinerea clauzei
vide (dac acest lucru este posibil) ntr-un numr ct mai
mic de pai de rezoluie
Pornind cu formula F = {C1, C2, , Cn} (aflat n FNC i
scris ca o mulime de clauze, la rndul lor clauzele fiind
scrise ca mulimi de literali), se poate construi efectiv
mulimea Res*(F), care poate fi reprezentat (fiind finit),
dup cum deja tim, i ca un graf (chiar arbore)
(ne)orientat (nodurile sunt rezolvenii succesivi, inclusiv
clauzele iniiale, iar muchiile sunt introduse prin
rezoluiile ntr-un pas care au fost aplicate desen...)
Practic, acest graf ar trebui s cumuleze toate posibilele
demonstraii prin rezoluie care pornesc cu clauzele lui F
(reamintim c anumii rezolveni sunt totui exclui,
deoarece reprezint sau genereaz - tautologii)

Rafinri ale rezoluiei - 2


Teorema rezoluiei sugereaz crearea
mai nti a acestui graf de rezoluie total
i apoi parcurgerea lui pentru a vedea
dac este (eticheta unui) nod n graf
Este suficient/mai bine s gsim direct o
respingere n loc de a crea i apoi
parcurge ntregul graf (se restrnge spaiul
de cutare)
Dup cum am mai precizat, rafinrile se
mpart n dou mari categorii: strategii i
restricii

Rafinri ale rezoluiei - 3


Strategiile nu restrng, n general, spaiul de cutare (adic
graful total) dar folosesc anumite informaii suplimentare
despre clauze, astfel nct s creasc ansele pentru
selectarea rapid a unei demonstraii cutate, adic a unui cel
mai scurt drum pornind de la frunze (elementele lui F), ctre o
rdcin (sperm, clauza vid)
Astfel, cel puin la modul ideal, graful total nu se construiete
n ntregime, ci doar acele poriuni din el (ct mai puine i ct
mai mici), care este posibil s conin mcar o respingere
Cel mai cunoscut exemplu este strategia unitar, n care se
recomand ca la fiecare pas al rezoluiei mcar una dintre
clauze s conin un singur literal (dac ns nu mai poate fi
aleas nicio asemenea clauz unitar, se continu procesul de
obinere de noi rezolveni, n mod obinuit)
Prin urmare, strategiile nu distrug completitudinea rezoluiei
(dac o formul este nesatisfiabil, atunci se poate demonstra
acest lucru prin rezoluie, gsindu-se o respingere), dar, n cel
mai ru caz, este posibil nici s nu conduc la vreo economie
semnificativ de timp

Rafinri ale rezoluiei - 4


Pe de alt parte, restriciile distrug n multe situaii
completitudinea rezoluiei (exist formule nesatisfiabile
pentru care nu se pot gsi alte respingeri, n situaia n
care paii de rezoluie sunt supui unor condiii prea
restrictive), deoarece spaiul de cutare este practic
micorat ntr-un mod, s-i spunem, abuziv
Astfel, o anumit restricie poate interzice total folosirea
(ntr-un pas de rezoluie) a unor clauze avnd, de
exemplu, o anumit form sintactic (exist i restricia
unitar)
Restriciile rmn ns complete pentru anumite
subclase interesante de formule propoziionale (de
exemplu, pentru clasa formulelor Horn)
Exist mai multe exemple importante de restricii:
teoretic - absolut necesare pentru limbajele universale,
comerciale, de tip PROLOG (rezoluia unitar, pozitiv,
negativ, liniar, SLD, bazat pe o mulime suport, de
intrare, etc.); vezi - Curs opional, an II (sau III...)

De aici ncolo face . Ciobc


Continum, deocamdat, cu aceste slideuri
Dac vor fi ceva diferene fa de
ceea/cum/ce se pred, vom lmuri la
Seminar
Uneori, materia de Curs va fi anticipat
la Seminar

CURS 8
O nou logic: LP1
Sper s nu confundai LP1 cu LP, sau cu
LP-1 (ca titulatur de curs)
Sper, de asemenea, s nu confundai
diversele notaii pentru simbolurile folosite
n mod curent i care provin din
overloading sau/i din diverse tipuri diferite
de fonturi (aici, dar i alte materiale; rond
sau nu, arial sau nu, tiprit sau nu, etc.)
ncepem cu sintaxa

LP1 Sintaxa 1
Pentru a construi mulimea de formule a
logicii cu predicate de ordinul I, LP1, vom
porni cu urmtoarele mulimi de simboluri:
-X = {x1, x2, }: o mulime cel mult
numrabil de variabile funcionale sau,
pe scurt, variabile
-P = {P0, P1, }: o mulime cel mult
numrabil de simboluri predicative (sau
predicate, sau relaii), cu ariti
-La rndul su, fiecare Pi este o mulime
cel mult numrabil de predicate de
aritate i (i N); elementele lui P0 se mai
numesc i variabile predicative

LP1 Sintaxa 2
-F = {F0, F1, ...}: o mulime cel mult numrabil de
simboluri funcionale (sau funcii) cu ariti, fiecare Fi
fiind o mulime cel mult numrabil de funcii de aritate
i (i N); elementele lui F0 se numesc i constante
(funcionale)
-C1 = {, , }: o mulime de conectori logici (conective
logice), la care se pot aduga, opional, i alte simboluri
cum ar fi , etc.
-C2 = {(x) | x X} U {( x) | x X}: o mulime de
cuantificatori (cuantori), universali, respectiv
existeniali ((x) se citete pentru fiecare x, sau
pentru oricare (orice) x, iar ( x) exist x, exist
mcar un x etc.)

LP1 Sintaxa 3
Ca i n cazul LP, vom porni cu alfabetul
total, adic reuniunea mulimilor
precedente, mpreun cu mulimea
format din parantezele rotunde i virgula
special (pe scurt, P):
Alf = X U (UPi ) U (UFi ) U C1 U C2 U P
Mulimile UPi i UFi vor fi notate tot cu P ,
respectiv F, atunci cnd nu exist confuzii
(reuniunile sunt dup i N)

LP1 Sintaxa 4
Definiie (sintaxa LP1). Fie Alf alfabetul fixat anterior.
Atunci mulimea formulelor calculului cu predicate
de ordinul I, LP1Alf, este dat constructiv prin:
-Baza. Se definete mulimea formulelor atomice,
notat cu At, prin:
(i) Po At (variabilele predicative sunt formule
atomice)
(ii) Pentru fiecare n N*, pentru fiecare P Pn, pentru
fiecare t1, t2, , tn T, avem P(t1, t2, , tn) At
(iii) Nimic altceva nu mai este formul atomic
-n cele de mai sus, T denot mulimea termilor
(funcionali), care este la rndul ei definit
constructiv astfel:

LP1 Sintaxa 5
-Baza. X T i F0 T (variabilele i constantele
sunt termi; se mai numesc i elementari)
-Pas constructiv. Pentru fiecare n N*, pentru
fiecare f Fn, pentru fiecare t1, t2, , t n T,
avem f(t1, t2, , tn) T
Concluzionm aceast etap a definiiei prin: At LP1
(formulele atomice sunt formule)
-Pas constructiv. Continum definirea lui LP1Alf cu partea
formule noi din formule vechi:
(i) Dac F LP1 atunci ( F) LP1
(ii) Dac F1, F2 LP1 atunci (F1 F2), (F1 F2) LP1
(dac dorim, putem introduce i (F1 F2), sau
( F1 F2 ) LP1 etc.)
(iii) Dac F LP1 atunci (x)(F) LP1 (punem i
( x)(F) LP1), pentru fiecare x X
(iv) Dac F LP1 atunci (F) LP1
-Nimic altceva nu mai este formul

LP1 Sintaxa 6

Similar cu cazul LP, se definesc constructiv subf(F),


mulimea subformulelor formulei F i Arb(F), arborele
ataat lui F (cuantorii sunt operatori de aritate unu)
Singura subformul a unei formule atomice este ea
nsi i Arb(F) va fi constituit n acest caz dintr-un
simplu nod
Un term poate fi, la rndul su, privit ca un arbore (ca
de altfel i orice formul atomic), astfel nct
arborele unei formule poate fi detaliat, dac
nlocuim fiecare nod corespunztor unui term cu
arborele ataat acestuia (similar pentru o subformul
atomic)
Din motive tehnice, toate simbolurile care apar n Alf
sunt considerate a fi diferite (nu admitem
overloading)

LP1 Sintaxa 7
Definiie (apariii libere i legate ale
variabilelor). Fie F LP1 i x X, astfel nct x
apare n F, la o poziie oarecare j (n sens
textual, stnga/ dreapta, ca liter ntr-un cuvnt,
apariia menionat nefiind parte a numelui unui
cuantificator (x) sau (x))
Apariia fixat a lui x se numete legat dac
este ntr-o parte (subformul) G a unei (alte)
subformule a lui F de forma G1 = (x)(G) (sau
(x)(G))
n restul cazurilor, apariia considerat se
numete liber

LP1 Sintaxa 8
Orice apariie a unei variabile ntr-o formul poate fi
definit formal ntr-un mod simplu (structural)
Vom nota, pentru fiecare F LP1, cu free(F) - mulimea
variabilelor care au apariii libere n F, i cu
leg(F) - mulimea variabilelor care au apariii legate n F
Desigur c, pentru fiecare x X, este posibil ca x s nu
apar n F, sau s aib doar apariii libere, sau doar
apariii legate, sau i apariii libere, i apariii legate
Putem nota cu var(F) = free(F) U leg(F)
O situaie nenatural din punct de vedere semantic, dar
posibil sintactic, este aceea n care o variabil x nu
apare de loc n F (n sensul considerat), dar este prezent
ca nume al unui cuantificator
Vom conveni s notm mulimea acestor variabile cu
restvar(F) i s includem i aceast mulime n var(F)

LP1 Sintaxa 9
Definiie (nchideri). O formul F LP1 se numete
nchis dac nu conine apariii libere de variabile (altfel
spus, free(F) = )
Pentru o formul F, se numete nchiderea sa
universal formula (x1)((x2)( ((xk)(F)) ... ) (notat
pentru simplitate i cu ()(F) sau chiar (F)), unde
{x1, x2, , xk} = free(F)
Analog (nlocuind cu ) se definete (noteaz)
nchiderea existenial a lui F
Se va numi matricea lui F (notat F*) acea formul
obinut din F prin tergerea (sintactic, textual) a
tuturor cuantificatorilor (x) i (x)
O formul care nu este nchis se numete deschis (o
formul n care var(F) = se consider a fi nchis)
Definiie (substituii). Prin substituie vom nelege o
secven finit de elemente de tipul [x/t] (numite i
substituii elementare), unde x X, t T

LP1 Sintaxa 10
O substituie va avea astfel forma
s = [x1/t1][x2/t2] [xn/tn] fiind practic un cuvnt peste
alfabetul S = {[x/t] | x X, t T}, adic un element al lui
S* (monoidul liber generat de S)
O substituie s (ca mai sus) se aplic unei formule F,
rezultnd o formul G, notat (F)s, care se obine din F
prin nlocuirea fiecrei apariii libere a variabilei x1 cu
termul t1, apoi a fiecrei apariii libere a variabilei x2 cu
t2, etc.
De obicei, se utilizeaz doar substituii permise pentru
o formul F LP1
Substituia elementar [x/t] este permis pentru F (sau, F
accept [x/t]) dac t nu conine variabile (libere) care au
apariii legate n F (s de mai sus va fi permis pentru F
dac va fi permis pentru fiecare component a sa, [xi/ti],
i [n])

LP1 Sintaxa 11
Ordinea (fixat deja prin modul de scriere) aplicrii
substituiilor elementare dintr-o substituie s este
esenial n majoritatea cazurilor
O substituie s este normalizat (pentru F) dac ordinea
de aplicare a substituiilor elementare componente nu
conteaz
Mai precis, s este normalizat dac avem (F)s = (F)s,
pentru fiecare s care este obinut din s printr-o
permutare a componentelor acesteia
Substituia vid (ca element neutru al lui S*), notat [ ],
nu face desigur nici o transformare n formula F creia i
este aplicat, adic avem (F)[ ] = F
Dac avem (F)s = (F)s atunci s i s se mai numesc i
echivalente pentru F

LP1 Sintaxa 12
Pstrm notaiile, conveniile, rezultatele,
conceptele din LP, dac nu precizm altfel (de
ex.: literal, clauz, clauz Horn, form normal,
etc.)
Putem renuna la paranteze; fixa prioriti
operatorilor (cea mai mare: cuantificatorii,
restul se pstreaz cf. LP), domeniul sintactic al
unui operator (de detaliat...)
Definiie. Un term care nu conine variabile se
numete term de baz. Analog, vom avea
formule de baz, substituii de baz, etc.
Exemple n special la Seminar

CURS 9
Continum, desigur, cu semantica LP1

LP1 Semantica 1
nelesul (semantica) unei formule
F LP1 va fi, la fel ca n logica
propoziional, o valoare de adevr 0,
1 B, valoare obinut ntr-un mod
extensional
Elementul principal n definirea
semanticii va rmne noiunea de
structur

LP1 Semantica 2
Definiie. Se numete structur un cuplu S = <US, IS> n
care US este o mulime nevid numit univers, iar IS
este o funcie (numit i interpretare)
IS : X U F U P US U [US* B] U [US* US], care
satisface condiiile:
-Dac x X, atunci IS(x) US
-Dac P Pn, atunci IS(P) :U nS B
-Dac F Fn, atunci IS(F) : U nS US
[C D] desemneaz mulimea tuturor funciilor totale
avnd domeniul C i codomeniul D, iar [C* D] denot
mulimea tuturor funciilor de oricte argumente (inclusiv
0) peste C, cu valori n D

LP1 Semantica 3
Prin urmare, interpretarea (semantica) unei
variabile n structura S este un element din
univers, interpretarea unui simbol predicativ
n-ar este o funcie de la U la {0, 1} (sau,
uneori, mulimea elementelor din U n pentru
S
care valoarea n cauz este 1), iar semantica
unui simbol funcional de aritate n este o
funcie de la U la US
Pentru simplificarea exprimrii, vom renuna la
indici dac nu exist confuzii i vom nota pe IS
tot cu S
Similar cu cazul logicii propoziionale, orice
structur va putea fi unic extins astfel nct s
fie definit pentru toate elementele lui LP1
n

LP1 Semantica 4
Definiie. Pentru fiecare structur S = <US, IS>, vom
numi extensia sa imediat funcia
S : X U F U P U T U LP1 US U [US* US] U
U [US* B] U B, dat constructiv n continuare
Pentru nceput, vom pune S(a) = S(a) (= IS(a)), pentru
fiecare a X U F U P, ceea ce nseamn c S s-a
definit, n particular, i pentru fiecare term elementar
Fie acum orice t T, adic orice nN*,orice t1,t2,,tnT
i orice f Fn, astfel nct t = f(t1, t2, , tn); atunci
S(t) = S(f)(S(t1), S(t2), ... , S(tn)) ( US)
Am ncheiat astfel procesul de definire al lui S pe
X U F U P U T i rmne s definim S pe LP1
Vom face acest lucru, desigur, tot n mod constructiv:

LP1 Semantica 5
-Baza. Fie F = A At; n aceast situaie avem fie A = P P0 fie
A = P(t1, t2, , tn), n N*, t1, t2 , , tn T; n primul caz S este
deja definit (S(P) = S(P) B), iar n al doilea caz punem desigur
S(P) = S(P)(S(t1), S(t2), ... , S(tn)) B (paranteze <>,)
-Pas constructiv. Vom avea de considerat cazurile:
(i) F = ( F1 ). Atunci S(F) = S '( F )
(ii) F = (F1 F2). Atunci S(F) = S(F1) S(F2)
(iii) F = (F1 F2). Atunci S(F) = S(F1) + S(F2)
(iv) F = (x)(G). Atunci S(F) = 1 dac i numai dac pentru
fiecare u US avem S[x/u](G) = 1 unde S[x/u] este o interpretare
care coincide n totalitate cu S, exceptnd faptul c S(x) = u
(v) F = (x)(G). Atunci S(F) = 1 dac i numai dac exist (mcar)
un element u US astfel nct S[x/u](G) = 1
Alte notaii, observaii (F la puterea S; LP1 cu egal, etc.; LP2;
LP LP1),...

CURS 10
Continum ntr-un mod similar cu modul n
care am procedat la LP
Mai exact, va trebui s discutm despre:
decidabilitate, forme normale, rezoluie,
etc.

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