TINT
E
Sinteza 2-1:
Facultatea de Matematica-Informatica,
Universitatea din Craiova,
str.A.I.Cuza 13, 1100-Craiova, Romania
e-mail: ntand@oltenia.ro
N. T
andareanu
Obiective
formarea deprinderilor de calcul la evaluarea termenilor si a formulelor ^n raport cu o structura data
^In vederea atingerii acestor obiective cursantul trebuie sa ^nteleaga modul
^n care:
- un limbaj formal prin intermediul caruia construim formule corecte; aceasta presupune sa denim sintaxa limbajului
- o procedura pentru calculul valorii de adevar a unei formule, adica
semantica limbajului
N. T
andareanu
B si multimea SV este cea mai mica multime care satisface urmatoarele
proprietati :
SC T ERM (B; SV )
SV T ERM (B; SV )
Deseori vom spune despre un element din T ERM (B; SV ) ca este un
termen peste B [ SV .
Analiz^and denitia 2.1 putem spune ca termenii peste o baza B si o
multime de variabile SV se obtin astfel:
orice constanta este un termen
orice variabila este un termen
daca f 2 SF si are aritatea n, iar t1 ; : : : ; tn sunt termeni peste
B [SV atunci f (t1 ; : : : ; tn ) este de asemenea un termen peste B [SV
pentru orice termen t peste B [ SV exista un numar natural k,
exista un simbol g 2 SF de aritate k si exista k termeni t1 ; : : : ; tk 2
T ERM (B; SV ) astfel ^nc^at t = g (t1 ; : : : ; tk )
Un element din T ERM (B; SV ) care nu contine variabile se numeste
termen ground, iar multimea acestora o notam cu T GB . Observam ca
^n constructia unui termen nu apar elementele lui SP . ^Intr-adevar, ^n
denitia 2.1 nu se utilizeaza simbolurile de predicate. Pentru acest motiv
^n exemplul care urmeaza nu se precizeaza aceasta multime.
N. T
andareanu
SF = ff (2) ; g(1)g
= fx; yg.
Urmatoarele
B [ SV :
f (x; y; x); g (f (a; b); a); f (x; z ); h(x; g (a)); f (c; g (x))
pentru motive cum sunt: nu se respecta aritatea unui simbol de functie asa
cum este ea precizata ^n denirea multimii SF , se utilizeaza simboluri de
O formul
a atomica peste B
SV
daca ';
negatia unui atom peste B [SV . Un atom se mai numeste literal pozitiv,
iar negatia unui atom se numeste literal negativ.
N. T
andareanu
'
! = (' ! ) ^ ( ! ')
8x' = :(9x(:'))
Sa aplicam denitia 2.3 pentru formulele ' si din F ORM (B; SV ).
Constatam ca :' si : sunt de asemenea formule, deci ' ^ , ' ! ,
' ! si 8x' sunt formule din F ORM (B; SV ). ^In acest fel, formulele
enumerate mai sus devin notatii prescurtate ale altor formule.
Facem observatia ca vom utiliza conventiile obisnuite cu privire la
prioritatea unei operatii pentru a evita utilizarea parantezelor inutile.
Ordinea descrescatoare a prioritatilor simbolurilor de operatii este urmatoarea:
negatia
conjunctia
disjunctia
implicatia
Astfel, ^n loc de ((:x) ! y) vom scrie :x ! y deoarece negatia este mai
puternica dec^t implicatia. De asemenea, scrierea :p _ q este echivalenta
cu (:p) _ q, iar scrierea p ! p _ q este echivalenta cu p ! (p _ q).
Aceste conventii se vor utiliza numai atunci c^and nu apare nici un pericol
de confuzii. Deseori ^n scrierea formulelor cu cuanticatori vom utiliza
parantezele pentru a ^nlatura orice confuzie posibila.
8xp(x; g(a)); p(x; b) ! (9yq(y)); :q(f (a; b)) _ :p(f (x; y); g(x))
sunt formule corecte ^n F ORM (B; SV ), iar urmatoarele expresii nu sunt
formule corecte:
10
N. T
andareanu
9xq(x). Aceasta este o formula corecta deoarece p(x; g(y)) si 9xq(x)
sunt formule corecte. Facem precizarea ca ^n formula p(x; g(y)) ^ 9xq(x)
variabilele x si y din subformula p(x; g(y)) sunt variabile libere si mai
mult, acestea sunt singurele variabile libere care apar. Vom conveni ca
^n scrierea cuanticatorilor din formule sa utilizam parantezele pentru
a preciza subformula careia i se aplica cuanticatorul. Astfel, formula
9x(q(x) ^ p(x; y)) precizeaza ca se aplica cuanticatorul existential formulei q(x) ^ p(x; y). ^In acelasi timp, scrierea de forma 9xq(x) ^ p(x; y)
va reprezenta notatia fara paranteze a formulei 9x(q(x)) ^ p(x; y).
Denitia 2.5 O formula care nu are variabile libere se numeste formula
ground.
11
B1 ; :::; Bn
si ^n aceasta notatie se sub^antelege ca toate variabilele care apar sunt
cuanticate universal. Vom considera ca ^n aceasta scriere A1; : : : ; Am
sunt atomi, iar B1; : : : ; Bn sunt literali.
^In general se utilizeaza urmatoarea terminologie:
B1 ; :::; Bn se numeste :
12
N. T
andareanu
13
De cele mai multe ori vom considera un program logic P fara sa
specicam explicit baza acestuia. Evident, exista mai multe baze B si
mai multe multimi SV astfel ^nc^at P F ORM (B; SV ). Cea mai mica
baza cu aceasta proprietate va considerata si numita baza programului
P . Completari cu privire la acest concept se gasesc ^n exercitiile de la
sf^arsitul acestui capitol.
pentru ecare f
2 SF ,
pentru ecare p 2 SP ,
14
N. T
andareanu
aritatea lui p
Multimea tuturor structurilor peste B o notam cu ST RUCTB .
abile sau mai simplu, asignare. Multimea tuturor asignarilor de variabile din SV la multimea D se noteaza cu DSV .
15
!D
astfel:
si orice F
2 DSV
16
N. T
andareanu
_
true
true false
true
true
Tabelul 1: Operatia _
x
! y = (x ! y) ^ (y ! x)
! ftrue; falseg
astfel:
(1) truth val (p(t1 ; :::; tn ); F ) =
2 F ORM (B; SV );
truth val ( ; F )
17
D astfel ^nc^t
truth val ('; F fxjcg) = true
unde F fxjcg este asignarea obtinuta din F ^n urmatorul mod:
8>
< F (y)
F fxjcg(y ) = >
:c
daca y 6= x
daca y = x
^In relatiile a) si b) din denitia 3.4 apar semnele : si _. Evident,
semnele din st^anga sunt din SO ,^n timp ce semnele din dreapta reprezinta
operatiile din multimea ftrue; falseg. Astfel, prin intermediul functiei
truth val orice formula primeste una din valorile de adevar true sau
false.
Referitor la valoarea de adevar a unei formule ^n care apare cuanticatorul universal, putem demonstra urmatoarea proprietate:
Propozitia 3.1 Pentru orice ' 2 F ORM (B; SV ) si orice asignare F :
SV ! D avem
true
18
N. T
andareanu
zulta ca
truth val (8x'; F ) = truth val (:9x:'; F ) =
:truth val(9x:'; F )
Pe de alta parte avem urmatorul lant de relatii echivalente:
19
Asadar formulele si sunt distincte din punct de vedere sintactic, dar
au aceleasi valori de adevar^n raport cu orice structura si orice asignare
de variabile.
Denitia 3.6 Fie B o baza si SV o multime de variabile. Pe multimea
F ORM (B; SV ) denim relatia astfel:
Entitati Herbrand
Exista doua entitati Herbrand si ele joaca un rol deosebit de important ^n
programarea logica: univers Herbrand si baza Herbrand. Aceste entitati
sunt prezentate ^n cele ce urmeaza.
20
N. T
andareanu
B este baza unui program logic P atunci UHB se mai noteaza cu UHP
si se numeste universul Herbrand al programului P . ^In acest caz,
multimea BHB se noteaza cu BHP si se numeste baza Herbrand a
programului P .
Exemplul 4.1 Consideram urmatorul program logic:
8
>> p(a; b)
><
>> q(b)
>: p(f (x); x)
Baza programului P va B
q (x)
= (SC ; SF ; SP ),
unde SC
= fa; bg, SF =
este mul-
timea
x; y 2 UHP g.
21
22
N. T
andareanu
x _ y = :(:x ^ :y )
x ! y = :x _ y
x
! y = (x ! y) ^ (y ! x)
Observam ca un limbaj de ordin zero nu are variabile si nici cuanticatori.
Lipsa cuanticatorilor se justica prin lipsa simbolurilor de predicate.
Valoarea de adevar a unei formule se obtine cu ajutorul unei functii v :
A ! ftrue; falseg, care se extinde la functia v : L ! ftrue; falseg,
unde L este limbajul tuturor formulelor corecte, astfel:
v (x ^ y ) = v (x) ^ v (y )
v (:x) = :v (x)
Astfel, daca luam v(p) = true, v(q) = false, v(r) = false atunci v(p^
q ) = v (p) ^ v (q )= true ^ false=false, v (:q ^:r ^ p) = v (:q ) ^ v (:r) ^ v (p)
=:v(q) ^:v(r):v(p)= :false ^:false ^ true= true ^ true ^ true= true.
Sa consideram acum un exemplu de limbaj de ordinul 1. Consideram
baza B = (SC ; SF ; SP ), unde SC = fag; SF = ff g; SP = fp; qg, f este
un simbol unar, p si q sunt simboluri binare. Universul Herbrand UHB
este multimea
fa; f (a); f (f (a)); : : :g
Notam f n(a) = f (f (f : : : (f (a)) : : :)), unde simbolul f apare de n ori.
23
8>
>> true daca njm
<
k(p)(n; m) = >
>:
false
altfel
8
>> true
><
k(q )(n; m) = >
>:
false
daca n < m
altfel
!N
24
N. T
andareanu
Observam ca:
truth val (p(x; f (y )); F fxjcg) =
25
Dar
26
N. T
andareanu
Asadar truth val(9x:p(x; f (y)); F ) = true daca si numai daca exista c 2 N astfel ^nc^at k(p)(c; 11) = false. Dar k(p)(c; 11) = false daca
si numai daca c nu divide pe 11. ^In concluzie,
truth val (9x:p(x; f (y )); F ) = true
daca si numai daca exista un numar natural c care nu divide pe 11, ceea
ce este adevarat.
TEME
Tema 1
Exercitiul nr. 1
Fie SC
27
SC T GB
daca f (n)
Exercitiul nr. 3
Consideram un program logic P si notam cu SV multimea variabilelor
cuanticate universal ^n P . Fie
B1 = (SC 1 ; SF 1 ; SP 1 ); B2 = (SC 2 ; SF 2 ; SP 2 )
doua baze astfel ^nc^at sa avem
Demonstrati ca B
= (SC 1 \ SC 2 ; SF 1 \ SF 2 ; SP 1 \ SP 2) satisface
proprietatea P F ORM (B; SV ), deci B este o baza a lui P .
Deniti relatia B1
Aratati ca
v B2 daca SC 1 SC 2 , SF 1 SF 2 , SP 1 SP 2.
F ORM (B; SV ).
v astfel
28
N. T
andareanu
Tema 2
Exercitiul nr. 4
Se consideram urmatorul program logic P :
8
>> p(a)
><
>> p(b)
>:
q (f (x))
p(x)
Exercitiul nr. 6
Consideram urmatorul program logic P :
8
>> zbor(x; y) zbor direct(x; y)
>>
>< zbor(x; y) zbor direct(x; z); zbor(z; y)
>> zbor direct(a; b)
>>
>: zbor direct(b; c)
29
zbor(x; y )
Exercitiul nr. 7
Demonstrati urmatoarele relatii:
Consideram structura
30
N. T
andareanu
astfel:
! N , k(f )(n) = n + 3;
k(p) : N ! ftrue; falseg, unde
8
>> true daca n < 2m
><
k(p)(n; m) = >
>>
:
k(f ) : N
false altfel
k(q ) : N
k(a) = 2
Consideram SV
= fx; y; zg
= 2; F (y) = 5; F (z) =
6. Calculati truth val pentru F denit mai sus si formulele p(a; a),
9xp(x; f (y)), 9xp(x; f (z)), 9xp(x; f (x)), 8xq(x; y), 9xq(f (a); x).
Exercitiul nr. 9
Aratati ca urmatoarele formule sunt logic echivalente:
8x8y[p(X; Y )
8x8y8z[p(X; Y )
31
Tema 4
Exercitiul nr. 10
Consideram p(1) 2 SP . Aratati ca:
1) 8xp(x) 8yp(y)
2) 8xp(y) p(y)
3) :8xp(x) 9x:p(x)
4) :9xp(x) 8x:p(x)
5) p(x) ::p(x)
Exercitiul nr. 11
Pentru orice ;
1) :( _ ) : ^ :
2) :( ^ ) : _ :
3) ::
Exercitiul nr. 12
Pentru ecare din formulele de mai jos gasiti o clauza logic echivalenta: