Uvod u Logiku - Romano
August 30, 2017 | Author: Рада Ковач | Category: N/A
Short Description
uvod u logiku...
Description
Daniel A. Romano: Uvod u matematičku logiku – Prvi dio
1. Uvod - Šta je matematička logika ? 1.1. 1.2. 1.3. 1.4. 1.5.
Totalna formalizacija je moguća Jezici prvog reda Aksiome logike: minimalni sistem, konstruktivni sistem, klasični sistem Izazov direktnog dokazivanja Teoreme dedukcije
Na početku kursa sasvim umjesno je postaviti pitanje: Šta je logika? Neki od odgovora mogli bi biti: (1) Zajednički okvir za izgradnju teorija (?). (2) Postupak razumjevanja (?). Drugo umjesno pitanje je: Šta je vas vlastiti koncept logike? Logika je osnova racionalnosti i osnova za matematiku, nauku i tehnologiju. Posebno za informacione tehnologije. (Roger Bishop Jones) Matematička logika, kao jedan akademski subjekt, dio je matematike koji je povezan sa logikom. Tradicionalno, ima četri dijela: (a) Teoriju dokaza; (b) Teoriju modela; (c) Teoriju skupova; i (d) Teoriju izračunljivosti. Neki od savremenih aspekata matematičke logike su: (1) Logika kategorija; (2) Teorija domena; (3) Logika izračunljivosti; i (4) Osnove matematike. Šta je logika? Da li je logika apsolutna (tj. jedinstvena, apriori data) ili relativna (tj., postoji više vrsta logika)? U moderno doba, pozicija apsolutnosti je neprihvatljiva. Za nas je bolje da prihvatimo poziciju relativnosti i da logike definišemo kao zajednički okvir za izgradnju teorija. Na primjer, na teorije možemo gledati kao na logiku sa svim njenim ekstenzijama. Na (takozvanu) aposlutnu geometriju možemo gledati kao na zajedničku logiku za izgradnju Euklidove geometrije i ne-Euklidskih geometrija. Teorija grupa može se tretirati kao zajednička logika za teoriju istraživanja matematičkih struktura koje su podtipovi grupa. Na kraju, ako odlučimo da reizgradimo sve matematičke teorije na bazi izabrane teorije skupova, možemo na tu teoriju skupova gledati kao na izabranu logiku. Postoji li jedna zajednička logika za svu matematiku? – sasvim je umjesno pitati. Nastojimo da izbjegnemo apsolutni prilaz svim postojećim konceptima matematike – klasičnoj (tradicionalnoj), konstruktivnoj (intuicionističkoj), “New Foundations”, itd… Naravno, matematičari koji rade na svakom od ovih koncepata moraju prihvatati neki specifičan okvir za izgradnju matematičkih teorija, t.j. neku vrstu specifične logike. I oni to tako rade. Uvod u pojam “New Foundations” biće interpretiran prema tumačenju koje je dao Randall Hollmes pozivajući se na knjigu W. V. O. Quine in 1937. Smatra se da je najbolja referenca za upoznavanje sa ovim područjem knjiga: Thomas Forster: "Set theory with a universal set", second edition, Oxford logic guides no. 31, 1995.
1
Daniel A. Romano: Uvod u matematičku logiku – Prvi dio
Jedna starija knjiga koja se preporucuje je: Rosser: "Logic for mathematicians" (second edition, Chelsea, 1978). Postulati (Aksiome) “New Foundations” su: * extensivnost: skupovi sa istim elementima su isti; * "slojevitost" sveobuhvatnosti: skup {x : P} postoji gdje P je formula logike prvog reda sa jednakošću i pripadnošću što se može dobiti od neke dobro formirane formule Russelove teorije tipova ignorisanjem indeksa tipova ; * “Slojevitost” sveobuhvatnosti je jedna shema aksioma, koja može biti zamjenjena sa konačno mnogo njenih konkretnih formi. Korišćenje konačne aksiomatizacije uklanja neophodnost pozivanja na tipove u objašnjavanju ove teorije. Može li se, na teoriju skupova (na primjer, na jednu od najpopularnijih – Zermelo-Frankelovu teoriju skupova) - gledati kao na jednu zajedničku logiku za klasičnu (tradicionalnu) matematiku? Mi možemo misliti tako ako ne želimo praviti razliku izmedju pojma prvog reda prirodnih brojeva (tj. diskretne matematike) i pojma drugog reda prirodnih brojeva (tj. “neprekidne” matematike, bazirane na teoriji skupova, ili, na familijama podskupovima skupa prirodnih brojeva). Ili, ako ne želimo da imamo paralelna istraživanja klasičnih i konstruktivnih (intuicionističkih) verzija istih teorija. Korišćenje konačne aksiomatizacije uklanja neophodnost pozivanja na tipove u objašnjavanju ove teorije.
1.1. Potpuna formalizacija je moguća! Gottlob Frege (1848-1925) Rodjen: 8. Nov. 1848. u Wismar, Mecklenburg-Schwerin (sada Germany), Umro: 26 July 1925 u Bad Kleinen, Germany; Bertrand Russell (1872-1970) Rodjen: 18. Maj 1872. u Ravenscroft, Trelleck, Monmouthshire, Wales, UK, Umro: 2. Feb. 1970. u Penrhyndeudraeth, Merioneth, Wales, UK; David Hilbert (1862-1943) Rodjen: 23. Jan. 1862. u Königsberg, Prussia (sada Kaliningrad, Russia), Umro: 14. Feb. 1943. u Göttingen, Germany. Koliko daleko možemo ići sa aksiomatizacijom neke teorije? Ovdje treba postaviti pitanje: Da li je moguća kompletna eliminacija intuicije, tj. da li je moguća potpuna redukcija liste aksioma i pravila zaključivanja? Radovi Gottlob’a Frege’a, Bertrand’a Russell’a, i David’a Hilbert’a, kao i njihovih kolega, pokazali su kako to može biti postignuto čak i u slučaju najkomplikovanijih matematičkih teorija. Prema njihovom mišljenju, sve te teorije mogu se redukovati na aksiome i pravila zaključivanja, bez miješanja intuicije. Tehnologije u logici, koje su razvili ovi ljudi, danas dopuštaju kompletnu aksiomatizaciju bilo koje teorije zasnovane na stabilnom, konzistentnom (u sebi) sistemu principa. Kako izgledaju takve, potpuno aksiomatizovane teorije? Nazivamo ih formalnim teorijama (formalnim sistemima ili deduktivnim sistemima) ističući da nema koraka zaključivanja koji bi bio uradjen bez pozivanja na listu prihvaćenih aksioma i pravila zaključivanja. Čak i oni koji su očigledni logički principi (kao na primjer: “Ako A implicira B, a B implicira C, tada A implicira C”) moraju biti formulisani u listi aksioma ili pravila, precizno, ili se mogu iz njih izvesti (demonstrirati, derivirati).
2
Daniel A. Romano: Uvod u matematičku logiku – Prvi dio
Ovo se čini iznenadjujuće za matematičare, ali najopštije egzaktne definicije "formalno" ne koriste niti aksiome niti pravila izvodjenja. Čini se da je najbolja formulacija u terminima teorije algoritama: jedna teorija T je formalna teorija, ako, i samo ako, postoji algoritam (tj. mehanički prihvatljiva procedura izračunavanja) koji može da provjeri korektnost zaključivanja posredstvom principa unutar T. To znači da kad neko ima namjetu da publikuje "matematički tekst" nazivajući ga "dokaz teorema u T", tada treba da smo u mogućnosti provjeriti da li je tekst o kojem govorimo stvarno dokaz koji prihvata standarde zaključivanja, prihvaćene u teoriji T. Dakle, u formalnim teorijama, standardi zaključivanja moraju biti dovoljno precizni, tako da omogućava provjeravanje dokaza - u smislu kompjuterskog programa. (Napomenimo da ovdje razgovaramo o provjeravanju čitanja dokaza, i da li je propozicija dokaziva ili nije.) Kao jedan, ne baš praktičan, primjer formalne teorije jeste "teorija" CHESS. Sve moguće pozicije su na šah-tabli (plus : "bijeli se kreće" ili "crni se kreće") nazvaćemo ih propozicije CHESS-a. Jedan jedini aksiom teorije CHESS biće - inicijalna pozicija, a pravila zaključivanja – pravila igranja. Pravila dozvoljavaju da povežemo jednu propoziciju u teoriji CHESS sa nekom drugom propozicijom. Polazeći od aksioma dobijamo teorem teorije CHESS. Dakle, teoremi teorije CHESS su sve moguće pozicije koje možemo dobiti od inicijalne pozicije, koju šahisti pokretanjem figura dobijaju, u skladu sa pravilima igre. Vježba 1.1.1. Možete li obezbijediti bar jednu nedokazivu propoziciju teorije CHESS? Zašto se CHESS naziva formalnom teorijom? Kad neko ponudi "matematički tekst" P kao dokaz jednog teorema A u teoriji CHESS, to znači da je P korektno ako se neka šah-igra zaustavi u poziciji A. I, naravno, provjeravanje korektnosti “dokaza” je lagan zadatak. Pravila igre su precizno formulisana – može se napisati kompjuterski program za realizaciju tog cilja. Vježba 1.1.2. Pokušajte procijeniti dužinu ovog programa napisanog u nekom programskom jeziku. Naš drugi primjer formalne teorije je nesto ozbiljniji. Budući da ga je razradio Paul Lorenzen, nazvacemo ga “teorija L” Prof. Dr. Dr. h. c. mult. Paul Lorenzen (1915 – 1980) Rodjen 24. March 1915 Umro 1. October 1994. Bio je profesor filozofije u Erlagenu od 1962 do 1980. Tvrdnje u L su sve moguće “riječi” napravljene od slova a, b, kao na primjer: a, aa, aba, abaab. Ova teorija ima samo jednu aksiomu: a, i dva pravila izvodjenja: X (A): -----Xb
X (B): ------aXa
To znači da (u L) od propozicije X mi možemo derivirati propozicije Xb i aXa. Na primjer, propozicija aababb je teorema u L: a |- ab |- aaba |- aabab |- aababb (A) (B) (A) (A) Ovu činjenicu izrazavamo sa L |- aababb ( "u L je dokazivo aababb"). Vježba 1.1.3. (a) Opisati algoritam koji odlučuje da li je neka propozicija u L teorem u L, ili nije teorem.
3
Daniel A. Romano: Uvod u matematičku logiku – Prvi dio
(b) Možete li zamisliti algoritam za SHESS-teoriju? Naravno da možete, ali …Vidjeli smo da u slučaju relativno jednostavnih algoritama provjeravanje korektnosti nije naročito teško. Problem nastaje kod provjeravanja komplikovanijih slučajeva. Jedna vrlo važna osobina formalnih teorija je data u sljedećem primjeru: Vježba 1.1.4. Pokazati da je skup svih teorema formalne teorije efekrivno izbrojiv (ili “rekurzivno izbrojiv” - prema oficijelnoj terminologiji), tj. pokazati da za neku formalnu teoriju T, kompjuterski program PT može napisati - na konačnom papiru, sve teoreme ove teorije. (Uputstvo: T je formalna teorija ako, i samo ako, algoritam provjerava korektnost zaključivanja posredstvom principa teorije T. Predpostavimo da imamo četri funkcije: GenerateFirstString(), GenerateNextString(), IsCorrectProof(String), ExtractTheorem(Proof). Moramo opisati funkcije: GenerateFirstTheorem(), GenerateNextTheorem()). Na žalost, takav program ne može riješti problem za koji su matematičari zainteresovani: Da li je data propozicija dokaziva, ili nije dokaziva? Kada se program PT zaustavi, u mogućnosti smo da vidimo da li je unaprijed data propozicija, izvodljiva u T. Prije toga, mi nismo u mogućnosta da vidimo da li je data propozicija izvodljiva niti da li će biti izvodljiva uopšte. Za T kažemo da je rješiva teorija ((sinonim: odlučiva) preciznije – efektivno razriješiva), ako i samo ako algoritam (kompjuterska procedura) omogućava provjeravanje propozicija u konačno mnogo koraka korišćenjem principa teorije T. U našem primjeru 1.1.3.(a), pokazano je da je L odlučiva teorija. Medjutim, u primjeru 1.1.3.(b), ustanovili smo da je teško ustanoviti da li je teorija “CHESS” “izvodljivo odlučiva” teorija ili nije. Provjeravanje korektnosti dokaza je uvijek mnogo jednostavnije nego utvrdjivanje dokazivosti. Može se dokazati da je većina metematičkih teorija neodlučiva, uključujući, na primjer, elementarnu (prvog reda) aritmetiku prirodnih brojeva i teoriju skupova (vidjeti, na primjer u knjizi: Mendelson: Introduction to Mathematical Logic. Fourth Edition. International Thomson Publishing, 1997). Normalno, matematičke teorije sadrže negativni simbol “ne”. U takvim teorijama, problem odlučivosti počinje sa propozicijom A u smislu da li je A izvodljivo ili je izvodljivo neA. Možemo pokušati razriješiti problem koristeći se numeracijom kao u Vježbi 1.1.4.: Čekačemo pored kompjutera dok se ne odluči da li je A ili neA izvodljivo u datoj teoriji. Ako se pokaže da su A i neA izvodljivi zajedno to znači da je teorija T nekonzistentna (t.j. korištenjem principa teorije T, moguće je derivirati neku propoziciju i njenu negaciju). Imamo sljedeće četri mogućnosti: (a) A je odlučivo ali neA nije (tada problem A ima afirmativno rješenje), (b) neA je odlučivo, ali A nije (tada poblem A ima negativno rješenje), (c) A i neA su odlučivi (tada toerija A nije konzistentna teorija), i (d) niti A niti neA su odlučivi u teoriji A. U slučaju (d) možemo sjedjeti pored kompjutera stalno: koristeći se principima teorije T - niti može biti odlučiva propozicija A niti može biti odlučiva propozicija neA. To je razlog da tu teoriju nazovemo neodlučivom teorijom. Goedelov teorem neodlučivosti kaže da većina matematićkih teorija su ili nekonzistetne ili neodlučive (vidjeti, na primjer, u knjizi Mendelson [1997]). Vježba 1.1.5. Navesti primjer neke konzistentne i kompletne teorije koja je odlučiva. (Uputstvo: Koristiti program Vježbe 1.1.4., predpostavljajući da imamo funkcije GenerateFirstTheorem(), GenerateNextTheorem(), moramo implementirati funkciju IsProvable(String)). Vježba 1.1.6. Potvrditi da su “potpune aksiomatske teorije” - formalne teorije u smislu gornje opšte definicije. (Uputstvo: Predpostavljajući da imamo funcije: GenerateFirstString(), GenerateNextString(), IsPropositon(String), IsAxiom(String), IsRuleName(String), Infer(RuleName, ListOfPropositions) – povratak Proposition, moramo implementirati funkcije: IsCorrectProof(ListOfPropositions), ExtractTheorem(Proof)). 4
Daniel A. Romano: Uvod u matematičku logiku – Prvi dio
1.2. Jezici prvog reda Aristotel (384-322 BC) – u smislu "prvi logičar", “... nije bio primarno matematičar ali je mnogo uradio u sistematizaciji deduktivne logike”(prema: “MacTutor History of Mathematics archive”). Aristotle Rodjen: 384 BC u Stagirus, Macedonia, Greece Umro: 322 BC u Chalcis, Euboea, Greece U matematici i kompjuterskim naukama, kao zajednicki prilaz formalizaciji, koristi se tzv. jezik prvog reda. Centralno mjesto, na kojemu su zasnovani pomovi jezika prvog reda, je pojam “domena” – (neprazne) kolekcije “objekata”, posredstvom kojih se želi “opisati” (ili “definisati”) korištenje jezika. Prvi elementi jezika koji su nam potrebni su varijable: x, y, z, x 1, y1, z1 , ... Gore pomenuti "domen" je planiran kao "rang" svih varijabli. Na primjer, tokom izgradnje jezika tzv. aritmetike prvog reda, mi mislimo na “sve prirodne brojeve” - kao rang varijabli: 0, 1, 2, 3, 4, ... Ili, kada izgradjujemo jezik teorije skupova, mi mislimo o “svim skupovima”, kao rangu varijabli. Nota. Budući da na raspolaganju imamo samo konačno mnogo oznaka za varijable, mi se možemo koristi izbrojivim skupom karaktera konstruisanih od samo jednog slova - slova x: x, xx, xxx, xxxx, xxxxx, ... Nota. Možda, vi treba da opišete dvije ili više vrsta “objekata” - tako da nemate potrebu da determinišete “pod-objekte” jedne vrste objekata (na primjer, cijeli brojevi i karakter-nizovi). Tako se dolazi do potrebe da se uvede, za neke od vaših “domena”, odvojena vrsta (“sorta”) varijabli. Na ovaj način, dolazi se do tzv. jezka sa više vrsta objakata (takozvana “many-sorted first order languages”). Teorijski, jezik sa više vrsta objekata može se redukovati na jezik sa jednom vrstom objekata uvodjenjem korespodentnog predikata Sorti(x) ("vrijednost varijable x pripada vrsti objekata i"). U primjenama logike (na primjer, u kompjuterskim naukama) prilaz sa više vrsta objekata je, uobičajeno, više prirodan i više konvencionalan. (Vidjeti: Chapter 10. Many-Sorted First Order Logic, od Jean Gallier.) Upozorenje! Ne treba pokušavati koristiti logiku sa više vrsta objekata sa namjerom razdvajanja “objekata” i “osobine objekata” (tj. skup “objekata”), tj. ne treba pokušavati izgraditi jezik drugog reda. Bolje je da vaš favorit budu teorije prvog reda. Sljedeća mogućnost koju imamo je da se u našem jeziku pojave tzv. konstantna slova – simboli, koji označavaju specijalne “objekte” našeg “domena”. Na primjer, kada izgradjujemo formalnu artimetiku prvog rega, uvešćemo dva konstantna slova – 0 i 1 za označavanje “nule” i “jedinice” – dva prirodna broja koja imaju specijalne osobine. Kada budemo izgradjivali jezik teorije skupova treba da uvedemo konstantno slovo za označavanje praznog skupa, ali postoji mogucnost da se to uradi i bez toga. Nota. U jezicima sa više vrsta objekata, svaka konstantna se može tretirati kao jedna vrsta. U nekim jezicima, možemo imati potrebu za tzv. funkcionalnim slovima – simbolima koji označavaju specijalne funkcije, tj. preslikavanja izmedju “objekata” naših “domena”, ili operacije na takvim objektima. Na primjer, kada budemo izgradjivali jezik formalne artimetike prvog reda, uvešćemo samo dva funkcionalna slova "+" i "", koja će označavati adiciju i multiplikaciju prirodnih brojeva, tj. označavaće funkcije od dvije varijable x+y i xy. Kada budemo izgradjivali jezik teorije skupova,
5
Daniel A. Romano: Uvod u matematičku logiku – Prvi dio
uvešćemo funkcionalna slova za označavanje presjeka, unije, razlike skupova i partitivnog skupa datog skupa, (ali, naravno, postoji mogućnost da se to uradi i bez toga). Uobičajeno, pišemo f(x,y) da označimo vrijednost funkcije f, argumenata x, y. Ovo je uobičajeni način označavanja funkcija koje imaju neki broj argumenata: f(x), g(x,y), h(x,y,z), itd.. U svakodnevnoj matematičkoj praksi neke od funkcija dva argumenta (u suštini – operacije) uobičajeno se pišu u kompaktnijoj "infiks" notaciji x+y, umjesto, kako bi formalno trebalo +(x, y), itd. Nota. U jezicima sa više vrsta objekata, funkcionalna slova, (a) mogu se tretirati kao jedna vrsta objekata; (b) vrijednosti funkcija treba da budu označene jednom vrstom objekata. Poslednja vrsta primitivnih pojmova koje treba da imamo u jezicima su: tzv. predikatska slova – simboli koji označavaju specijalne osobine ili relacije izmedju "objekata" naših "domena". To se može činiti neobično za nematematičare: već je najpopularnija relacija medju objektima u većini matematičkih teorija - jednakost (ili identitet. Treba voditi računa da pojmovi “jednakost” i “identitet” nisu sinonimi) – predikatski simbol dužine dva. Naravno, ovo nije neobično za matematičare. Možemo izabrati jedan objekt x u našoj "domeni" za korišćenje u vrlo specifičnim kombinacijama osobina i relacija, i tada – birajući drugi objekt y - za korišćenje drugih kombinacija. Ako poslije toga (ponekad to može uzeti i više godina), dokazujemo da je x = y, tj. tada ove dvije različite kombinacije osobina i relacija, posjeduje jedan objekat. Mnoga otkrića u matematici mogu biti redukovana na ovu formu. U jeziku formalne aritmetike prvog reda, jednakost "=" je jedino prihvatljivo predikatsko slovo. Drugi predikati mogu biti redukovani na jednakost. Na primjer, relacija x < y, za prirodne brojeve, može se redukovati na jednakost korišćenjem dodatnog slova i formule (z)(x+z+1=y). Naravno, ako jezik nema funkcionalnih slova (kao, na primjer, jezik Zermelo-Fraenkel'ove teorije skupova), tada on mora sadržavati dodatna predikatska slova. Jezik teorije skupova sadrži jedno specijalno slovo "", koje označava relaciju “članstva”: "x y", znaci: "x je element u y". Uobičajeni način predstavljanja predikata koji imaju jedan broj argumenata je opet "prefiks" notacija: p(x), q(x,y), r(x,y,z) i tako dalje. U matematičkoj praksi samo predikati sa dva argumenta pišu se u kompaktnoj "infiks" notaciji ( x = y umjesto, kao bi trebalo, =(x,y)). Jednakost je predikat dužine 2, koji zadovoljava sljedeće ne-logičke aksiome: (x)(x = x), (refleksivnost) (x)(y)(x = y y = x), (simetričnost) (x)(y)(z)(x = y y = z x = z), (tranzitivnost) (x)(y)(x = y f(x) = f(y)), f je funkcionalno slovo (ekstenzivnost za funkcije) (x)(y)(p(x) x = y p(y)), p je predikatsko slovo. (ekstenzivnost za predikate) Dakle, apriori, treba predpostavljati za skupove postojanje jednakosti. Predikatske konstante? Nula-argument se može tretirati kao predikatska konstanta. Svaki predikat “mora biti” ili “tačan”, ili “netačan”. Prema tome, samo dvije predikatske konstante treba da daju smisao: 1 - "istinito", i 0 - "lažno"? Nota. U jeziku prvog reda sa više vrsta varijabli, za svako predikatsko slovo svaki argument može biti tretiran kao jedna te ista vrsta. Odavde, specifikacija jezika prvog reda uključuje sljedeće primitivne pojmove: (1) Izbrojiv skup varijabli (možemo generisati ova imena, na primjer, korišćenjem jedinog slova “x”, na sljedeći način: x, xx, xxx, xxxx, ...). (2) Najviše prebrojiv skup (Prazan skup, konačan skup, ili prebrojiv skup) konstantnih slova. 6
Daniel A. Romano: Uvod u matematičku logiku – Prvi dio
(3) Najviše prebrojiv skup (Prazan skup, konačan skup, ili prebrojiv skup) funkcionalnih slova. Za svako funkcionalno slovo, broj argumenata na koji djeluje to funkcionalno slovo mora biti naznačen (taj broj nazivamo dužina funkcijskog slova). (4) Konačan skup, ili prebrojiv skup predikatskih slova. Za svako predikatsko slovo, broj argumenata na koji taj predikat djeluje mora biti naznačen (Taj broj nazivamo dužina predikatskog slova.) Različiti skupovi primitivnih pojmova dovode do različitih jezika prvog reda. Koristeći primitivne pojmove, izgradjujemo terme, atomične formule (ili: elementarne formule, ili: atome) i formule. Termi su izrazi “objekata” i funkcija: (a) Variable i konstante (ako postoje), su termi. (b) Ako je f k-argumentno funkcijsko slovo, a t 1, ..., tk termi, tada je niz simbola f(t1, ..., t k) takodje term. (c) Termi se prave samo konačnom primjenom pravila (a) i (b) ove definicije, i drugih terma, osim ovih, nema. U formalnoj aritmetici prvog reda, za adiciju i multiplikaciju "infiks" notacija je uobičajena: Ako su t1, t 2 termi, tada su i (t1+t2) i (t1t2) su termi. Ako u termu nema varijabli, tada on “označava” "objekt" našeg "domena" (na primjer, ((1+1)+1) označava specijalan prirodan broj – broj 3). Ako term sadrži varijable, tada on označava funkciju. Na primjer, (((xx)+(yy))+1) označava funkciju x2+y2+1 (Napomenimo da u jeziku formalne aritmetike prvog reda nema funkcionalnih slova koji bi označavali eksponente od x i y. Prema tome, moramo pisati xx umjesto x2). Ako jezik ne sadrži konstante i funkcionalna slova (kao, na primjer, jezik teorije skupova) tada su varijable jedina vrsta terma. Nota. U jezicima koji imaju više vrsta objekata, termi se definišu nešto komplikovanije: izgradnja terma f(t1, ..., t k) je dozvoljena, ako vrsta terma ti koincidira sa vrstom objekata i-tog argumenta u f. Naravno, ključni element naših napora je opis "objekata" koji treba da budu tvrdnje, na primjer, ((x+y) = (y+x)). U jezicima prvog reda, tvrdnje su formule (ponekad - rečenice). Atomična formula (ili: elementarna formula, ili: atomi) se definiše na sljedeći način: (a) Termi su elementarne formule; i (b) Ako je P k-argumentno predikatsko slovo, a t 1, ..., tk termi, tada je niz simbola P(t1, ..., tk) elementarna formula. (c) Drugih elemenarnih formula osim onih koje se dobijaju konačnom primjenom pravila (a) i (b) ove definicije, nema. Za slovo jednakosti "infiks" notacija se uobičajeno koristi: ako su t1, t2 termi, tada je (t1 = t2) elementarna formula. Nota. U jezicima prvog reda, koji sadrže objekate više vrsta, elementarna formula se definiše nešto komplikovanije: izgradnja P(t1, ..., t k) je dozvoljena ako vrsta terma ti koincidira sa vrstom objekata i-tog argumenta u P. Sažetak o jezicima aritmetike prvog reda: (a) Konstante 0 i 1, i sve varijable su termi. (b) Ako su t1, t2 termi, tada su (t 1+t2) i (t1t2) su termi. (c) Atomična formula se izgradjuje sa (t1 = t2), gdje su t1 i t2 termi. U ovim jezicima, čak samo korišćenje dozvoljenog predikatskog slova "=" atomarne formule mogu izraziti znatan broj stvari: (1) x+0 = x, x+y = y+x, x+(y+z) = (x+y)+z, (2) x0 = 0, x1 = x, xy = yx, x(yz)) = ((xy)z, 7
Daniel A. Romano: Uvod u matematičku logiku – Prvi dio
(3) (x+y)z = (xz)+(yz). Vježba 1.2.1. Kao sljedeći korak, “prevedimo” sljedeće izjave u jezik prvog reda: 22 = 4, 22 = 5, (x+y)2 = x 2+2xy+y2. Da bi napisali složenije izjave, treba da izgradimo složenije formule, izgradjene od atomarnih formula korišćenjem fiksiranog skupa logičkih veza i kvantifikatora. Na primjer, najčešće koristimo sljedeće oznake: (a) (implikacija, B C znači “ ako je B, tada je C ”, ili “B implicira C ”); (b) (konjukcija, BC znači "B i C"). (c) (disjuncija, BC znači "B, ili C, ili oboje", tj. riječ je o tzv. inkluzivnoj, ili ne-ekskluzivnoj disjunkciji). (d) (negacija, B znači "neB"). (e) (univerzalni kvantifikator, (x)B znači "za sve x, B"). (f) (egzistencijalni kvantifikator, (x)B znači "postoji x takvo da je B"). Široko korišćena relacija ekvivalencije može se derivirati na sljedeći način: B C - je oznaka za (B C) (C B). Govori se da je B ekvivalentno C, ili B je ako i samo je C, ili B je potreban i dovoljan uslova za C. Tzv. ekskluzivnu disjunkciju mozemo definisati na sljedeći način : B ex C je skraćenica za (B C). Sada možemo definisati pojam formule, u našem jeziku, na slijedeći način: (a) Elementarne formule su formule; (b) Ako su B i C formule, tada su nizovi simbola (B C), (B C) (BC), (BC), i (B), takodje, formule (B i C zovemo podformulama ); (c) Ako je B formula, a x varijabla, tada su nizovi simbola (x)B i (x)B - takodje formule (B se naziva podformula); (d) Drugih formula, osim onih koje se dobijaju konacnom primjenom pravila (a)-(c) ove definicije, nema. Neki jednostavniji primjeri složenih formula, u formalnoj aritmetici prvog reda, su: (a) (u)(x = (u+u)) "x je paran broj" ; (b) (u)((x+u)+1) = y) "x je manje od y", ili x < y ; (c) (u)(x = (yu)) "x je dijeljivo sa y”; (d) ((1< x)((y)(z)(((y < x)(z < x))(x = (yz)))))) "x je prost broj"; (e) (w)(x)((w < x)(x je prost broj)) "Postoji beskonačno mnogo prostih brojeva” (jedna od prvih matematičkih teorema); (f) (x)(y)(0 < y (z)(u)((u < y)(x = yz + u))) Šta ovo znači? Naravno, u četvrtoj formuli trebalo bi da zamjenimo naše pseudo-formule 1< x, y < x, z < x formulama (u)(((1+u)+1) = x), (u)(((y+u)+1) = x) i (u)(((z+u)+1) = x), respektivno. Vježba 1.2.2. Kao sljedeći korak “prevedimo” u jezik formalne artimetike sljedeće izjave: (1) "x i y nemaju zajedničkih djelilaca" (napomena: 1 nije djelilac!); (2) "x i y su prosti blizanci" (primjeri prostih blizanaca: 3,5; 5,7; 11,13; 17,19;...); (3) "Postoji beskonačno mnogo parova prostih blizanaca" (poznata tvrdnja: ‘Twin Prime Conjecture’); (4) "x je stepen od 2"; (5) "Svaki pozitivan cijeli broj, veći ili jednak od 4, može se prikazati kao suma dva prosta broja” (poznata ‘Goldbach Conjecture’); (6) " 2 nije racionalan broj".
8
Daniel A. Romano: Uvod u matematičku logiku – Prvi dio
Nota. U jezicima prvog reda, koji imaju više vrsta objekata, “značenje” kvantifikatora zavisi od vrste varijabli koje se koriste. Na primjer, (x) znaci “za sve vrijednosti varijable x u domeni vrste od x” Izostavljanje zagrada Naše formalne definicije terma i formula izražavaju sa sa mnogo zagrada. Ponovimo, na primjer, našu formulu koja izražava izjavu "x je prost broj": ((1
View more...
Comments