Iskazna logika October 26, 2011 1 Počeci logike i matematičke logike Prvi narod u istoriji koji se bavio problemima ispravnog zaključivanja bili su Stari Grci. Zahvaljujući svom društvenom ured enju, koje je ohrabrivalo slobodne ljude da raspravljaju i dokazuju da su u pravu, oni su postavili temelje logike, pre svega kao dela filozofije. U tom smislu, Grčki filozofinaučnici se mogu smatrati za začetnike logike kao nauke - to su prve svega Tales, Pitagora, Parmenid, Zenon, Protagora, Sokrat, Platon i Aristotel. Jedna posebna grupa filozofa, tzv. sofisti, bavila se podučavanjem veštine raspravljanja, koja je Starim Grcima bila korisna prilikom učešća u upravljanju gradom-polisom, kao i u ličnim sporovima, u kojima su, pred nekom vrstom suda, svoja prava morali sami braniti. Oni, koji su bili veštiji u baratanju sa rečima i zakonima pravilnog zaključivanja, imali su svakako prednost nad onima koji te veštine nisu imali. Sofisti su takod e postali poznati po svojim iščašenim pričama, tzv. sofizmima, u kojima se polazeći od prividno istinitih pretpostavki, po pravilima logičkog zaključivanja, stiže do apsurdnih zaključaka. Aristotel je, verovatno motivisan izmed u ostalog i takvim sofizmima, sakupio i katalogizirao sve tada poznate šeme ispravnog, logičkog zaključivavnja u svom delu Organon. Aristotelova logika, poznata i pod nazivom Aristotelova teorija silogizama, činila je skoro dve hiljada godina obavezan deo svakog ozbiljnog obrazovanja. Prvi značajniji pomak u logici kao nauci, posle stotina i stotina godina mračnog srednjeg veka, možemo otkriti u delima naučnika-filozofa, pre svega kod Dekarta i Leibniza. Dekart je zastupao stanovište, da se matematički način razmišljanja mora primenjivati i u ostalim naukama, ako želimo da 1
2 dod emo do pravih istina. Pri tome, ne treba verovati nikakvim autoritetima, nego se jedino treba oslanjati na svoj sopstveni razum i moć logičkog zaključivanja. Leibniz je imao još ambiciozniji projekat: želelo je da stvori jedan univerzalni formalni račun, Characteristica Universalis, nalik na matematiku, u kome bi svi objekti, pojmovi i relacije imale svoje oznake, i u kome bi sve istine mogle biti izražene, a razni sporovi med u filozofima, naučnicima ili političarima mogli biti razrešeni prostim računom. Zbog tih svojih ideja, Leibniz se ponekad smatra za pra-oca matematičke logike. Zvanično, prava matematička logika stiže sa radovima Georgea Boolea, u 19. veku. On je u svojoj teoriji (tzv. račun klasa) razvio dve ideje: prvo, da prilikom rada sa iskazima, treba koristiti oznake, i drugo, da zakoni mišljenja imaju zapanjujuće mnogo sličnosti sa zakonima aritmetike. Korišćenjem tri fundamentalne operacije med u klasama, koje mi danas zovemo unija, presek, komplement, on je zapisao i dokazao osnovne zakone iskaznog računa - danas su ti identiteti poznati pod nazivom aksiome Booleove algebre. Mi ćemo početi izučavanje matematičke logike upravo Booleovim tragom - ispitujući prvo zakone ispravnog mišljenja u logici iskaza. 2 Logika iskaza Pre nego što krenemo da izgrad ujemo iskaznu logiku (kao formalnu, matematičku teoriju), podsetimo se osnovnih pojmova logike iskaza (neformalne teorije koja predstavlja najjednostavniji deo logike). Osnovni pojmovi logike iskaza su: iskaz, istinitosna vrednost iskaza, logički veznici. Intuitivno, iskaz je rečenica koja je ima tačno jednu jednu istinitosnu vredost: tačno ili netačno. Iskaze ćemo obeležavati slovima, recimo p, q, r,.... Umesto iskaz koji je obeležen slovom p, mi ćemo kraće reći iskaz p. Ako iskaz p ima istinitosnu vrednost tačan, onda kažemo i da je iskaz p tačan (i analogno za istinitosnu vrednost netačan ). Logički veznici služe da od polaznih iskaza dobijemo složenije iskaze. Logički veznici koje ćemo ovde razmatrati su: i, ili, ako...onda, ako i samo ako (binarni veznici), i nije (unarni veznik): konjunkcija iskaza p i q je iskaz p i q, disjunkcija iskaza p i q je iskaz : p ili q,
3 implikacija iskaza p i q je iskaz : ako p onda q, ekvivalencija iskaza p i q je iskaz : p ako i samo ako q, negacija iskaza p je iskaz : nije p. Istinitosna vrednost složenog iskaza zavisi od istinitosnih vrednosti iskaza od kojih se taj iskaz sastoji, i to na sledeći način: iskaz p i q je tačan ako i samo ako su i p i q tačni, iskaz p ili q je netačan ako i samo ako su i p i q netačni, iskaz ako p onda q je netačan ako i samo ako je p tačan a q netačan, iskaz p ako i samo ako q je tačan ako i samo ako iskazi p i q imaju istu istinitosnu vrednost, iskaz nije p je tačan ako i samo ako je iskaz p netačan. Osnovni pojam koji želimo formalizovati je pojam logičke posledice: Neka je Σ neki skup iskaza. Kažemo da je iskaz p logička posledica od Σ ako je iskaz p nužno tačan svaki put kada su svi iskazi iz skupa Σ tačni. U tom slučaju takod e kažemo da je zaključivanje iz Σ sledi p (logički) ispravno. Primer 1 Posmatrajmo sledeće zaključivanje: Ako poplava uništi vašu kuću ili ako ona izgori u požaru, osiguravajuće društvo će vam platiti. Prema tome, ako vam osiguravajuće društvo nije platilo, onda vam poplava nije uništila kuću i ona nije izgorela u požaru. Ovo zaključivanje je ispravno, jer bez obzira na tačnost iskaza koji su navedeni, zaključak će biti tačan, pod uslovom da je pretpostavka tačna. Primer 2 Posmatrajmo sledeće zaključivanje: Ako je neko talentovan i vredan, postaće slavan. Svi slavni ljudi su bogati. Ja nisam bogat. Dakle, ja nisam talentovan i nisam vredan. Ovo zaključivanje nije ispravno, jer može da se desi da samo recimo nisam vredan, a jesam talentovan, pa da su sve pretpostavke tačne, a zaključak nije tačan.
4 3 Sintaksa iskazne logike Iskazna logika nastaje formalizacijom ( matematizacijom ) logike iskaza. Prvo ćemo definisati jezik iskazne logike. U opštem slučaju, azbuka (ili alfabet) je skup simbola - znakova koji su nedeljivi. Ako je A neka azbuka, svaki konačan niz simbola iz A zovemo reč nad A. Svaki podskup skupa svih reči nad A jeste jezik nad A. Dakle, da bismo definisali jezik iskazne logike, potrebno je zadati odgovarajuću azbuku, i izdvojiti skup onih reči nad tom azbukom, koje ćemo smatrati da su dobro formirani izrazi (tzv. iskazne formule). Definicija 1 Standardna azbuka iskazne logike se sastoji od sledećih simbola: prebrojiv skup iskaznih slova S, simboli logičkih operacija:,,,,, pomoćni znaci: (, ). Standardnu azbuku iskazne logike ćemo obeležavati sa L, i u daljem tekstu, ako drugačije ne kažemo, smatraćemo da je S = {p 1, p 2,..., p n,... }. Definicija 2 Skup iskaznih formula je najmanji skup reči nad azbukom L koji zadovoljava sledeće uslove: 1. Sva iskazna slova su iskazne formule; 2. Ako su A i B iskazne formule, onda su to i sledeći izrazi: (A B), (A B), (A B), (A B), ( A) Ovako definisan skup svih iskaznih formula zovemo i standardan skup iskaznih formula i obeležavamo sa F orm. Umesto ovako definisanih iskaznih formula, ponekad je zgodno iskazne formule definisati na drugi način, korišćenjem tzv. poljske (prefiksne) notacije. U toj notaciji simboli logičkih operacija se pišu ispred (a ne izmed u) iskaznih
5 slova na koje utiču, pa je na taj način izbegnuto korišćenje zagrada. No, iako takav način zapisivanja iskaznih formula ponekad ima svoje prednosti, većini ljudi je mnogo lakše čitati i razumeti iskazne formule opisane Definicijom 2. Uobičajeno je da se prilikom rada u iskaznoj logici pridržavamo sledećih dogovora: radi jednostavnosti, možemo brisati spoljne zagrade kod formula; da bismo koristili što manje zagrada, dogovor je da je prioritet logičkih operacija sledeći:, zatim,, i na kraju, ; umesto iskazna formula govorićemo samo formula. Kako su formule reči (izrazi konačne dužine), u svakoj formuli učestvuje samo konačno mnogo iskaznih slova. Po dogovoru, zapis A = A(p 1, p 2,..., p n ) će značiti da su sva iskazna slova formule A u skupu {p 1, p 2,..., p n }. Vrlo često ćemo prilikom dokazivanja raznih osobina formula koristiti tzv. dokaz po složenosti iskaznih formula. Naime, ako treba dokazati da neka osobina O važi za sve iskazne formule, dovoljno je dokazati da tu osobinu imaju sva iskazna slova (baza indukcije), i da iz pretpostavne da formule A i B imaju osobinu O sledi da i formule A B, A B, A B, A B, A imaju tu osobinu (indukcijski korak). Drugim rečima, važi sledeća teorema: Teorema 1 Neka je O neki podskup skupa svih iskaznih formula F orm tako da važe sledeći uslovi: S O, Ako formule A i B pripadaju skupu O, tada i formule pripadaju skupu O. Tada je O = F orm. A B, A B, A B, A B, A
6 Dokaz. Primetimo da skup formula O zadovoljava oba uslova iz Definicije 2. Kako je F orm najmanji skup reči koji zadovoljava ta dva uslova, sledi da je F orm O, iz čega sledi O = F orm. 4 Interpretacije Za definiciju semantike Iskazne logike koristićemo jednu veoma jednostavnu, dvoelementnu algebru, čije elemente možemo označiti na primer sa 0 i 1, ili T i F, ili kao što ćemo mi, sa i. Ta algebra će imati četiri binarne operacije i jednu unarnu, koje bismo trebali, u principu, označiti nekim simbolima koji se razlikuju od simbola logičkih operacija. No, mi ćemo ih označiti istim simbolima (jer će, na kraju krajeva, simbol logičke operacije da se interpretira kao njegov odgovarajući par iz kolekcije operacija iskazne algebre), s tim da ćemo imati u vidu da se radi o različitim pojmovima. Definicija 3 Iskazna algebra je algebra I = {, },,,,,, gde su operacije,,, binarne, a unarna operacija, definisane svojim Cayleyevim tablicama na sledeći način: p p Definicija 4 Valuacija u iskaznoj logici je svako preslikavanje τ : S {, }. Ako je p S, za τ(p) kažemo da je vrednost tog iskaznog slova u valuaciji τ. Interpretacija iskaznih formula za datu valuaciju τ jeste preslikavanje v τ : F orm {, } koje je definisano na sledeći način: ako su A i B iskazne formule, onda ako je p S iskazno slovo, onda v τ (p) = τ(p), v τ (A B) = v τ (A) v τ (B), v τ (A B) = v τ (A) v τ (B), v τ (A B) = v τ (A) v τ (B),
7 v τ (A B) = v τ (A) v τ (B), v τ ( A) = v τ (A). Za v τ (A) kažemo da je vrednost formule u valuaciji τ (ili u interpretaciji v τ ). Ukoliko je v τ (A) =, kažemo da je formula A u toj valuaciji (interpretaciji) tačna, a ako je v τ (A) =, da je netačna. Nije teško uvideti da za datu valuaciju τ postoji jedna i samo jedna interpretacija (tj. jedna funkcija koja proširuje preslikavanje τ sa skupa S na ceo skup F orm). Teorema 2 Vrednost iskazne formule A u nekoj valuaciji zavisi samo od vrednosti onih iskaznih slova koja figurišu u formuli A. Dokaz. Neka je A = A(p 1, p 2,..., p n ) neka iskazna formula, i neka su τ i τ dve valuacije, takve da imaju istu vrednost za sva iskazna slova koja figurišu u A. Tada se indukcijom po složenosti iskazne formule A lako dokazuje da je v τ (A) = v τ (A). Definicija 5 Istinitosna funkcija je svaka funkcija f : {, } n {, }, gde n 1. Ako je A = A(p 1, p 2,..., p n ) neka formula, onda istinitosna funkcija indukovana sa A jeste funkcija f A : {, } n {, } takva da za sve a 1, a 2,..., a n {, } važi f A (a 1, a 2,..., a n ) = v τ (A), gde je τ valuacija u kojoj je τ(p i ) = a i, za sve i {1, 2,..., n}. Prema tome, imajući u vidu da vrednost formule ne zavisi od vrednosti onih iskaznih slova koje ne učestvuju u formuli, istinitosna funkcija indukovana datom formulom pokazuje koje vrednosti ta formula može imati za sve moguće valuacije. Po dogovoru, umesto da uvodimo novu oznaku (f A ) za tako indukovanu istinitosnu funkciju, umesto f A (a 1,..., a n ) možemo pisati samo A(a 1,..., a n ). Indukovanu istinitosnu funkciju najpreglednije je predstaviti tzv. istinitosnom tablicom, u kojoj ćemo sistematično ispisati sve moguće kombinacije vrednosti za ona iskazna slova, koja učestvuju u formuli. Ako imamo n različitih iskaznih slova, istinitosna tablica će imati 2 n vrsta.
8 Primer 3 Neka je A = (p 2 p 5 ) p 3. Tada, radi jednostavnosti, označimo iskazna slova p 2, p 5 i p 3 redom slovima p, q, r. Tako, formulu A zapisujemo kao A = (p q) r. Vrednost formule A zavisi samo od vrednosti iskaznih slova p, q, r, pa će odgovarajuća istinitosna tablica izgledati ovako: p q r p q (p q) r Definicija 6 Kažemo da je iskazna formula A zadovoljiva ako postoji valuacija u kojoj je vrednost te formule tačna, oboriva ako postoji valuacija u kojoj je vrednost te formule netačna, tautologija ili valjana formula je tačna za sve valuacije, kontradikcija ako je njena vrednost netačna za sve valuacije. Problem da li je data iskazna formula zadovoljiva označava se sa SAT (Satisfiability Problem). Ispostavilo se da je problem SAT veoma značajan u teoriji složenosti algoritama. Prvo, još uvek nije pronad en algoritam koji bi taj problem rešio u polinomnom vremenu (metod istinitosnih tablica ima eksponencijalnu složenost). Važi i više od toga: SAT problem spada u klasu tzv. NP-kompletnih problema, što intuitivno znači da ako se za taj problem pronad e algoritam polinomne složenosti, tada su klase P i NP jednake, tj. svaki problem složenosti NP se može rešiti u polinomnom vremenu. 5 Tautologije, logička ekvivalencija Tautologije možemo shvatiti kao zakone mišljenja. Neke od njih koristimo (nesvesno) i u svakodnevnom rezonovanju. Naravno, matematičari ih koriste
9 češće od ostalih, jer je priroda matematičkih dokaza takva da zahtevaju čistu logičku strukturu. U sledećoj teoremi smo naveli prvih 16 najčešće korišćenih tautologija, od kojih su poneke poznate i po svojim latinskim nazivima: Teorema 3 Sledeće formule su tautologije: 1. p p Zakon dvojne negacije 2. p p Tertium non datur 3. (p p) Zakon neprotivrečnosti 4. (p (p q)) q Modus Ponens 5. ((p q) q) p Modus Tollens 6. (p q) ( q p) Kontrapozicija 7. (p q) p q De Morganov zakon za 8. (p q) p q De Morganov zakon za 9. ((p q) (q r)) (p r) Zakon silogizma 10. ( p (q q)) p Reductio ad absurdum 11. p (p q) Ex falso quolibet 12. p (q p) Verum ex quolibet 13. ((p r) (q r)) ((p q) r) Zakon nabrajanja 14. (p q) ((q r) (p r)) Tranzitivnost za 15. ((p q) (q r)) (p r) Tranzitivnost za 16. ((p q) p) p Pierceov zakon Dokaz. Direktnom proverom. Neka je A = A = A(p 1, p 2,..., p n ), i neka su B 1, B 2,..., B n neke formule. Sa A(B 1, B 2,..., B n ) označimo formulu koja nastaje simultanom zamenom formule B i umesto iskaznog slova p i (i {1, 2,..., n}). Teorema 4 Neka je A = A = A(p 1, p 2,..., p n ) neka tautologija. Tada za proizvoljne formule B 1, B 2,..., B n važi da je A(B 1, B 2,..., B n ) takod e tautologija. Dokaz. Lako je uvideti da je vrednost formule A(B 1, B 2,..., B n ) za svaku valuaciju uvek.
10 Definicija 7 Za dve formule A i B kažemo da su logički ekvivalentne ako je formula A B tautologija. U tom slučaju pišemo A B. Važno je primetiti sledeće: A B je formula, koja može imati različite istinitosne vrednosti za različite valuacije, dok izraz A B znači da formule A i B imaju istu vrednost za svaku valuaciju. Naravno, na skupu svih iskaznih formula F orm relacija je relacija ekvivalencije, tj. ona je refleksivna, simetrična i tranzitivna: za sve formule A, B, C važi A A, ako A B onda B A, ako A B i B C onda A C. U sledećoj teoremi smo naveli najpoznatije logički ekvivalencije. Teorema 5 Neka su A, B i C proizvoljne formule. Tada važi: 1. A A A Idempotentnost konjunkcije 2. A A A Idempotentnost disjunkcije 3. A B B A Komutativnost konjunkcije 4. A B B A Komutativnost disjunkcije 5. A B B A Komutativnost ekvivalencije 6. (A B) C A (B C) Asocijativnost konjunkcije 7. (A B) C A (B C) Asocijativnost disjunkcije 8. (A B) C A (B C) Asocijativnost ekvivalencije 9. A (A B) A Apsorpcija prema 10. A (A B) A Apsorpcija prema 11. A (B C) (A B) (A C) Distributivnost prema 12. A (B C) (A B) (A C) Distributivnost prema U sledećoj teoremi su prikazane veze izmed u logičkih operacija, koje ćemo u daljem vrlo često koristiti: Teorema 6 Za proizvoljne iskazne formule A i B važi: A B A B A B (A B) A B A B A B (A B) A B ( A B) A B ( A B) A B (A B) (B A) A B ( A B) ( B A)
11 Dokaz. Direktnom proverom. Jedan od veoma često korišćenih tehnika u logici iskaza je tzv. ekvivalencijska transformacija formula. Neformalno rečeno, to je postupak kada se od jedne formule konstruiše lanac ekvivalentnih formula, tako da se u svakom koraku iskoristi Teorema 4 ili se neka potformula zameni njoj ekvivalentnom formulom. Definicija 8 Neka je F neka formula. Skup potformula formule F definišemo kao najmanji skup formula koji zadovoljava sledeća dva uslova: svaka formula je sama sebi potformula; ako je F jednaka nekoj od formula A B, A B, A B, A B, onda je svaka od podformula formula A i svaka potformula formule B ujedno i potformula od F ; ako je F = A, onda je svaka potformula formule A ujedno i potformula od F. Rezultat zamene svih pojavljivanja potformule C u formuli A iskaznom formulom D obeležavamo sa A[C D] (ovaj pojam se može definisati i formalnije, indukcijom po složenosti formula). Sada možemo dokazati sledeću teoremu: Teorema 7 Neka je A neka formula i C njena potformula. Ako je D neka formula tako da je C D tada je A A[C D]. Prilikom logičkih transformacija formula pokazalo se korisnim da uvedemo posebnu oznaku za dve logičke konstante - jednu koja će uvek biti interpretirana kao, i druga koja će uvek biti interpretirana sa. Kada bismo se trudili da po svaku cenu izbegnemo moguću konfuziju, te dve logičke konstante bismo trebali označiti potpuno novim simbolima, recimo kao i, ili true i false. No, mi ćemo ih, radi jednostavnosti, označiti kao i njihove interpretacije, tj. kao i. Definicija 9 Proširena azbuka iskazne logike L se dobija dodavanjem dva simbola logičkih konstanti i standardnoj azbuci L. Skup iskaznih formula F orm je najmanji skup reči nad azbukom L tako da važi:
12 1. Sva iskazna slova i simboli logičkih konstanti i su iskazne formule; 2. Ako su A i B iskazne formule, onda su to i sledeći izrazi: (A B), (A B), (A B), (A B), ( A) Valuacija τ odnosno odgovarajuća interpretacija v τ iskaznih formula na proširenoj azbuci se definiše na isti način kao na standardnoj azbuci, s tim da za svaku valuaciju τ važi da je v τ ( ) = i v τ ( ) =. Ovako dobijen jezik nazivamo prošireni jezik iskazne logike. Na proširenom jeziku iskazne logike možemo navesti još nekoliko važnih logičkih ekvivalencija. Teorema 8 Neka su A, B, C iskazne formule na proširenom jeziku iskazne logike. Tada važi: A A A A A A A A A A A A A A A A A A A A A A A A Dokaz. Direktnom proverom. U daljem tekstu, ako ne kažemo drugačije, radićemo na proširenom jeziku iskazne logike.