20 6 Preneksna forma i skolemizacija Dve korisne tehnike koje možemo koristiti prilikom rešavanja različitih problema u predikatskoj logici jesu konstrukcija preneksne forme date formule, kao i tzv. skolemizacija. Kratko rečeno, formula F predikatske logike je u preneksnoj formi ako se svi kvantifikatori nalaze na početku formule, dok skolemizacija znači oslobad anje od egzistencijalnih kvantifikatora, uvod enjem novih simbola konstanti i funkcijskih simbola. Može se dokazati da za svaku predikatsku formulu F postoji ekvivalentna formula koja je u preneksnoj formi. Za skolemovu formu važi slabije tvrd enje: za svaku formulu F predikatskog računa postoji formula F S koja je u skolemovoj formi, tako da formula F ima model ako i samo ako formula F S ima model. No, kada je zadatak da se utvrdi da li neka formula (ili skup formula) ima model, onda je i ta slabija vrsta ekvivalencije dovoljna. Definicija 13 Za formulu F predikatske logike kažemo da je u preneksnoj formi ako je oblika (Q 1 x 1 )(Q 2 x 2 )... (Q n x n )A gde su x 1, x 2,..., x n neke promenljive, Q 1, Q 2,..., Q n {, }, a A formula bez kvantifikatora. Deo (Q 1 x 1 )(Q 2 x 2 )... (Q n x n ) zovemo prefiksom, a A matricom formule F. Ako je matrica A u konjunktivnoj normalnoj formi, onda kažemo da je F u preneksnoj normalnoj formi. Preneksna (normalna) forma neke formule B je formula B P koja je u preneksnoj (normalnoj) formi i ekvivalentna je sa B. Smatraćemo da je formula bez kvantifikatora takod e u preneksnoj formi. Prilikom nalaženja preneksne forme date formule koristićemo, naravno, Teoreme 6, 7, 8, 9, 10, DeMorganove zakone, a ponekad je će biti potrebano izvršiti preimenovanje promenljivih, da bismo mogli koristiti navedene teoreme. Naime, neka je A(x) formula koja ima slobodnu promenljivu x i neka se promenljiva y ne javlja u formuli A(x). Tada važi ( x)a(x) ( y)a(y) ( x)a(x) ( y)a(y) gde smo sa A(y) označili formulu koja se dobija simultanom zamenom svih slobodnih pojavljivanja promenljive x u formuli A(x) sa y.
21 Primer 9 Neka jezik prvog reda sadrži binaran relacijski simbol ρ i unaran relacijski simbol σ. Formula ( x)( z)( y)((ρ(x, y) σ(z)) ρ(y, z)) je u preneksnoj normalnoj formi. Formula (ρ(x, y) ( y)ρ(y, z)) nije u preneksnoj formi, ali je ekvivalentna sa formulom koja je dalje ekvivalentna sa (ρ(x, y) ( t)ρ(t, z)) ( t)(ρ(x, y) ρ(t, z)). Teorema 11 Za svaku predikatsku formulu F postoji ekvivalentna formula F P koja je u preneksnoj (normalnoj) formi. Dokaz. Formalan dokaz je indukcijom po složenosti formule F. U praksi, algoritam koji se koristi za nalaženje preneksne (normalne) forme date formule F ima sledeće korake: oslobad amo se veznika i tako što ih izražavamo preko veznika,,, koristeći Teoremu 6, DeMorganove zakone, znak pomeramo do elementarnih formula ( uvlačimo negaciju unutra ) ukoliko postoje, oslobad amo se dvojnih (duplih) negacija ukoliko je neophodno, preimenujemo neke vezane promenljive, da bismo mogli koristiti Teoreme 7, 8, 9, koristeći Teoreme 7, 8, 9 pomeramo kvantifikatore ispred formule - tako dobijamo formulu koja je u preneksnoj formi ako je potrebna preneksna normalna forma, onda još matrični deo ovako dobijene formule prebacimo u konjunktivnu normalnu formu.
22 Primer 10 Neka su α, β, γ unarni relacijski simboli. normalnu formu za formulu Nad imo preneksnu ( x)α(x) (( x)β(x) ( x)γ(x)). ( x)α(x) (( x)β(x) ( x)γ(x)) ( x)α(x) (( x)β(x) ( x)γ(x)) ( x) α(x) ( ( x)β(x) ( x)γ(x)) ( x) α(x) (( x) β(x) ( x) γ(x)) ( x) α(x) (( x) β(x) ( y) γ(y)) ( x) α(x) ( x)( β(x) ( y) γ(y)) ( x)( α(x) ( β(x) ( y) γ(y))) ( x)( y)( α(x) ( β(x) γ(y))) ( x)( y)(( α(x) β(x)) ( α(x) γ(y))). Prelazimo sada na tzv, skolemizaciju - oslobad anje od egzistencijalnog kvantifikatora uvod enjem novih simbola konstanti i novih funkcijskih simbola. Pre formalne definicije, pogledajmo na jednom primeru glavnu ideju, da bismo dobili neku intuiciju. Primer 11 Data je formula A(x, y, z, u, v, w) bez kvantifikatora, i posmatrajmo formulu ( x)( y)( z)( u)( v)( w)a(x, y, z, u, v, w). Postupak skolemizacije kreće od prvog kvantifikatora (gledajući sa leva na desno) date formule, što je u ovom slučaju ( x). Brišemo taj kvantifikator, i u formuli A svuda umesto promenljive x stavljamo neki novi simbol konstante, recimo c: ( y)( z)( u)( v)( w)a(c, y, z, u, v, w). Sada tražimo sledeći egzistencijalni kvantifikator, što je u našem slučaju ( u). Kako ispred tog kvantifikatora stoje ( y)( z), to znači da element u zavisi od vrednosti promenljivih y i z, pa posle brisanja kvantifikatora ( u) uvodimo novi binaran funkcijski simbol f i svuda u formuli A umesto promenljive u stavljamo f(y, z): ( y)( z)( v)( w)a(c, y, z, f(y, z), v, w).
23 Poslednji egzistencijalni kvantifikator je ( w), ispred čega stoje univerzalni kvantifikatori ( y)( z)( v), pa posle brisanja ( w), uvodimo novi ternarni funkcijski simbol g, i svuda umesto promenljive w stavljamo g(y, z, v): ( y)( z)( v)a(c, y, z, f(y, z), v, g(y, z, v)). Poslednja formula je traěna skolemova standardna forma. Definicija 14 Neka je zatvorena formula F u preneksnoj normalnoj formi (Q 1 x 1 )(Q 2 x 2 )... (Q n x n )A. Neka se uz promenljivu x r (1 r n) u prefiksu (Q 1 x 1 )(Q 2 x 2 )... (Q n x n ) nalazi kvantifikator. Ako u prefiksu levo od ( x r ) ne stoji univerzalni kvantifikator, tada u matrici A sva pojavljivanja promenljive x r zamenimo novim simbolom konstante c, a iz prefiksa izbacimo ( x r ). Ako je ( x s1 ), ( x s2 ),..., ( x sm ) spisak svih univerzalnih kvantifikatora koji se javljaju levo od ( x r ), onda: izaberimo novi funkcijski simbol f arnosti m i svako pojavljivanje promenljive x r u A zamenimo termom f(x s1, x s2,..., x sm ) i uklonimo ( x r ) iz prefiksa. Proces nastavljamo dok se ne izbace svi egzistencijalni kvantifikatori iz prefiksa. Poslednja formula naziva se skolemovom standardnom formom. Konstante i funkcijske simbole dobijene uklanjanjem kvantifikatora nazivamo skolemovim konstantama i funkcijama. Teorema 12 Neka je F S skolemova standardna forma formule F. Tada F ima model akko formula F S ima model. Dokaz. Indukcijom po složenosti formule F. Primer 12 Neka jezik prvog reda L sadrži tri unarna relacijska simbola α, β, γ. Dokažimo da je formula F (( x)( y)(α(x) β(y)) ( x)( y)(β(x) γ(y))) ( x)( y)(α(x) γ(y))
24 valjana. Pretpostavimo suprotno, da formula F ima model. To znači da formula ( x)( y)(α(x) β(y)) ( x)( y)(β(x) γ(y)) ( x)( y)(α(x) γ(y)) ima model. Nad imo prvo preneksnu formu, a zatim skolemovu formu te formule. Prvo ćemo uvući negaciju do elementarne formule a zatim preimenovati vezane promenljive tako, da možemo bez problema da izvučemo kvantifikatore ispred formule. Imamo redom sledeće ekvivalentne formule (neke korake smo spojili u jedan): ( x)( y)(α(x) β(y)) ( z)( t)(β(z) γ(t)) ( u)( v)(α(u) γ(v)) ( u)(( x)( y)(α(x) β(y)) ( z)( t)(β(z) γ(t)) ( v)(α(u) γ(v))) ( u)( x)( y)((α(x) β(y)) ( z)( t)(β(z) γ(t)) ( v)(α(u) γ(v))) ( u)( x)( y)( z)( t)((α(x) β(y)) (β(z) γ(t)) ( v)(α(u) γ(v))) ( u)( x)( y)( z)( t)( v)((α(x) β(y)) (β(z) γ(t)) (α(u) γ(v))) Sada možemo da pred emo na skolemizaciju. Prvo brišemo kvantifikator ( u) i zamenjujemo promenljivu u novim simbolom konstante c: ( x)( y)( z)( t)( v)((α(x) β(y)) (β(z) γ(t)) α(c) γ(v)) Sada brišemo kvantifikator ( y), uvodimo novi unaran funkcijski simbol f i stavljamo f(x) umesto promenljive y: ( x)( z)( t)( v)((α(x) β(f(x))) (β(z) γ(t)) α(c) γ(v)) Na kraju uvodimo novi binaran funkcijski simbol g, brišemo kvantifikator ( t) i zamenjujemo g(x, z) umesto promenljive t: ( x)( z)( v)((α(x) β(f(x))) (β(z) γ(g(x, z))) α(c) γ(v)) Pretpostavimo da ova poslednja formula ima model M. Tada bismo dobili da specijalno za x = c, z = f(c), v = g(c, f(c)) u modelu M važe formule α(c) β(f(c), β(f(c)) γ(g(c, f(c))), α(c), γ(g(c, f(c))) što je nemoguće.