26 8 Predikatski račun kao deduktivni sistem Neka je L neki jezik prvog reda. Da bismo odredili predikatski račun K L tipa L, prvo ćemo se dogovoriti šta će biti azbuka nad kojom radimo. Znamo da se svaka azbuka predikatske logike sastoji od dve vrste simbola: logičkih simbola (promenljive, simboli logičkih veznika i pomoćni simboli) i nelogičkih simbola (simboli konstanti, relacijski simboli i funkcijski simboli). Kao što smo napomenuli ranije, ako unapred fiksiramo skup logičkih simbola, onda je jezik predikatske logike odred en kada se definiše skup promenljivih X i skup nelogičkih simbola L, zajedno sa funkcijom arnosti ar. Naravno, postoje različiti deduktivni sistemi koji opisuju predikatsku logiku, i oni se, izmed u ostalog, mogu razlikovati u odabranom skupu logičkih simbola. Mi ćemo ovde prikazati tzv. Hilbertov deduktivni sistem za predikatsku logiku. U tom pristupu, od logičkih veznika zadržavamo samo i, a od kvantifikatora samo, dok ostale logičke veznike i kvatifikator uvodimo kasnije (kao skraćene zapise nekih formula, tj. kao zamene za ). Definicija 15 Neka je L = C R F neki jezik prvog reda, X neki skup promenljivih. Predikatski račun tipa L je deduktivni sistem gde je L = L X {,,, (, )}, K L = L, F orm L (X), Ax, R F orm L (X) je skup predikatskih formula definisan nad skupom logičih simbola {,,, (, )} X, Ax = Ax 1 Ax 2 Ax 3 Ax 4, Ax 5, gde su Ax 1, Ax 2, Ax 3, Ax 4, Ax 5 skupovi formula definisani pomoću tzv. šema aksioma (dakle, A, B, C F orm L (X)): Ax 1 : A (B A) Ax 2 : (A (B C)) ((A B) (A C)) Ax 3 : ( A B) (B A) Ax 4 : ( x)(a B) (A ( x)b), ako promenljiva x X nije slobodna u formuli A, Ax 5 : ( x)a(x) A(t), ako je term t slobodan za promenljivu x u formuli A(x).
27 R = {MP, Gen}, ( modus ponens odnosno generalizacija), MP : A, A B, Gen : B A ( x)a Jedini pojam koji zahteva objašnjenje iz ove definicije je pojam term t slobodan za promenljivu x u formuli A(x), koji se pojavljuje u aksiomi Ax 5. Oznake: U daljem ćemo smatrati da smo fiksirali neki jezik prvog reda L i skup promenljivih X i da su svi sintaktički objekti, sa kojima radimo, na tom jeziku. Neka je x neka promenljiva a t neki term. Ako je A neka formula, onda će A = A(x) značiti da formula A sadrži x kao slobodnu promenljivu (pored x, formula A(x) može imati i druge slobodne promenljive). Sa A(t) ćemo obeležavati formulu koja nastaje od A(x) kada se sva slobodna pojavljivanja promenljive x u formuli A(x) simultano zamene termom t. Uvodimo sledeće skraćene oznake: ( x)a je zamena za ( x) A A B je zamena za A B A B je zamena za (A B) A B je zamena za (A B) (B A) Primer 13 Neka je neki binarni relacijski simbol, + binaran funkcijski simbol a 0 simbol konstante u jeziku L i neka je A(x) = ( y)x y ( x)x + x 0. Ako je t 1 = x + y a t 2 = z + 0, onda je A(t 1 ) = ( y)x + y y ( x)x + x 0 A(t 2 ) = ( y)z + 0 y ( x)x + x 0.
28 Definicija 16 Neka je t neki term, x promenljiva i A(x) neka formula na jeziku prvog reda L. Za term t kažemo da je slobodan za x u A(x) ako nijedno slobodno pojavljivanje promenljive x u A(x) nije pod uticajem kvantifikatora koji za promenljivu ima promenljivu terma t. Primer 14 U prethodnom primeru term t 1 nije slobodan za x u A(x), jer je slobodno pojavljivanje promenljive x pod uticajem kvantifikatora koji za promenljivu ima y, a y je jedna promenljiva terma t 1. Term t 2 je slobodan za x u formuli A(x). Primer 15 Primetimo da je term x uvek slobodan za promenljivu x u svakoj formuli A(x). Takod e, ako term t nema slobodnih promenljivih (izgrad en je od simbola konstanti), onda je slobodan za x u svakoj formuli A(x). Ako formula A(x) nema kvantifikatore, onda je svaki term t slobodan za x u A(x). Vratimo se sada aksiomi Ax 5 : ( x)a(x) A(t), ako je term t slobodan za promenljivu x u formuli A(x). Sledeći primer dokazuje da bez dodatnog uslova formula ( x)a(x) A(t) nije valjana: Primer 16 Neka je < neki binaran relacijski simbol nekog jezika L i neka je A(x) = ( y)x < y i neka je M model tog jezika čiji je nosačskup prirodnih brojeva i u kome se relacijski simbol < interpretira kao obična relacija <. Neka je sada t = y. Tada formula ( x)a(x) A(t) ne važi u tom modelu, jer dobijamo da M = ( x)( y)x < y ali M = ( y)y < y. Nakon što smo opravdali dodatni uslov u aksiomi Ax 5, nastavimo razmatranje deduktivnog sistema K L. Naravno, pojmovi dokaznog niza, teoreme, sintaktičke posledice su samo specijalni slučajevi odgovarajućih pojmova definisanih u slučaju bilo kog deduktivnog sistema, pa nema potrebe da ovde te pojmove definišemo. Važi takod e i specijalan slučaj T?? koju smo dokazali za bilo koji deduktivni sistem: Teorema 13 Neka je L neki jezik prvog reda, X neki skup promenljivih. U predikatskom računu tipa L, za sve skupove formula Σ, Σ 1, Σ 2 F orm L (X) važi:
29 1. Σ Cons(Σ); 2. Ako je Σ 1 Σ 2 onda Cons(Σ 1 ) Cons(Σ 2 ); 3. Cons(Cons(Σ)) = Cons(Σ). Takod e, u predikatskom računu važi Teorema kompaktnosti, koju smo dokazali u slučaju proizvoljnog deduktivnog sistema (videti T??): Teorema 14 (Teorema kompaktnosti) Neka je L neki jezik prvog reda, X neki skup promenljivih. U predikatskom računu tipa L, za sve skupove formula Σ F orm L (X) i za sve formule A važi: Σ A akko postoji konačan Σ 0 Σ tako da je Σ 0 A. Ono što takod e lako možemo uvideti jeste da predikatski račun kao deduktivni sistem na neki način sadrži u sebi iskazni račun H. Naime, prve tri aksiome predikatskog računa se upravo tri aksiome iz iskaznog računa. Pored toga, jedino pravilo izvod enja iz iskaznog računa, Modus Ponens, imamo i u predikatskom računu. Prema tome, sve što možemo dokazati u iskaznom računu H, možemo dokazati i u predikatskom računu K L. S obzirom na kompletnost iskaznog računa, prema kome je iskazna formula tautologija ako i samo ako je teorema iskaznog računa H,,možemo odmah zaključiti da važi sledeća teorema: Teorema 15 Svaki izvod iz tautologije jeste teorema predikatskog računa K L. Evo sada jedan primer izvod enja u predikatskom računu koji nema svoje analogone u iskaznom računu. Kao i u iskaznom računu, možemo izostaviti zagrade {, } kod nabrajanja hipoteza, pa umesto {A 1, A 2,..., A n } B piati samo A 1, A 2,..., A n B. Primer 17 Dokažimo da za sve formule A(x), B(x) (na proizvoljnom jeziku prvog reda) važi: ( x)(a(x) B(x)), ( x)a(x) ( x)b(x).
30 1. ( x)(a(x) B(x)) hipoteza 2. ( x)a(x) hipoteza 3. ( x)(a(x) B(x)) (A(x) B(x)) Ax 5, za t = x 4. A(x) B(x) pravilo MP na 1.3. 5. ( x)a(x) A(x) Ax 5, za t = x 6. A(x) pravilo MP na 2.5. 7. B(x) pravilo MP na 4.6. 8. ( x)b(x) pravilo Gen na 7. Da bismo mogli koristiti i sva izvedena pravila iz iskaznog računa (kao što je, na primer, pravilo tranzitivnosti TRANZ ili dvojne negacije DN1 ili DN2), moramo dokazati da se Teorema dedukcije koju smo koristili u iskaznom računu za dokazivanje tih izvedenih pravila, može koristiti i u slučaju predikatskog računa. Teorema dedukcije u najopštijem obliku ne važi za predikatski račun - med utim, za dokazivanje analogona izvedenih pravila iskaznog računa dovoljna je ona verzija teoreme dedukcije koju ćemo dokazati. Primer 18 Neka je ρ unaran relacijski simbol nekog jezika prvog reda L, x neka promenljiva. Tada je jasno da imamo ρ(x) ( x)ρ(x). Med utim, formula ρ(x) ( x)ρ(x), koja bi se dobila prebacivanjem preko rampe formule ρ(x) nije teorema kvantifikatorskog računa. Naime, kao što ćemo dokazati u sledećoj sekciji, predikatski račun je pouzdan, pa svaka izvedena teorema je valjana formula. Nije teško uveriti se da formula ρ(x) ( x)ρ(x) nije valjana. Dovoljno je posmatrati neki model jezika L u kome se relacijski simbol ρ interpretira nekom unarnom relacijom koja je makar za jedan element nosača netačna i makar za jedan element tačna. Teorema 16 (Teorema dedukcije za predikatski račun) Neka je L neki jezik prvog reda, X skup promenljivih i neka je Σ F orm L (X), A, B F orm L (X). 1. Ako je Σ A B onda Σ {A} B. 2. Neka je Σ {A} B i neka postoji takav dokaz formule B iz hipoteza Σ {A} u kome nema generalizacije po slobodnim promenljivama formule A. Tada je Σ A B.
31 Dokaz. 1. Neka je Σ A B i neka je A 1, A 2,..., A n odgovarajući dokazni niz za A B iz hipoteza Σ. Tada je dokaz za B iz hipoteza Σ {A}. A 1, A 2,..., A n = A B, A, B 2. Neka je Σ {A} B i neka je A 1, A 2,..., A n = B odgovarajući dokazni niz. Dokažimo da je tada Σ A B, indukcijom po n. Neka je n = 1. Tada dokazni niz ima samo jednu formulu, B. Tada je B ili aksioma ili pripada skupu hipoteza Σ ili je B = A. Ako je B aksioma ili ako B Σ onda imamo Σ B (A B), pa je Σ A B. Ako je B = A, onda je Σ A A (dokaz formule A A iz praznog skupa hipoteza je isti kao u iskaznom računu). Neka je sada tvrd enje tačno za sve formule koje imaju dokazne nizove dužine manje od n i neka sada formula B ima dokazni niz dužine n, A 1, A 2,..., A n = B Posebno, neka je to baš dokaz u kome nema generalizacije po slobodnim promenljivama formule A. Tada imamo četiri mogućnosti. Prve dve mogućnosti su da je B aksioma ili da pripada skupu hipoteza Σ, ali onda je jasno, Σ B (A B), pa je Σ A B. Neka sada formula B sledi po pravilu MP iz nekih ranijih formula A i i A i B u dokaznom nizu. Tada se Σ A B dokazuje potpuno isto kao u iskaznom računu. Naime, za formule A i i A i B važi indukcijska hipoteza, pa za njih imamo Σ A A i, i Σ A (A i B) pa koristeći Ax 2 dobijamo Σ A B. Ostao nam je slučaj kada se formula B dobija iz neke ranije formule u nizu, recimo A i, po pravilu Gen. To znači da je B = ( x)a i. Zbog uslova da u dokazu nemamo generalizaciju po slobodnim promenljivama formule A, odmah zaključujemo da promenljiva
32 x nije slobodna u formuli A. Za formulu A i važi indukcijska hipoteza, pa je Σ A A i, pa dakle i Σ ( x)(a A i ). No, sada primenom Ax 4, koja kaže u ovom slučaju da je ( x)(a A i ) (A ( x)a i dobijamo Σ A ( x)a i, što smo i trebali dokazati. Kao specijalan slučaj, dobijamo da se Teorema dedukcije može primeniti recimo ako je formula A zatvorena. Posledica 1 Neka je L neki jezik prvog reda, X skup promenljivih i neka je Σ F orm L (X), A, B F orm L (X) i neka je formula A zatvorena. Tada je Σ A B akko Σ {A} B. Takod e, kao posledicu Teoreme dedukcije dobijamo da se teorema dedukcije može primeniti svaki put kada u odgovarajućim dokazima uopšte nemamo primenu pravila generalizacije - to je slučaj recimo u svim dokazima izvedenih pravila iskaznog računa. Prema tome, u predikatskom računu možemo primenjivati sva izvedena pravila iskaznog računa. Primer 19 Dokažimo da za sve formule A(x), B(x) (na proizvoljnom jeziku prvog reda) važi: ( x)a(x) ( x)b(x) ( x)(a(x) B(x)). Prvo ćemo se osloboditi simbola koji nije u našem formalnom sistemu: ( x)a(x) ( x)b(x) ( x)( A(x) B(x)). 1. ( x)a(x) ( x)b(x) hipoteza 2. ( x)b(x) B(x) Ax 5, za t = x 3. ( x)a(x) B(x) pravilo TRANZ na 1.2. 4. B(x) ( x)a(x) pravilo KP2 na 3. 5. ( x)a(x) A(x) pravilo DN1 6. B(x) A(x) pravilo TRANZ na 4.5. 7. A(x) B(x) pravilo KP2 na 6. 8. B(x) B(x) pravilo DN1 9. A(x) B(x) pravilo TRANZ na 7.8. 10. ( x)( A(x) B(x)) pravilo Gen na 9.