Formalni sustavi Sustav F se prirodno proˇsiruje s raˇcuna sudova na raˇcun predikata doda-
2.2.3 Formalni sustavi Sustav F se prirodno proˇsiruje s raˇcuna sudova na raˇcun predikata doda-
vanjem pravila za kvantifikatore: Uvodenje univerzala ( ∀ Intro)
c .. .
P (c) ⇒ ∀xP (x)
Pri tome je c konstanta koja se ne smije javljati nigdje osim u poddokazu u kojem je uvedena. Eliminacija univerzala ( ∀ Elim) ∀xP (x) .. .
⇒ P (c) Isto tako, imamo dva pravila izvoda za egzistencijal.
Uvodenje egzistencijala ( ∃ Intro) P (c)
.. . ⇒ ∃xP (x)
Eliminacija egzistencijala ( ∃ Elim) ∃xP (x)
c P (c)
.. . Q
⇒Q
2.2. PREDIKATNI RA ˇ CUN Pri tome se konstanta c ne pojavljuje nigdje, osim u poddokazu u kojem
je uvedena.
Primjer 2.11 Dokaˇzimo da vrijede de Morganovi zakoni za kvantifikatore: ¬∀xP (x) ≡ ∃x¬P (x) te ¬∃xP (x) ≡ ∀x¬P (x).
Ova se ekvivalencija dokazuje preko dokaza ˇcetiri tvrdnje. Prvo ´cemo dokazati da ¬∀xP (x) slijedi iz ∃x¬P (x).
1. ∃x¬P (x)
6. ¬∀xP (x) ( ¬ Intro: 3-5)
7. ¬∀xP (x) ( ∃ Elim: c -6) Proglasimo tvrdnju koju smo upravo dokazali teoremom 1.
Dakle imamo: Teorem 1:
∃x¬P (x) .. .
⇒ ¬∀xP (x) Sada imamo obrnuto:
1. ¬∀xP (x)
2. ¬∃x¬P (x)
3. ∀x¬¬P (x) (Teorem 1: 2)
6. ∀xP (x) ( ∀ Intro: c -5)
7. ∀xP (x) ∧ ¬∀xP (x) ( ∧ Intro: 6,1)
8. ¬¬∃x¬P (x) ( ¬ Intro: 2-7)
9. ∃x¬P (x)
( ¬ Elim: 8)
Dakle imamo: Teorem 2:
¬∀xP (x) .. .
⇒ ∃x¬P (x) Dokazujemo drugi de Morganov zakon. Prvo dokazujemo da iz ∀x¬P (x)
slijedi ¬∃xP (x).
POGLAVLJE 2. MATEMATI ˇ CKA LOGIKA
1. ∀x¬P (x) ∃xP (x)
7. ¬¬(Q ∧ ¬Q)
( ¬ Intro: 5-6)
( ∃ Elim: c -8)
10. ¬∃xP (x) ( ¬ Intro: 2-9) ˇsto daje sljede´ci teorem:
Teorem 3: ∀x¬P (x) .. .
⇒ ¬∃xP (x)
I na kraju:
1. ¬∃xP (x)
2. ¬∀x¬P (x)
3. ∃x¬¬P (x) (Teorem 2: 2)
7. ∃xP (x) ∧ ¬∃xP (x)
( ∧ Intro: 6,1)
8. ∃xP (x) ∧ ¬∃xP (x) ( ∃ Elim: 3, c -7)
9. ¬¬∀x¬P (x) ( ¬ Intro: 2-8)
10. ∀x¬P (x) ( ¬ Elim: 9) Dakle,
Teorem 4: ¬∃xP (x) . ..
⇒ ∀x¬P (x) Time smo zavrˇsili razmatranje F sustava. ˇ Citatelj zainteresiran za de-
taljnije prouˇcavanje F sustava kao formalizacije matematiˇckog dokazivanja upu´cuje se na [2].
Kao i za F sustav, i za rezolucijsku proceduru postoji proˇsirenje na raˇcun predikata. Rezolucijska se procedura u raˇcunu predikata definira nad reˇcenicama. No, kao ˇsto ´cemo vidjeti, u raˇcunu predikata se svaka reˇcenica ne moˇze pretvoriti u ekvivalentnu reˇcenicu koja bi bila pogodna za rezolviranje.
Svaka se reˇcenica raˇcuna predikata moˇze, medutim, pretvoriti u ekvivalentnu reˇcenicu u primitivnoj normalnoj formi.
2.2. PREDIKATNI RA ˇ CUN
Definicija 2.17 Za reˇcenicu raˇcuna predikata kaˇzemo da je u primitivnoj normalnoj formi ako je ona oblika
K 1 x 1 ...K n x n M (x 1 ,...,x n ).
Pri tome su K 1 ,...,K n kvantifikatori, a M (x 1 ,...,x n ) je formula raˇcuna predikata bez kvantifikatora. K 1 x 1 ...K n x n se naziva prefiks, a M (x 1 ,...,x n ) se naziva matrica reˇcenice u primitivnoj normalnoj formi.
Teorem 2.7 Svaka reˇcenica raˇcuna predikata ima ekvivalentnu reˇcenicu u primitivnoj normalnoj formi.
Umjesto formalnog dokaza ove propozicije navest ´cemo algoritam pomo´cu kojeg ´ce se reˇcenica raˇcuna predikata mo´ci pretvoriti u reˇcenicu u primitivnoj normalnoj formi. Kao prvo, pomo´cu pravila iz propozicije 2.2 eliminiramo sve kondicionale i bikondi- cionale. Nakon toga, pomo´cu ekvivalencija iz propozicije 2.3, te eventualno primjene pravila dvostruke negacije (propozicija 2.2) sve kvantifikatore izvadimo u prefiks.
Primjer 2.12 Pretvorite formulu ∀x∃y(P (x, y) → Q(x)) ∧ ¬∃x∃y(Q(y) ∨ P (x, x)) u pri- mitivnu normalnu formu.
∀x∃y(P (x, y) → Q(x)) ∧ ¬∃x∃y(Q(y) ∨ P (x, x)) ≡ (pr.2.2.20) ≡ ≡ ∀x∃y(¬P (x, y) ∨ Q(x)) ∧ ¬∃x∃y(Q(y) ∨ P (x, x)) ≡ (pr.2.3.2) ≡ ≡ ∀x∃y(¬P (x, y) ∨ Q(x)) ∧ ∀x¬∃y(Q(y) ∨ P (x, x)) ≡ (pr.2.3.2) ≡ ≡ ∀x∃y(¬P (x, y) ∨ Q(x)) ∧ ∀x∀y¬(Q(y) ∨ P (x, x)) ≡ (pr.2.3.3) ≡ ≡ ∀x(∃y(¬P (x, y) ∨ Q(x)) ∧ ∀y¬(Q(y) ∨ P (x, x))) ≡ (pr.2.3.7) ≡ ≡ ∀x∃u∀v((¬P (x, u) ∨ Q(x)) ∧ ¬(Q(v) ∨ P (x, x)))
Kako je matrica formule u primitivnoj normalnoj formi formula bez kvantifikatora, jasno je da za svaku reˇcenicu u primitivnoj normalnoj formi moˇzemo prona´ci ekvivalentnu reˇcenicu u primitivnoj normalnoj formi kojoj je matrica u konjunktivnoj normalnoj formi. Tako ´ce, npr., reˇcenica iz primjera 2.12 biti ekvivalentna reˇcenici
(2.1) ˇcija je matrica u konjunktivnoj normalnoj formi.
∀x∃u∀v((¬P (x, u) ∨ Q(x)) ∧ ¬Q(v) ∧ ¬P (x, x))
Primitivna normalna forma reˇcenice, pa ˇcak ni ako joj je matrica u konjunktivnoj normalnoj formi, nije dovoljna da bi reˇcenica bila pogodna za rezoluciju. Problem stvaraju egzistencijalni kvantifikatori. Naime, rezolucijski postupak u raˇcunu predikata zahtjeva da reˇcenica bude u Skolemovoj normalnoj formi.
Definicija 2.18 Reˇcenica raˇcuna predikata je u Skolemovoj normalnoj formi ako je u primitivnoj normalnoj formi, te ako njen prefiks ne sadrˇzi ni jedan egzistencijalni kvan-
tifikator. Naˇzalost, ne postoji naˇcin kojim bi se iz reˇcenice izbacili egzistencijalni kvantifikatori,
a da ono ˇsto se dobije bude reˇcenica ekvivalentna polaznoj. To, medutim, za rezoluciju nije niti potrebno. Sada, naime, dolazi do izraˇzaja naˇcin na koji se rezolucijom izvode dokazi. Rezolucijom se dokazuje tako da se konjunkcija pretpostavki i negacije zakljuˇcka svodi na refutaciju. Stoga nam sljede´ca propozicija daje dovoljan uvjet za izvodenje rezolucije.
Propozicija 2.4 ′ Za svaku reˇcenicu raˇcuna predikata F postoji reˇcenica raˇcuna F koja je u Skolemovoj normalnoj formi i za koju vrijedi da je F kontradiktorna ako i samo ako ′
je F kontradiktorna.
POGLAVLJE 2. MATEMATI ˇ CKA LOGIKA
Umjesto dokaza opet ´cemo dati algoritam za dobivanje takve formule. 1. Pretvoriti reˇcenicu u primitivnu normalnu formu.
Citati prefiks reˇcenice redom s lijeva na desno, te svaki egzistencijalni kvantifikator 2. ˇ na koji se naide izbrisati iz prefiksa. Varijabla koju je vezao taj kvantifikator se iz matrice eliminira na sljede´ci naˇcin:
(a) Ako je egzistencijalni kvantifikator bio prvi u prefiksu, onda izaberemo kon- stantu koja se ne pojavljuje u formuli te svaki nastup varijable koju je izbaˇceni kvantifikator vezao u matrici zamijenimo odabranom konstantom.
(b) Ako je egzistencijalni kvantifikator k-ti u prefiksu, onda izaberemo k-narni funkcijski simbol koji se do tada nije pojavljivao u formuli te svaki nastup varijable koju je izbaˇceni kvantifikator vezao u matrici zamijenimo funkcijom s odabranim simbolom ˇciji su argumenti sve varijable koje se u prefiksu nalaze ispred izbaˇcenog kvantifikatora.
Za reˇcenice koje imaju svojstvo navedeno u propoziciji 2.4 kaˇzemo da su ekvikon- tradiktorne.
Primjer 2.13 Skolemizirajmo formulu 2.1. Potrebno je izbaciti kvantifikator koji veˇze varijablu u, a svaku pojavu varijable u u matrici zamijeniti funkcijom, recimo f (x). Tako dobijamo reˇcenicu
(2.2) koja je ekvikontradiktorna formuli 2.1
∀x∀v((¬P (x, f (x)) ∨ Q(x)) ∧ ¬Q(v) ∧ ¬P (x, x)).
Prije no ˇsto krenemo dalje, dat ´cemo joˇs jedan primjer skolemizacije reˇcenice. Primjer 2.14 Skolemizirajmo formulu:
¬∀x∀yP (x, y) ∨ ∀x∃yQ(x, y)
Prvo ´cemo reˇcenicu prevesti u primitivnu normalnu formu
¬∀x∀yP (x, y) ∨ ∀x∃yQ(x, y) ≡ pr.2.3.1 ≡ ≡ ∃x¬∀yP (x, y) ∨ ∀x∃yQ(x, y) ≡ pr.2.3.1 ≡ ≡ ∃x∃y¬P (x, y) ∨ ∀x∃yQ(x, y) ≡ pr.2.3.7 ≡ ≡ ∃u∀v(∃y¬P (u, y) ∨ ∃yQ(v, y)) ≡ pr.2.3.4 ≡ ≡ ∃u∀v∃y(¬P (u, y) ∨ Q(v, y)).
Skolemiziramo sada dobivenu reˇcenicu u primitivnoj normalnoj formi: Ponajprije izbacujemo kvantifikator koji veˇze varijablu u, a svaku pojavu te varijable
u matrici mijenjamo konstantom, recimo c:
∀v∃y(¬P (c, y) ∨ yQ(v, y))
Sada briˇsemo iz prefiksa kvantifikator koji veˇze varijablu y, a svaku pojavu varijable y u matrici mijenjamo funkcijom, recimo f (v):
∀v(¬P (c, f (v)) ∨ yQ(v, f (v)))
I time smo zavrˇsili skolemizaciju zadane formule.
2.2. PREDIKATNI RA ˇ CUN
No, zbog postojanja varijabli termi koji grafiˇcki izgledaju razliˇcito mogu ponekad biti instancirani u isti temeljni term, tj. term bez varijabli. Stoga nije dovoljno pri rezoluciji gledati samo literale koji grafiˇcki izgledaju isto. Potrebno je uvesti postupak koji ´ce takve terme svoditi na isti term. Taj se postupak naziva unifikacija.
Definicija 2.19 Neka su t 1 ,...,t n termi raˇcuna predikata, a v 1 ,...,v n varijable. Tada se izraz {t 1 /v 1 ,...,t n /v n } naziva valuacija.
Definicija 2.20 Neka je F formula raˇcuna predikata i neka je α = {t 1 /v 1 ,...,t n /v n } valuacija. Tada se formula F α koja se dobije zamjenom varijabli v 1 ,...,v n termima t 1 ,...,t n naziva instanca formule F .
Definicija 2.21 Neka su α i β valuacije. Tada se njihova kompozicija α◦β, ili αβ definira na sljede´ci naˇcin: Za svaku formulu F je F (αβ) = (F α)β.
Definicija 2.22 Za valuaciju α kaˇzemo da je op´cenitija od valuacije β ako postoji valu- acija γ takva da je β = αγ.
Definicija 2.23 Neka su F i G formule raˇcuna predikata. Valuacija α je unifikator formula F i G ako vrijedi da je F α grafiˇcki jednaka Gα.
Za unifikator formula F i G kaˇzemo da je najop´cenitiji ili maksimalan ako je op´cenitiji od bilo kojeg drugog unifikatora formula F i G.
Maksimalan unifikator je posebno vaˇzan jer je on onaj unifikator koji najmanje mijenja formule, a pri tome ih unificira. Za formule za koje postoji unifikator kaˇzemo da se mogu unificirati. Stoga je vaˇzan sljede´ci teorem:
Teorem 2.8 Ako se formule F i G mogu unificirati, onda postoji maksimalni unifikator od F i G.
Iako je mogu´ce izvesti algoritam koji djeluje na proizvoljnim formulama raˇcuna pre- dikata, nama je za potrebe rezolucije dovoljno definirati unifikaciju nad atomima. Sljede´ci algoritam pronalazi maksimalni unifikator atoma P 1 : P (t 1 ,...,t n )iP 2 : P (s 1 ,...,s n ) uvijek kada on postoji.
1. Stavljamo da je i = 0 i α 0 = ε = ∅ prazna valuacija. W 0 = {P 1 ,P 2 }. Citamo redom s lijeva na desno atome P 2. ˇ 1 α i iP 2 α i sve dok se u proˇcitanom ne javi
razlika. 3. Napravimo skup razlika R = {r 1 ,r 2 } tako da je r 1 term koji je nastao ˇcitanjem
od primje´cene razlike pa sve dok proˇcitani izraz ne ˇcini regularan term raˇcuna
predikata. Sliˇcno se tvori i r2 iz atoma P 2 . 4. Ako je r 1 (r 2 ) varijabla x a r 2 (r 1 ) term t u kojem se ne pojavljuje varijabla x, tada
stavljamo α i+1 =α i ◦ {t/x} W i+1 = {P 1 α i+1 ,P 2 α i+1 }. U suprotnom maksimalni unifikator ne postoji i algoritam zavrˇsava.
5. Ako je W i+1 jednoˇclan skup, onda je α i+1 maksimalni unifikator, i algoritam zavrˇsava.
6. i := i + 1 idemo na korak 2. Teorem 2.9 Gore opisani algoritam radi korektno, tj. pronalazi maksimalni unifikator
atoma P 1 iP 2 uvijek kada on postoji.
POGLAVLJE 2. MATEMATI ˇ CKA LOGIKA
Treba re´ci da se ovaj algoritam moˇze lagano proˇsiriti tako da radi s viˇse od dva atoma. Tada ´ce skupovi W i ,R i imati viˇse ˇclanova. Traˇzit ´ce se da u skupu razlika postoji varijabla i term u kojem se ta varijabla ne pojavljuje, a cilj je, kao i kod sluˇcaja s dva atoma, dobiti jednoˇclan skup W k . Nadalje, ovaj algoritam, u potpunosti nepromijenjen, moˇze se koristiti i za unifikaciju bilo kojih drugih formula raˇcuna predikata. Pri tome treba napomenuti da, bez obzira na kakvim se formulama ovaj postupak provede, on moˇze unificirati samo razlike u termima. Ako se pojavi razlika u predikatnom simbolu, logiˇckom vezniku ili kvantifikatoru, onda se unifikacija ne moˇze provesti.
Sada, kad smo definirali skolemizaciju i unifikaciju mogu´ce je definirati i rezoluciju za raˇcun predikata. Neka je zadan skup reˇcenica {F 1 ,...,F n } koje predstavljaju pretpostavke iz kojih ˇzelimo izvesti zakljuˇcak - reˇcenicu G. Prisjetimo se prve karakterizacije logiˇcke posljedice (teorem 2.1). Ona kaˇze da je formula G logiˇcka posljedica skupa formula {F 1 ,...,F n } ako i samo ako je formula
(2.3) antitautologija.
F 1 ∧...∧F n ∧ ¬G
Jasno je da se za formulu 2.3 moˇze prona´ci ekvikontradiktorna formula u Skolemovoj normalnoj formi. No, je li potrebno skolemizirati cijelu tu, veliku fromulu? Odgovor je - nije. Ako pretpostavke i zakljuˇcak nemaju zajedniˇckih varijabli, dovoljno je da se skolemizira posebno svaka pretpostavka i negacija zakljuˇcka. Naime, u tom se sluˇcaju, zbog propozicije 2.3.5, Skolemove normalne forme pretpostavki i negacije zakljuˇcka mogu povezati konjunkcijama, a nakon toga se svi veznici mogu izvu´ci na poˇcetak formule i tako se dobije Skolemova normalna forma formule 2.3. Kako se radi o reˇcenicama u kojima su svi nastupi svih varijabli vezani, a kako su sve varijable koje su vezane vezane univerzalnim kvantifikatorima, kvantifikatore moˇzemo kod zapisa formule izostaviti. Na taj ´cemo naˇcin dobiti formulu koja ne sadrˇzi kvantifikatore. Ovoj se formuli moˇze prona´ci ekvivalentna formula u konjunktivnoj normalnoj formi na isti naˇcin kao ˇsto smo to radili za formule raˇcuna sudova. Formulu u konjunktivnoj normalnoj formi moˇzemo, kao ˇsto je ve´c reˇceno, gledati kao skup disjunkata, koji se mogu medusobno rezolvirati. Sam postupak rezolucije moramo, medutim, malo proˇsiriti. Naime, kod raˇcuna sudova rezolviranjem su se iz formula otklanjali atomarni sud i njegova negacija. Kod raˇcuna predikata otklanjati se mogu i atomi koji nisu medusobno jednaki. Dovoljno je da se atom i negacija atoma koje ˇzelimo otkloniti mogu medusobno unificirati.
Definicija 2.24 Neka su F 1 :P∨G 1 iF 2 : ¬Q ∨ G 2 disjunkti, a P i Q su atomi koji imaju maksimalni unifikator α. Tada je (G 1 ∨G 2 )α rezolventa formula F 1 iF 2 .
Sljede´ci teorem nam osigurava da je rezolucija dobro definiran formalni sustav: Teorem 2.10 Postupak rezolucije za raˇcun predikata je korektan i potpun. Primjer 2.15 Dokaˇzimo rezolucijom da iz formule ∀x∀y(P (x) → Q(x, y)) i iz ∃xP (x)
slijedi ∃x∀yQ(x, y). Imamo sljede´ce tri formule:
1. ∀x 1 ∀y 1 (P (x 1 ) → Q(x 1 ,y 1 )) ≡ ∀x 1 ∀y 1 (¬P (x 1 ) ∨ Q(x 1 ,y 1 )) 2. ∃x 2 P (x 2 ), pa skolemizacijom prelazi u P (c) 3. ¬∃x 3 ∀y 3 Q(x 3 ,y 3 ) ≡ ∀x 3 ∃y 3 ¬Q(x 3 ,y 3 ) ˇsto skolemizacijom prelazi
∀x 3 ¬Q(x 3 , f (x 3 )) Dakle, imamo sljede´ci dokaz:
3. ¬Q(x 3 , f (x 3 ))
4. Q(c, y 1 )
(Res: 1,2 {c/x 1 })
5. ¬P (x 3 ) (Res: 1,3 {x 3 /x 1 , f (x 3 )/y 1 }) 6. ⊥
(Res: 3,4 {c/x 2 , f (x 3 )/y 1 }) Za raˇcun predikata, isto kao i za raˇcun sudova, koristi se semantiˇcka rezolucija, hiper-
rezolucija i linearna rezolucija. Ovi se pojmovi mogu prona´ci detaljno opisani u [3], ali i u [6].