Elementi Matematičke Logike
Elementi Matematičke Logike
Elementi Matematičke Logike
14
1. FORMALNE TEORIJE
Matematika se snano razvija od XVII veka. U tom razvoju
nastaju brojne matematike discipline i svaka od njih ima svoje
poddiscipline, tako da danas u komunikaciji, dva matematiara,
istraivaa iste matematike discipline, esto nisu u stanju da razumeju
prostor istraivanja jedan drugom. Ono to je osnovno za sve
matematike discipline je da se one bave dokazima, i za njih
karakteristino je sledee: postoje osnovni pojmovi koji se ne definiu i
osnovna tvrenja (aksiome) koja se ne dokazuju. Sve ostale pojmove i
tvrenja izvodimo na osnovu polaznih.
Teorija koja je najstroija u postavkama i dokazima, ak do te
mere da se moe implementirati na raunaru, jeste formalna teorija.
U ovom delu uvodimo neke osnovne pojmove koje emo koristiti
u daljem tekstu.
Azbuka je konaan skup bilo kakvih nedeljivih simbola. Simbol
je nedeljiv ako se ne moe dobiti spajanjem bilo kojih simbola.
Re nad azbukom A je bilo koji konaan niz simbola azbuke A.
Skup svih rei nad azbukom A oznaimo sa A*. I prazna re, u oznaci ,
pripada skupu A*. A + je skup rei iz kojeg iskljuujemo praznu re . Za
svaku re iz skupa A* uvodimo pojam duine rei, u oznaci ||, koja je
jednaka broju simbola .
Definicija 1.
Formalna teorija je ureena etvorka = ( A, F , Ax , P ) gde
je:
A azbuka
F neki podskup skupa svih rei nad azbukom A koje
nazivamo
formulama (pri tome je dat efektivan postupak za
odluivanje
da li neka re jeste ili nije formula)
Ax podskup skupa formula koji nazivamo aksiomama
P skup pravila izvoenja koja su neke relacije nad skupom
F ,..., Fn
formula. Zapisujemo ih u obliku R = 1
i kaemo:
F
"iz
formula F1 ,..., Fn po pravilu R izvodimo formulu F ".
15
su (1)
ab
i (2)
, gde je proizvoljna
b
formula teorije.
Poemo li od aksiome b i ako primenimo dva puta pravilo (1) i jednom
pravilo (2) dobijamo re aabbbb, to krae zapisujemo a2b4. Primetimo
da istu re moemo dobiti polazei od aksiome b i primenjujui prvo
pravilo (2), pa dva puta pravilo (1).
Definicija 2.
Dokaz u formalnoj teoriji je svaki konaan niz formula
F1 , F2 ,..., Fk takav da je svaka formula u njemu ili aksioma ili
je dobijena primenom nekog od pravila izvoenja na
prethodne formule u nizu. Duina dokaza F1 , F2 ,..., Fk je broj
k. Dokaz iz hipoteza H1 ,..., Hn u formalnoj teriji je svaki
konaan niz formula takav da je svaka formula u njemu ili
aksioma ili neka od hipoteza H1 ,..., Hn ili je dobijena
primenom nekog od pravila izvoenja na prethodne formule u
nizu.
Definicija 3.
Teorema F formalne teorije , u oznaci
F , je svaka
oznaci H1 ,..., Hn |
16
(1) ab3
ab2 (1)
(2) ab3
(1) a2b3
............................
sl. 5.
17
a n+1b m+1 .
(<=) Sada dokazujemo da su sve formule oblika (*) teoreme formalne
teorije . Dokaz izvedimo indukcijom po duini formule oblika (*).
Formula (*) duine 1 je re b a to je aksioma teorije.
Pretpostavimo da sve rei oblika (*) sa duinom manjom od k jesu
teoreme teorije. Neka je re oblika (*) duine k. Dokaimo da je
teorema teorije. Ako je n = 0 , tada je =bk=bk-1b=1b. Po indukcijskoj
hipotezi za 1 postoji dokaz. Dopunimo li taj dokaz formulom
dobijenom iz 1 primenom pravila (1), dobijamo da je teorema teorije.
Ako je n>0, tada je =aan-1bm-1b=a1b , 1 je re duine k-2 pa je po
indukcijskoj hipotezi teorema formalne teorije . Primenom pravila (2) na
1 dobijamo . Time smo dokazali da je teorema formalne teorije .
Vebanje:
1. U narednim primerima azbuka A={a, b}, formule su sve rei nad
azbukom A, a grka slova oznaavaju proizvoljne formule teorije. Odredi
teoreme teorije:
a) Aksima je "a", a pravila izvoenja su:
,
a b
,
a b
,
b b
d) Aksiome su a i b , a pravila izvoenja su:
ab ba
,
,
,
ab ba ba ab
e) Aksiome su aa i bb a pravila izvoenja su:
, ab ba
,
,
ba ab
f) Aksioma je ab, a pravila izvoenja su:
,
,
ab
18
,
a a b b
2. Definisati formalnu teoriju ije su teoreme sve rei nad azbukom {a,b}
takve da se slovo a pojavljuje paran broj puta.
3. Definisati formalnu teoriju ije su teoreme sve rei nad azbukom {a,b}
takve da se slovo a pojavljuje paran broj puta, a slovo b neparan broj
puta.
19
2. LOGIKA ISKAZA
2.1. ISKAZNE FORMULE
U logici iskaza interesuju nas tvrenja koja mogu biti ili lana ili
istinita. Svako takvo tvrenje nazivamo iskazom. Primeri iskaza su:
Sneg je beo, Paralelogram je etvorougao i suprotne stranice su mu
paralelne,... . Istina ili la dodeljena nekom iskazu je istinitosna
vrednost tog iskaza. Oznaimo istinu simbolom I, a la simbolom
. Polazei od iskaza moemo graditi sloene iskaze vezujui ih reima
ne, i, ili, ako ... onda ..., ... ako i samo ako ... . Prethodne veze nazivamo
logikim operacijama negacije, konjunkcije, disjunkcije, implikacije,
ekvivalencije (redom), i oznaavamo ih:
ne ....
... i ...
I
I
I
I
(1)
I
I
I
I
I
20
Definicija 4.
Iskazna slova su p, q, r,...(moe i sa indeksima). Logike
konstante su I i .
Definicija 5.
(i) Iskazna slova su iskazne formule (to su najkrae, atomske,
formule - atomi).
(ii) Ako su A i B iskazne formule, tada su:
A, (AB), (AB), (AB), (AB)
iskazne formule.
(iii) Iskazne formule nastaju konanom primenom pravila (i) i
(ii).
Napomena: Formule koje uestvuju u graenju iskazne formule nazivamo
podformulama date formule.
Jasno je da prethodnom definicijom ne moemo za formule dobiti
(A ) ili ( B) ili AB. Formula je ((A B) C), za formule (A B) i C
kaemo da su podformule. Da bi zapis bio pregledniji uvodimo dogovore
o brisanju zagrada:
1. spoljne zagrade u formuli se briu
2. ostale zagrade se briu u skladu sa sledeim prioritetima logikih
operacija:
,
, .
Sada, prethodni primer formule moemo zapisati A B C.
Ako su zadate istinitosne vrednosti za atome p i q tada vrednosti
formula p, pq, p q, pq, p q moemo odrediti na osnovu tablice
(1).
Posmatrajmo formulu A: p q (r s). Neka su istinitosne
vrednosti atoma p, q, r i s jednake I, , I, redom. Tada moemo
izraunati istinitosnu vrednost formule A na osnovu tablice i ona je
istinita (I). Uzmemo li istinitosne vrednosti za p, q, r i s redom I, I, , ,
formula A je lana (). Pridruivanje istinitosnih vrednosti I, I, ,
atomima
p, q, r , s, redom, nazivamo interpretacijom formule A. Jasno je da
interpretacija formule A ima onoliko koliko ima naina za dodeljivanje
21
I =
Istinitosnu
vrednost iskazne formule F, u
.
interpretaciji I, izraunavamo na
oznaci (F), u
sledei nain:
1. Ako je formula F iskazno slovo p onda je (F)=I(p).
2. Ako je formula F jednog od oblika A B, A B, A B, AB,
A, vrednost formule izraunavamo redom (A) (B), (A) (B), (A)
(B), (A) (B), (A).
Definicija 7.
Iskazna formula A je tana pri interpretaciji I, u oznaci IA,
ako je njena vrednost I u interpretaciji I. Tada kaemo da je I
model formule A. Ukoliko je pri interpretaciji I vrednost
formule kaemo da je I kontramodel.
Formulu p (q p) pri svim interpretacijama ima vrednost I. Za takve
formule kaemo da su tautologije.
Definicija 8.
Formula A je tautologija, u oznaci A, ako je tana pri svakoj
interpretaciji. Formula A je kontradikcija (logiki
protivurena) ako je netana pri svim interpretacijama.
Oznaimo sa proizvoljnu tautologiju, a sa proizvoljnu
kontradikciju.
Teorema 2.1.1. Neka su A, B, C proizvoljne iskazne formule. Sledee
formule su tautologije:
1. (A B) (A B) (B A)
2. (A B) A B
22
3. A A
4. A (B A)
5. (A (B C)) ((A B) (A C))
6. A (A B) B
7. (A B B) A
8. a) A B B A,
b) A B B A
9. a) A (B C) (A B) C
b) A (B C) (A B) C
10. a) A (B C) (A B) (A C)
b) A (B C) (A B) (A C)
11. a) A (B A) A
b) A (B A) A
b) A A
12. a) A A
13. a) A
b) A
14. a) A A
b) A A
15. a) (A B) A B
b) (A B) A B.
Zahvaljujui asocijativnim zakonima (tautologije 9. a) i 9. b))
zagrade u formulama (A B) C i A (B C) se mogu izostaviti ili
optije, bez dvosmislenosti, moemo zapisati A1 ... An. Isto vai za A1
.... An .
Definicija 9.
Kaemo da su formule A i B ekvivalentne ili A je
ekvivalentno sa B, u oznaci AB, ako se istinitosne vrednosti
formula A i B poklapaju pri svakoj interpretaciji I formula A i
B.
Sledee svojstvo iskaznih formula esto koristimo.
Teorema 2.1.2. Neka je F(A) formula ija je podformula A. Neka je F(B)
formula koja nastaje iz prethodne zamenom svih pojavljivanja formule A
formulom B. Tada ako je A B tautologija onda je i F(A) F(B)
tautologija.
D o k a z: Neka je I interpretacija formule F(A) F(B). Kako je A B
tautologija, vrednosti pri toj interpretaciji formula A i B su jednake, iz
ega zakljuujemo da su i vrednosti formula F(A) i F(B) jednake, pa je u
proizvoljnoj interpretaciji I ( F(A) F(B)) = I.
23
Definicija 10.
Literal je atom ili negacija atoma.
Definicija 11.
Kaemo da je formula A u konjunktivnoj normalnoj formi
ako je oblika A1 A2 ... An, n 1 i svaka formula A1, A2,
..., An je disjunkcija literala. Formula A je u disjunktivnoj
normalnoj formi ako je oblika A1 A2 ... An, n 1 i svaka
formula A1, A2, ..., An je konjunkcija literala.
Svaka formula moe biti transformisana u konjunktivnu normalnu
formu (disjunktivnu normalnu formu), pomou ekvivalnetnih
transformacija.
Sledeim
algoritmom
opisujemo
postupak
transformisanja proizvoljne formule u njoj odgovarajui oblik
disjunktivne (konjunktivne) normalne forme.
Korak 1: Koristei tautologije:
(A B) A B
(A B) (A B) (B A)
eliminiu se iz formule logike veze i .
Korak 2: Viestrukim korienjem zakona dvojne negacije
1. A A
i De Morganovih zakona
2. (A B) A B
3. (A B) A B
dovodimo negaciju neposredno do atoma.
Korak 3: Viestrukim korienjem zakona
1. A (B C) (A B) (A C)
dovodimo formulu do konjunktivne normalne forme.
24
25
4. r.
Treba da pokaemo da je 4 istinito ako je 1 2 3 istinito. Naimo za
formulu (p (p q) (r q)) disjunktivnu normalnu formu:
(p (p q) (r q)) (p (p q) (r q))
((p p) (p q)) (r q)
( (p q)) (r q)
(p q) (r q)
(p q r) (p q q)
(p q r) (p )
(p q r)
p q r.
Sada vidimo da je pri svakoj interpretaciji u kojoj je formula 1 2 3
istinita, istinita i formula p q r, tj. istinito je tvrenje 4.
Uvedimo sada preciznu definiciju kada je neka formula logika posledica
nekog skupa formula.
Definicija 12.
Formula A je logika posledica skupa formula A1, A2, ..., An, u
oznaci A1, A2, ..., An A, ako u svakoj interpretaciji I pri
kojoj su formule A1, A2,..., An istinite sledi da je i formula A
istinita. Formule A1, A2, ..., An nazivamo aksiomama za A.
Teorema 2.2.1. Neka su date formule A1, A2, ..., An i formula A. Tada, A
je logika posledica formula A1, A2, ..., An ako i samo ako je
formula A1 A2 ... An A tautologija.
Dokaz:
() Neka je A je logika posledica formula A1, A2, ..., An i neka je
I proizvoljna interpretacija formule A1 A2 ... An A. Ukoliko su
sve formule A1, A2, ..., An istinite pri toj interpretaciji, onda je istinita i
formula A jer je njihova logika posledica formula. Ako je neka
formula iz skupa A1, A2, ..., An lana, onda je formula A1 A2 ... An
lana, tj. formula A1 A2 ... An A je istinita. Znai formula A1 A2
... An A je istinita u svim interpretacijama.
() Neka je formula A1 A2 ... An A tautologija. Tada, u
svim interpretacijama u kojima je istinita formula A1 A2 ... An
istinita je i formula A. Znai, A je logika posledica formula A1, A2, ..., An
26
27
28
Drugi nain:
Formulu (p (q (r s))) p s q napiimo u konjunktivnoj
normalnoj formi.
(p (q (r s))) p s q
(p q (r s)) p s q
((p q (r s)) p s) q
(p q (r s)) p s q
U prevoenju formule na konjunktivnu normalnu formu koristimo
intenzivno zakone distributivnosti prema . Kako distributivnost esto
koristimo u radu sa realnim brojevima, iskoristimo steene navike i u
ovakvim primerima. Kad god treba transformisati formulu u
konjunktivnu formu, operacija treba ' jae da okuplja ' nego to '
okuplja '. To znai, da je zgodno operaciju zameniti sa ' . ', a operaciju
sa '+'. Obratno radimo kada je u pitanju disjunktivna normalna forma.
Kako je polazna formula ekvivalentna formuli
(p q (r s)) p s q
njene dalje ekvivalentne transformacije imale bi sledei zapis:
(p + q + (r . s)) . p . s . q
(p + q + r . s) . p . s . q
p . p . s . q + q . p . s . q + r . s. p . s . q
(p p s q) (q p s q) (r s p s q)
( s q) ( p s) ( r p q)
29
F1: p q
F2: r q
F3: r
F4: p
Da bi smo pokazali da je formula F4 logika posledica formula F1, F2 i
F3, dovoljno je da pokaemo da je formula F1 F2 F3 F4
protivurena. Dokaz izvodimo prevodei formulu F1 F2 F3 F4 u
disjunktivnu normalnu formu.
F1 F2 F3 F4
(p q) (r q) r p
(p q) (r q) r p
(p + q) . (r + q) . r . p
(p . p + q . p) . (r . r + q . r)
( + q . p) . ( + q . r)
q . p . q . r
q p q r
q q p r
pr
30
31
32
33
34
Definicija 15.
(i) Atomska formula jeste formula.
(ii) Ako su A i B formule tada su A, (A B), (A B),
(A B), (A B) formule.
(iii) Ako je A formula i X promenljiva, tada su ( X)A i ( X)A
formule.
(iv) Formule nastaju konanom primenom pravila (i), (ii) i
(iii).
Kao i u logici iskaza uvodimo dogovore o brisanju zagrada:
1. spoljne zagrade u formuli se briu
2. ostale zagrade se briu u skladu sa sledeim prioritetom:
, ,
,
, .
Znai, u formuli ( X)A(X) B(X), kvantor deluje samo na formulu
A(X), dok u formuli ( X)(A(X) B(X)) kvantor deluje i na formulu
A(X) i na formulu B(X).
Pojavljivanje promenljive u formuli, koje je pod dejstvom
kvantora, naziva se vezano, a inae je slobodno. Promenljiva u formuli je
slobodna ako ima bar jedno slobodno pojavljivanje, a vezana je ako su joj
sva pojavljivanja vezana. U jednoj formuli ista promenljiva moe dakle
imati i slobodnih i vezanih pojavljivanja.
P r i m e r 9. Neka su vei i relacije duine 2, a naslednik operacija
duine 1 i 1 znak za konstantu. Posmatrajmo formule:
(a) vei(X,Y) vei(naslednik(X),naslednik(Y))
(b) ( X)vei(X,1)
(c) ( X)((X,Y) (X,Y)) (X,X).
Tada, u sluaju (a) sve promenljive u formuli su slobodne, u sluaju (b)
sve promenljive su vezane. U sluaju (c) pojavljivanje promenljive Y u
formuli je slobodno, dok promenljiva X ima dva vezana i jedno slobodno
pojavljivanje, dakle, slobodna je u formuli.
Formulu u kojoj su sve promenljive vezane nazivamo zatvorenom
formulom, a formulu bez kvantora otvorenom formulom.
U prethodnom primeru formula u sluaju (a) je otvorena, a formula u
sluaju (b) je zatvorena. Formula u sluaju (c) nije ni otvorena ni
zatvorena.
35
36
Definicija 16.
Tumaenje ili interpretacija formule A je ureena dvojka
(D,) gde je D neprazan skup (domen interpretacije) a
preslikavanje jezika J formule A tako da: svakom znaku
konstante jezika J pridruujemo konkretan elemenat skupa
D'; svakom operacijskom znaku f duine n jezika J
pridruujemo neku operaciju f* duine n skupa D (f*:Dn
D); svakom relacijskom znaku duine n jezika J
pridruujemo neku relaciju * duine n skupa D (*Dn).
Znai, interpretacija formule A nije nita drugo do pridruivanje
ureenog para (D,) jeziku J. Ureeni par (D,) oznaavamo velikim
pisanim slovima npr. D.
P r i m e r 12. Formuli
( X)( Y)( (X,Y) (Y,X)),
gde je relacijski znak duine 2 moemo pridruiti interpretacije:
(N, ), (R, ), (N, | ).
Neka je D interpretacija formule F koja ne sadri kvantore. Ako
bi svim promenljivim pridruili neke konkretne elemente skupa D, i ako
bi logike veznike tumaili na uobiajan nain dobili bi iskaze, iju
istinitosnu vrednost moemo odrediti.
Dodeljivanje konkretnih elemenata skupa D slobodnim
promenljivim formule F nazivamo interpretacijom promenljivih formule
F.
Neka je F zatvorena formula i D interpretacija formule F.
Istinitosna vrednost formule F u interpretaciji D izraunava se na osnovu
istinitosnih vrednosti njenih podformula korienjem sledeih pravila:
(A B)=(A) (B)
(A B)=(A) (B)
(A B)=(A) (B)
(A B)=(A) (B)
(A)=(A)
i
(*)
(( X)A(X))=I akko (A(X))=I za sve interpretacije promenljive
X
(( X)A(X))=I akko (A(X))=I za neku interpretaciju promenljive
37
X.
Napomena: Jasno je da ako je domen interpretacije konaan skup D={d1,
d2, ..., dn} onda je (( X)A(X))= (A(d1) A(d2) ... A(dn))
i (( X)A(X))= (A(d1) A(d2) ... A(dn)).
Uvodei vrednosti za sluajeve (*), problem zatvorenih formula tretiramo
kao uoptenje iskazne logike.
Neka je F otvorena formula i neka je D interpretacija formule.
Kako izraunati istinitosnu vrednost formule F u interpretaciji D? Kako
tumaimo u matematici neku otvorenu formulu? Ako u skupu realnih
brojeva imamo tvrenje:
Ako je X Y onda je X+1 Y+1.
Ovu reenicu tumaimo da vai za sve realne brojeve X i Y.
Definicija 17.
Formula F nad jezikom J je tana u interpretaciji D, ako je
njena istinitosna vrednost I, ma kako interpretirali slobodne
promenljive formule F. Formula F je zadovoljiva u
interpretaciji D ako postoji interpretacija slobodnih
promenljivih u skupu D, takva da je vrednost formule F pri
toj interpretaciji I. Formula F je netana u nekoj interpretaciji
ako je formula F tana u toj interpretaciji.
Definicija 18.
Ako je formula F tana u interpretaciji D, tada kaemo da je
D model za formulu F i piemo DF. Interpretacija D je
kontramodel za formulu F ako je D model za formulu F.
Neka je X slobodna promenljiva u formuli f(X). Jasno je iz definicije da
vai:
D ( X)f(X) akko D f(X).
U daljem tekstu, ukoliko ne naglasimo drugaije, razmatraemo samo
zatvorene formule.
P r i m e r 13. Neka je data formula:
( X)((X) (X)) ( X)(X) ( X)(X),
naimo neke modele i kontramodele formule.
38
a I
c
I
Interpretacija je model.
b)
a I
b
I
c
I
Interpretacija je kontramodel.
P r i m e r 14. Posmatrajmo sledeu interpretaciju jezika J={a, b, f, }
gde je f operacijski znak duine 1, relacijski znak duine 2, na skupu
D={1, 2}.
1. Konstantama a i b pridruimo redom 1 i 2.
2. Operacijskom znaku f pridruimo operaciju f* koja je definisana na
sledei nain:
X
f*(X)
1
2
2
1
3. Relacijskom znaku pridruimo relaciju * definisanu sledeom
tablicom:
* 1 2
1
I I
2
Nai istinitosne vrednosti sledeih formula nad jezikom J u toj
39
interpretaciji:
1) (a,f(a)) (b,f(b))
2) (X)(Y)(Y,X)
3) (X)(Y)((X,Y) (f(X),f(Y))
1) U datoj interpretaciji istinitosna vrednost formule (a,f(a)) (b,f(b))
je
( *(1,f*(1)) *(2,f*(2)) ) = ( *(1,2) *(2,1) ) = (*(1,2))
(*(2,1)) = I = .
2) Neka je X=1, tada ( (Y)*(Y,1) )= I, jer (*(1,1)) = I. Neka je X=2,
tada ( (Y)*(Y,2) ) = I, jer (*(1,2)) = I. Znai data interpretaciji je
model formule (X)(Y)(Y,X).
3) Za X=1 i Y=1 imamo ( *(1,1) *(f*(1),f*(1)) ) = (*(1,1))
((2,2)) = I = , pa je formula (X)(Y)((X,Y) (f(X),f(Y))
netana u datoj interpretaciji.
P r i m e r 15. Ako je pri interpretaciji formule (X)(Y)(X,Y)
(Y)(Y,Y) domen skup R, a relacijskom znaku pridruimo relaciju
(<) dobijamo model (kontramodel).
P r i m e r 16. Formula ( X)( Y)( (X,Y) X=Y) nema kontramodel.
U svakoj interpretaciji (( X)( Y)( (X,Y) X=Y )) = I, jer za sve XD
je ( (X,X) X=X )=I (dakle ( ( Y)((X,Y) X=Y) ) = I ).
Definicija 19.
Za formulu A kaemo da je opte vaea ili valjana formula, u
oznaci A, ako je tana u svim interpretacijama.
Posmatrajmo iskaznu formulu F(p1,..., pn) ija su sva iskazna slova p1,...,
pn. Ako svako pojavljivanje iskaznog slova pi menjamo predikatskom
formulom Ai gde je 1 i n, tada kaemo da je dobijena formula F(A1,
A2, ..., An) izvod iz iskazne formule F(p1, p2, ..., pn).
Teorema 3.2.1. Izvodi iz tautologija su valjane formule.
D o k a z: Neka je formula F(A1, ..., An) izvod iz tautologije F(p1, ..., pn).
Posmatrajmo proizvoljnu interpretaciju D formule F(A1, ..., An). Neka je I
interpretacija tautologije F(p1, ..., pn) u kojoj iskaznom slovu pi
dodeljujemo istinitosnu vrednost formule Ai u interpretaciji D, gde je 1 i
40
Definicija 20.
Kaemo da je formula F ekvivalentna sa formulom G, u
oznaci FG ako je F G.
Teorema 3.2.2. Neka je F(B) formula dobijena iz F(A) tako da se sva
pojavljivanja formule A u F(A) menjaju formulom B. Tada vai:
A B onda je F(A) F(B).
D o k a z: Neka je D proizvoljna interpretacija formule F(A) F(B).
Kako je A B, imamo (A)=(B), pa je (F(A))=(F(B)) u
interpretaciji D.
U dokazu valjanosti neke formule esto koristimo Teoremu 3.2.2.
Taj nain dokazivanja nazivamo metod ekvivalentnih transformacija.
Teorema 3.2.3. Sledee formule su valjane:
1. ( X)A(X) ( X)A(X)
2. ( X)A(X) ( X)A(X)
3. ( X)(A(X) B(X)) ( X)A(X) ( X)B(X)
4. ( X)(A(X) B(X)) ( X)A(X) ( X)B(X).
D o k a z:
1. Neka je D interpretacija formule ( X)A(X) ( X)A(X). Tada:
( ( X)A(X) ) = I akko ( ( X)A(X) )=
akko ( A(X) )= za neko X D
akko ( ( X) A(X) )=I.
2. Dokaz izvodimo ekvivalentnim transformacijama:
Kako je
( X)A(X) ( X)A(X)
( sluaj 1.)
imamo
( X)A(X) ( X)A(X) (izvod iz tautologije
(pq)(pq) ).
Znai
( X)A(X) ( X)A(X).
41
Posmatrajmo formulu
( X)A(X) A(t). (1)
Na prvi pogled izgleda da je formula (1) valjana i da je sledee
rezonovanje ispravno:
Neka je u interpretaciji D formula ( X)A(X) tana. Onda, za
proizvoljan term t mora biti A(t) tano.
Meutim, zakljuivanje je ispravno ali pod odreenim uslovom.
Neka je A(X)(Y)(X,Y), tada ako za term t uzmemo Y dobijamo
formulu
42
(X)(Y)(X,Y) (Y)(Y,Y)
(2).
Formula (2) nije valjana (Primer 15.). Uz izvesna ogranienja za term t,
formula (1) jeste valjana. Osnovni previd u naem polaznom rezonovanju
je da zamena X termom t ne sme prouzrokovati proirenje dejstva
nekog od kvantora u formuli A(t).
Potekou prevazilazimo uvodei sledei pojam:
Definicija 21.
Zamena promenljive X termom t u formuli A(X) je ispravna
ako nijedna promenljiva terma t, posle zamene ne postaje
vezana u A(t).
Definicija 22.
Kaemo da je formula G logika posledica skupa formula
F1,...,Fn u oznaci F1, F2, ..., Fn G, ako svaki model formula
F1, ..., Fn je i model formule G.
Definicija 23.
Kaemo da je skup formula F1, F2, ..., Fn logiki
protuvurean skup ako ne postoji interpretacija u kojoj su sve
formule tog skupa tane.
Teorema 3.2.7. Sledea tvrenja su ekvivalentna:
F1, F2, ..., Fn G
F1 F2 ...Fn G
43
3.4.
Definicija 24.
Za formulu F logike prvog reda kaemo da je u preneks
formi, ako je oblika:
(Q1X1)(Q2X2)...(QnXn) M,
gde je svaki (QiXi), i=1, ..., n, ili ( Xi) ili ( Xi), a M je
formula bez kvantora. (Q1X1)(Q2X2)...(QnXn) nazivamo
prefiksom formule a M matricom. Ako je matrica M u
44
45
46
47
48
4.
49
Metod rezolucije
50
51
element skupa S
element skupa S
element skupa S
element skupa S
rezolventa iz (1) i (2)
rezolventa iz (3) i (4)
rezolventa iz (5) i (6).
52
((P S) (S U) P U)
( ((P S) (S U) P) U)
(P S) (S U) P U
(P S) (S U) P U
Znai imamo sledee klauzule:
(1) P S
(2) S U
(3) P
(4) U.
Rezolventni izvodi su:
(5) S
rezolventa (1) i (3)
(6) U
rezolventa (2) i (5)
(7) []
rezolventa (4) i (6).
53
54
Definicija 31.
Neka su E i F dva izraza. Kaemo da su E i F dve varijante
ako postoje supstitucuje i takve da vai E=F i F=E.
Izraz p(f(X,Y)), g(Z), a) je varijanta izraza p(f(Y,X), g(U), a), ali p(X,X)
nije varijanta izraza p(X,Y).
Definicija 32.
Neka je S konaan skup prostih izraza. Supstituciju zovemo
unifikatorom skupa S, ako je S jednolan skup. Unifikator
je najoptiji unifikator (MGU - most general unifier) skupa S
ako za svaki unifikator skupa S, postoji supstitucija takva
da je =.
P r i m e r 29. Neka je S={p(f(X), Z), p(Y,a)} tada MGU je ={Y/f(X),
Z/a}. Kao to vidimo unifikator je i ={Y/f(a), X/a, Z/a}, ali vai
={X/a}.
Intuitivno, kad elimo da unifikujemo izraze mi traimo
supstituciju koja e ih promeniti u identine.
55
Definicija 33.
Skup razliitosti nepraznog skupa prostih izraza S dobijamo
otkrivanjem prve (sleva) pozicije na kojoj svi izrazi iz S
nemaju isti simbol i zatim uzimamo iz svih izraza skupa S
podizraze koji poinju tom pozicijom. Skup tih podizraza je
skup razliitosti od S.
P r i m e r 30. Ako je S={p(f(X), h(Y), a), p(f(X), Z, a)}, onda skup
razliitosti skupa S je D={h(Y), Z}.
Ako je S={p(X, f(Y,Z)), p(X,a), p(X, g(h(k(X))))}, onda skup
razliitosti skupa S je D={f(Y,Z), a, g(h(k(X)))}.
Za dati konaan skup prostih izraza S, MGU nalazimo sledeim
algoritmom:
Korak (1): k se postavlja na 0. (0) je identina supstitucija.
Korak (2): Odredi se S(k). Ako je dobijen jednolan skup, (k) je MGU
skupa S i to je kraj. Ako nije odreuje se skup razliitosti D(k) za S(k) i
prelazi se na korak (3).
Korak (3): Ako postoje V i t u D(k) takvi da je V promenljiva koja ne
ulazi u termu t tada se odreuje (k+1)=(k){V/t}, zatim se uveava k i
prelazi se na korak (2). U suprotnom izrazi se ne mogu unifikovati i
algoritam staje.
P r i m e r 31. Neka je S={p(f(a), g(X)), p(Y,Y)}.
Primenimo algoritam unifikacije za skup S:
(1)
k=0
(0)=
(2-1) S(0)=S
D(0)={f(a), Y}
(3-1) (1)=(0){Y/f(a)}
k=1
(2-2) S(1)={p(f(a), g(X)), p(f(a), f(a))}
D(1)={g(X), f(a)}
(3-2) Nemogue je izvriti unifikaciju jer u skupu D(1) ne postoji ni
56
4.3.
57
58
59
je (Y)((a) (Y)).
Klauzule dobijene iz standardnih formi su:
(1) (X) (f(X))
(2) (X) (g(X))
(3) (a)
(4) (Y).
Primenom rezolucije dobijamo:
(5) (f(a))
rezolventa (1) i (3), a supstitucija je 1={X/a}
(6) (g(f(a))) rezolventa (2) i (5), a supstitucija je 2={X/f(a)}
(7) []
rezolventa
(4) i (6), a supstitucija je
3={Y/g(f(a))}.
P r i m e r 37. Proverimo da li je ispravno zakljuivanje:
Neki aci vole dobre profesore. Ni jedan ak ne voli direktora.
Znai, ni jedan direktor nije dobar profesor.
Oznaimo sa:
D(X): X je ak
P(X): X je dobar profesor
U(X): X je direktor
V(X,Y): X voli Y.
Gornja tvrenja zapisujemo:
F1: (X)( D(X) (Y)(P(Y) V(X,Y)) )
F2: (X)( D(X) (Y)(U(Y) V(X,Y)) )
G: (X)(U(X) P(X)).
Pokaimo da je skup {F1, F2, G} logiki protivurean. Iz standardnih
formi za F1, F2 i G dobijamo sledee klauzule:
(1) D(a)
(2) P(Y) V(a,Y)
(3) D(X) U(Y) V(X,Y)
(4) P(b)
(5) U(b).
Metodom rezolucije dobijamo:
(6) V(a,b)
rezolventa (2) i (4), 1={Y/b}
(7) U(Y) V(a,Y)
rezolventa (1) i (3), 2={X/a}
(8) U(b)
rezolventa (6) i (7), 1
(9) []
rezolventa (5) i (8).
60
61
62
63
5. Logiki program
U prethodnom tekstu smo pokazali da proizvoljnu predikatsku
formulu moemo svesti na standardnu formu, koja je protivurena akko
je polazna formula protivurena. Standardna forma je oblika
( X1)...( Xn)(F1 ... Fn)
gde je Fi (i=1, 2, ..., n) disjunkcija literala ( klauzula ) oblika
(A1 ... An B1 ... Bk)
gde su A1, ..., An, B1, ..., Bk atomi to emo krae zapisati:
A1, ..., AnB1, ...,Bk.
Kako je
(A1 ... An B1 ... Bk)
ekvivalentno sa
(B1 ... Bk A1 ... An),
moemo zakljuiti da su hipoteze B1, ..., Bk vezane konjunkcijom, a
posledice A1, ..., An vezane disjunkcijom. Specijalan tip klauzula je onaj
koji ima samo jednu posledicu (pozitivan literal) i za nas su veoma
interesantne.
Definicija 35.
Programska klauzula je klauzula oblika AB1, ..., Bk koja
sadri samo jedan pozitivan literal (A). A se zove glava, a
B1,..,Bk telo programske klauzule.
Primetimo da je programska klauzula nita drugo nego pravilo u
PROLOG-u koje bi glasilo
A:B1,...,Bk.
Definicija 36.
Jedinina programska klauzula je klauzula oblika
programska klauzula sa praznim telom.
tj.
64
Definicija 37.
Logiki program je konaan skup programskih klauzula.
Definicija 38.
U logikom programu skup svih programskih klauzula sa
istim predikatom p u glavi zove se definicija predikata p.
Definicija 39.
Ciljna klauzula je klauzula oblika B1, ..., Bk tj. klauzula
sa praznim zakljukom. Svako Bi (i=1, ..., k) zove se podcilj
ciljne klauzule.
Ciljnu klauzulu u PROLOG-u oznaavamo na sledei nain
?-B1, ..., Bk.
Definicija 40.
Hornove klauzule su programske ili ciljne klauzule.
Ako su Y1, ..., Yn sve promenljive ciljne klauzule
B1, ..., Bk
onda je ta klauzula krai zapis za
( Y1)...( Yn)(B1 ... Bk)
ili, ekvivalentno
( Y1)...( Yn)(B1 ... Bk).
P r i m e r 41. Ponovo pogledajmo primer koji smo radili u prvoj glavi:
roditelj(pera,sima).
roditelj(marija,sima).
roditelj(sima,tomo).
roditelj(tomo,marko).
roditelj(nena,jelena).
musko(pera).
musko(sima).
musko(tomo).
musko(marko).
zensko(marija).
zensko(nena).
zensko(jelena).
65
otac(X,Y):-roditelj(X,Y),musko(X).
Prevedimo program u logike reenice:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
roditelj(pera,sima)
roditelj(marija,sima)
roditelj(sima,tomo)
roditelj(tomo,marko)
roditelj(nena,jelena)
musko(pera)
musko(sima)
musko(tomo)
musko(marko)
zensko(marija)
zensko(nena)
zensko(jelena)
otac(X,Y) roditelj(X,Y) musko(X)
66