Professional Documents
Culture Documents
TINT
E
Sinteza 2-3:
Nicolae T
andareanu
Facultatea de Matematica-Informatica,
e-mail: ntand@oltenia.ro
1
2 N. T
andareanu: Sinteza 2-3
1 Obiective
Obiectivele acestui capitol sunt urmatoarele:
daca si numai daca truth val ('; F ) = true. Astfel, sa consideram ca
I
iar baza Herbrand este BHP = fp(f n(a)); q(f n(a))gn0. Sa consideram
urmatoarele doua interpretari Herbrand:
Este usor de vericat ca ambele interpretari sunt modele Herbrand pentru
programul P . Mai mult, I este cel mai mic model Herbrand pentru P .
^Intr-adevar, e K cel mai mic model Herbrand al lui P . Asadar P
vd , deci
K
Din primele doua relatii rezulta p(a) 2 K si q(a) 2 K . Din a treia relatie
avem
truth valK (:q (x) _ p(f (x)); F fxjcg) = true
pentru orice c 2 UHP . ^In particular vom avea adevarata aceasta relatie
pentru c = a. Dar q(a) 2 K , deci
Asadar trebuie sa avem truth val (p(f (x)); F fxjag) = true. Aceasta
K
proprietate are loc numai daca p(f (a)) 2 K . Rezulta ca I K . Dar K
este cel mai mic model Herbrand al lui P , deci K I si ^n consecinta
I = K.
Observam ca avem urmatoarele proprietati referitoare la cele doua
modele I si J si formula ' = :p(f (f (a))):
IJ
P j=I '
P 6j=J '
^Intr-adevar, truth val ('; F ) = :truth val (p(f (f (a)); F ) = :false =
I I
true si truth val ('; F ) = :truth val (p(f (f (a)); F ) = :true =
J J
false. Astfel putem concluziona ca formula ' este deductibila din P ^n
N. T
andareanu: Sinteza 2-3 5
^nc^at truth val (p(f (f (x))) ^ q(y); F fyjcg) = true. Este evident ca va
I
trebui sa luam c = a, deoarece aceasta este singura alegere a lui c pen-
tru care truth val (q(y); F fyjcg) = true. Mai departe, constatam ca
I
p(f (f (d))) 2= I pentru orice d 2 UHP . Nu acelasi lucru putem spune ^n
semantica denita de J . ^Intr-adevar, asignarea F fxja; yjag are propri-
etatea ca truth val ('(x); F ) = true.
J
2) semantica de punct x
^In acest capitol vom studia semantica celui mai mic model si seman-
tica de punct x pentru programele Horn.
N. T
andareanu: Sinteza 2-3 7
^In clasicarea programelor logice prezentata ^n capitolul anterior, pro-
gramele Horn sunt cele mai simple din punct de vedere sintactic. O piesa
de cunostinte data se poate usor transpune ^ntr-un asemenea program si
orice persoana care citeste un program Horn poate intui^ntelesul regulilor
prezentate. Problema care apare este aceea ca uneori modelarea unei piese
de cunostinte se face satisfacator printr-un program Horn, alteori mode-
larea este nesatisfacatoare. La analiza acestui fenomen se tine seama de
pierderea de semnicatie a lumii prezentate ^ntr-un model sau altul. Une-
ori, chiar atunci c^and cunoastem tipul programului logic ^n care dorim sa
transpunem piesa de cunostinte, trebuie sa denim clauzele programului
^n asa fel ^nc^at deductia obtinuta sa e c^at mai aproape de lumea mode-
lata. Pentru a evidentia acest aspect sa consideram urmatoarea piesa de
cunostinte:
Ana este mama lui Petre si a lui George. O persoana X este fratele
lui Y daca X si Y au aceeasi mama.
localitatea Y cu societatea ST R.
Piesa de cunostinte considerata se poate modela ^n urmatorul program
logic:
8
>> direct(bucuresti; craiova)
>>
>> direct(bucuresti; iasi)
>>
>< direct(craiova; timisoara)
>> direct(iasi; cluj )
>>
> deplasare(X; Y ) X = 6 Y; direct(X; Y ):
>>
>: deplasare(X; Y ) X =6 Y; direct(X; Z ); deplasare(Z; Y ):
Notam cu P acest program Horn. De obicei predicatele standard 6=; <; >
; : : : se numesc predicate built-in, iar multimea acestora se noteaza cu
BI . Ele sunt denite ^n cadrul softwareului cu care se lucreaza si intere-
seaza numai predicatele denite de utilizator. De aceea, baza programului
P este B = (SC ; ;; SP ) unde
Din denitia data se constata ca LMS (P ) BHP . Prin urmare LMS (P )
este o interpretare Herbrand. Sa consideram structura LMS(P ) atasata
acestei interpretari. Pentru orice atom ground p(c1; : : : ; cn) peste baza
B avem truth val (p(c1 ; : : : ; cn); F ) = true daca si numai daca
LMS (P )
N. T
andareanu: Sinteza 2-3 11
LMS (P ) 2 MH (P )
T
Proof. Sa notam I = W 2MH (P ) W si sa vericam ca I 2 MH (P ).
Echivalent, aceasta revine la a verica ca structura I = (UHP ; kI )
atasata lui I este un model pentru P , adica pentru orice ' 2 P avem
' 2 vd . Deoarece P este un program Horn, este sucient sa consideram
I
p(t1; : : : ; tn) 2 I
p(t1; : : : ; tn) 2 W pentru orice W 2 MH (P )
12 N. T
andareanu: Sinteza 2-3
2) ' este clauza A(x1 ; x2 ) B (x1 ; x2), adica ' = 8x1 8x2 [A(x1 ; x2 )
B (x1 ; x2 )]. Va trebui sa vericam ca
Fie c1 si c2 doua elemente arbitrare ^n UHP . Avem doua cazuri
posibile:
1) pentru orice W 2 MH (P ) avem kW (A)(c1; c2) = true; ^n acest
caz kI (A)(c1; c2) = true
2) exista W 2 MH (P ) astfel ^nc^at kW (A)(c1 ; c2) = false; ^n acest
caz din (4) avem kW (B )(c1 ; c2) = false, deci kI (B )(c1 ; c2) = false
si prin urmare (1) este adevarata.
asadar LMS (P ) = I .
Corolarul 3.1 LMS (P ) este cel mai mic model Herbrand pentru pro-
gramul Horn P .
Remarca 3.1 LMS (P ) nu depinde de ordinea ^n care sunt asezate clauzele
^n programul P
Remarca 3.2 Teorema lui Van Emden si Kowalski nu prezinta un al-
goritm pentru calculul lui LMS (P )
[ : L L ! L; x [ y = supfx; yg
\ : L L ! L; x [ y = inf fx; yg
^Intr-o latice (L; ) putem deni duala relatiei , pe care o notam
:
x y daca si numai daca y x
Relatia duala este tot o relatie partiala de ordine. Putem usor observa
ca un element t0 este un majorant pentru multimea Q ^n relatia du-
ala daca si numai daca t0 este un minorant pentru Q ^n relatia initiala.
La fel, conceptul de minorant ^n relatia duala este conceptul de majo-
rant ^n relatia initiala. Pentru acest motiv cele doua concepte se numesc
concepte duale: dualul conceptului de minorant este conceptul de ma-
jorant si dualul conceptului de majorant este conceptul de minorant.
Tot asa conceptele de inmum si supremum sunt concepte duale. Se ob-
serva ca ^n teoria laticilor este valabil principiul dualitatii: de ^ndata ce
este adevarata o anumita proprietate, este adevarata si duala ei, care
16 N. T
andareanu: Sinteza 2-3
1) comutativitatea:
x [ y = y [ x; x \ y = y \ x
pentru orice x; y 2 L
2) asociativitatea:
x [ (y [ z ) = (x [ y ) [ z ; x \ (y \ z ) = (x \ y ) \ z
pentru orice x; y; z 2 L
3) legile de absorbtie:
x [ (x \ y ) = x; x \ (x [ y ) = x
pentru orice x; y 2 L
Proof.
1) Pentru orice x; y 2 L avem x [ y = supfx; yg = supfy; xg = y [ x;
dual se verica comutativitatea intersectiei.
N. T
andareanu: Sinteza 2-3 17
x [ y = y [ x; x \ y = y \ x
x [ (y [ z ) = (x [ y ) [ z ; x \ (y \ z ) = (x \ y ) \ z
x [ (x \ y ) = x; x \ (x [ y ) = x
x [ y = y [ x; x \ y = y \ x pentru orice x; y 2 L
x [ (y [ z ) = (x [ y ) [ z ; x \ (y \ z ) = (x \ y ) \ z pentru orice
x; y; z 2 L
x [ (x \ y ) = x; x \ (x [ y ) = x pentru orice x; y 2 L
x [ y = y () x \ y = x
x y () x [ y = y
N. T
andareanu: Sinteza 2-3 19
Propozitia 4.2 Cel mai mic punct x al unui operator, daca exista, este
20 N. T
andareanu: Sinteza 2-3
unic.
Proof. Notam
Proof.
Proof.
24 N. T
andareanu: Sinteza 2-3
Propozitia 4.7 Daca < si T " = T " atunci T " = lfp(T ).
Proof. Fie cel mai mic ordinal cu Card() > Card(L). Presupunem
ca pentru orice < avem T " 6= lfp(T ). Denim functia h : ! L
prin h() = T " . Prin propozitia 4.7 rezulta ca functia h este injectiva,
ceea ce este imposibil prin alegerea lui . Asadar exista < astfel ^nc^at
T " = lfp(T ) Din monotonia operatorului T si propozitia 4.4 avem
lfp(T ) = T " T " lfp(T ), deci T " = lfp(T ). Fie
.
Sa observam ca operatorul TP denit mai sus este monoton, adica TP (I )
TP (J ) daca I J . De asemenea, observam urmatoarea particularitate
a laticii L = 2BH : e X L o multime dirijata si atomii ground
P
N. T
andareanu: Sinteza 2-3 27
pentru ecare i 2 f1; : : : ; kg, deci truth val (p(t1 ; : : : ; tn); F ) = true
I
deci
truth valI (:Bi ; F fx1 jd1; : : : ; xs jdsg) = true
si prin urmare (5) este adevarata.
2) Pentru orice i 2 f1; : : : ; kg avem Bi 2 I .
^In acest caz
p(c1 ; : : : ; cn ) 2 TP (I )
deci
p(c1 ; : : : ; cn) 2 I
deoarece TP (I ) I . Rezulta ca
truth valI (p(t1 ; : : : ; tn ); F fx1 jd1 ; : : : ; xs jdsg) = true
Proof. Trebuie sa vericam ca supTP (X ) = TP (supX ) pentru orice
multime dirijata X . Fie X L, X dirijata. Atomul p(c1; : : : ; cn) este ^n
TP (supX ) daca si numai daca exista o clauza p(t1 ; : : : ; tn ) B1 ; : : : ; Bk
^n programul P si exista o substitutie ground astfel ^nc^at
fB1 ; : : : ; Bk g supX
30 N. T
andareanu: Sinteza 2-3
si p(t1 ; : : : ; tn) = p(c1 ; : : : ; cn). Dar X este o multime dirijata si prin
urmare conditia fB1 ; : : : ; Bk g supX este echivalenta cu faptul ca ex-
ista I 2 X astfel ^nc^at fB1; : : : ; Bk g I . ^In consecinta, p(c1; : : : ; cn) 2
TP (supX ) daca si numai daca exista I 2 X astfel ^nc^at p(c1 ; : : : ; cn) 2
TP (I ). Evident, ultima conditie este echivalenta cu faptul ca
Aplic^and propozitia 4.9 rezulta ca exista cel mai mic punct x al
operatorului TP si se justica denitia semanticii de punct x data ^n
denitia de mai jos:
Denitia 4.7 Fie P un program Horn si TP operatorul atasat lui P ca
^n denitia 4.6. Semantica de punct x a programului P este notata
cu LF S (P ) si este denita prin
LF S (P ) = lfp(TP ) = TP " !
5 TEME
TEMA 1
Considerati programul Horn P de mai jos:
8>
< int(0)
>: int(add(x; 1)) int(x)
unde SC = f0; 1g, SF = fadd(2) g, SP = fint(1) g.
a) Calculati LMS (P )
32 N. T
andareanu: Sinteza 2-3
nA \ nB = c:m:m:m:c:(nA ; nB )