RAC UNALNIŠ TVO Ta r s k i j e v svet ali zabavno V " I " I v " učenje logike s pomočjo računalniškega programa Smiljana Gärtner -> Filozofija v Preseku!?! Kaj pa imajo skupnega analitična filozofija, matematika, slovenščina, angleščina, psihologija, kibernetika, umetna inteligenca in računalništvo? Tarskijev svet - računalniški program, ki na drugačen, zabaven in kratko-časen način razjasni logiko prvega reda. Ta program lahko na svoj način pomaga pri razumevanju in učenju logike prvega reda, pri izboljšanju razumevanja maternega in tujega jezika pa tudi pri razumevanju vseh ostalih znanosti. Ce ste se kdaj spraševali, kaj imajo skupnega analitična filozofija in matematika, je odgovor - logiko. Od antičnih Grkov pa vse do Gottloba Fregeja1 je bila logika vezni člen med analitičnimi filozofi in matematiki. Takrat so bili filozofi matematiki in matematiki analitični filozofi, če naštejemo zgolj nekatere: Pitagora, Zenon, Sokrat, Aristotel, G. W. Leibniz, I. Kant, I. Newton, B. Russell, C. S. Peirče, W. V. O. Quine, R. Desčartes, J. Lukasiewičz, B. Pasčal, H. Putnam, A. Tarski. Logika v splošnem pomenu je prav tako vezni člen ostalih znanosti, saj vse temeljijo na pravilnem sklepanju in argumentačiji, t. j. na določenih standardih račionalnosti. Cetudi se materija v različnih znanostih razlikuje, se metoda znanosti ne. 1Gottlob Frege (1848-1925): 1879 Pojmovni zapis; 1884 Die Grundlagen der Aritmetik: eine logisch-mathematische Untersuchung über den Begriff der Zahl; 1892 (3)/1903: Osnove aritmetike I in Osnove aritmetike II. Danes seveda lahko govorimo tudi o filozofski logiki in matematični logiki kot o dveh različnih vedah -prva je zavezana naravnemu jeziku in naravnemu jeziku misli, druga pa lahko preide v popolno abstrakcijo. Sprejemanje osnovnih načel logike oz. logika v splošnem pa je skupni element, ne zgolj matematike in analitične filozofije, temveč vseh ostalih znanosti, ki jo priznavajo kot osnovno metodo dela. Kaj imata skupnega logika in računalništvo? Ena izmed skupnih točk so računalniški programi, ki pomagajo razumeti in razjasniti logična pravila izpe-ljevanja, presojo pravilnosti ali nepravilnosti sklepanja. Pomagajo razumeti, kakšna je povezava med jezikom, ki ga uporabljamo ljudje pri sporazumevanju (t. i. naravni jezik) in jezikom logike. Glede na pravkar prebrano in glede na to, da je spoznavanje uporabe računalniških programov za poučevanje in učenje logike eden izmed dveh operativnih čiljev v učnem načrtu izbirnega predmeta Logika (za 9. razred), bomo v tem članku predstavili računalniški program, ki nosi ime že prej omenjenega analitičnega filozofa in matematika Alfreda Tarskija.2 Računalniški program lahko razjasni iz-javni in predikatni račun oz. lahko pomaga pri razumevanju in učenju logike jezika prvega reda. Preden pa predstavimo program, še na kratko o tem, kaj je logika prvega reda. 2Tarskijev svet ni računalniški program, ki bi ga napisal A. Tarski (1902-1983), temveč je poimenovan po tem poljskem logiku, ki je med drugim tudi definiral (meta)logični in (meta)matematični pojem, pojem deduktivnega sistema. Tarskijev svet (izvorni program) sta napisala Rick Wong in Rolf van Wi-denfelt pod vodstvom Steva Lovinga. Kasneje je doživel veliko nadgradenj, prvo večjo sta pripravila J. Barwise in J. Etchemendy leta 1992. 20 PRESEK 41 (2013/2014) 6 RAC UNALNIŠ TVO Logika prvega reda Vzemimo naslednje izjave in jih prevedimo iz naravnega jezika v jezik logike oziroma jih simbolizi-rajmo: (i) Sneži. (ii) Ce sneži, grem na Pohorje. (iii) Vsi ljudje so smrtni. Sokrat je clovek. Torej, Sokrat je smrten. (iv) Nekateri sošolci niso športniki. (v) Obstaja vsaj ena lastnost, ki jo ima Anej in vsaj ena, ki je nima. (vi) Anej in Rok imata popolnoma enake lastnosti. 1. Prvi in drugi primer simboliziramo na naslednji nacin: (i) S (ii) (S ^ P) V obeh primerih govorimo o izjavnem računu oz. o sistemu propozicionalne ali stavcne logike. S stavcnim konstantam (S, P), z logicnimi konstantami (vezniki oz. izjavnimi povezavami (npr. in (a); ce, potem negacija (-)) in z oklepaji tvorimo sistem izjavne logike, pri ce-mer upoštevamo sintakticna in semanticna pravila, t. j. pripis resnicnostne vrednosti. Slednje za primer (i) in (ii) pomeni: (i) S (ii) S P (S ^ P) 1 1 1 1 0 0 0 1 1 0 0 1 ali drugače, iz tabele (ii) je razvidno, da je izjava >Ce sneži, grem na Pohorje.< neresnicna le v enem primeru (razvidno iz vrstice dve), ce je S resnicen (1) in P neresnicen (0). (iii) in (iv) primer lahko simboliziramo v sistemu propozicionalne logike, in sicer: (iii) (C ^ S), C ... S (iv) (S ^ - Š) Simbolizacija tretjega primera je pravilna, saj se simbolizacija (C S) v logišcini, kot jo imenuje Šuster (2000), prebere: »Ce si clovek, potem si smrten.« ali »Vsi ljudje so smrtni.«. To je ekvivalentno našemo izvornemu primeru. Poglejmo si sedaj cetrti primer. Le-tega bi v lo-gišcini prebrali »Ce si sošolec, potem nisi športnik.« ali »Vsi sošolci niso športniki.«, kar ni ekvivalentno našemu izvornemu primeru (»Nekateri sošolci niso športniki«). Iz tega izpeljemo, da je naša simbolizacija nepravilna in da je potrebna vpeljava dodatnih izraznih oblik, ki bi nam omogocale izražati notranjo strukturo izjav. To imenujemo predikatni račun ali predi-katna logika, saj vpeljemo oblike, ki nam omo-gocajo izražati predikate oz. odnose med n-rec-mi (sneži, grem na hrib, je športnik, je vecji od) ter locevanje med individualnimi predikati in subjekti. Slednje so lahko individualne konstante (imenske) (a, b, c) in individualne spremenljivke (x, y, z). Tako sta simbolizaciji za tretji in cetrti primer, ko vpeljemo univerzalni kvantifikator (V) za >vsi< in eksistencialni kvan-tifikator (3) za >nekateri< ter dodamo pravilom izjavnega racuna pravila predikatnega racuna spremeljivko: x; konstanto: 5; predikatne crke: C, S, Š, takšna: (iii) (Vx)(C(x) ^ S(x)), Cs ... Ss (iv) (3x)(S(x) a * Š(x)) V logišcini tako preberemo tretji primer: »Za vsak x velja, ce je x clovek, potem je x smrten. Sokrat je clovek, torej je Sokrat smrten.« in cetrti primer »Obstaja vsaj en takšen x, ki je sošolec in ni športnik«, kar je ekvivalentno naši izvorni propoziciji v naravnem jeziku nareko-vajiNekateri sošolci niso športniki.. Ce bi še želeli s pomocjo pravil naravne dedukcije dokazati sklep, bi v obeh primerih (v izjavnem in predikatnem dokazu) to naredili na naslednji nacin: 1 0 21 PRESEK 41 (2013/2014) 6 RAC UNALNIŠ TVO -> (1) C = S predpostavka (2) C predpostavka (3) S 1, 2 MP (pravilo Modus ponens) (1) (Vx)(Č(x) = S(x)) predpostavka (2) Cs predpostavka (3) (Cs = Ss) 1, OUK (pravilo opustitve) (4) Ss 3, 2, MP (univ. kvan) Glede na to, da pravkar opisani sistem predika-tne logike vključuje zgolj tiste variable, ki se vežejo na individuume (a vsebuje predikate, spremenljivke, kvantifikatorja in konstante), imenujemo to vrsto logike logika prvega reda. Kadar pa se kvantifikatorja in spremenljivke ne nanašata zgolj na individuume, temveč tudi na same predikate, lastnosti, ali ko želimo izpostaviti določene (različne) lastnosti ali celo lastnosti lastnosti oz. imajo predikati za objekt ponovno predikat, pa govorimo o logiki višjega reda, kar prikazujeta zadnja dva primera. 2. Ce primer pet in šest prevedemo iz naravnega jezika v jezik logike višjega reda, dobimo: (v) EILLa A 3L ^La (vi) VL(La Lr) V logiščini bi šesti primer zvenel »Za vsako lastnost velja, če in samo če jo ima Anej, jo ima Rok.« Takšna simbolizačija pa sedaj ne vključuje zgolj individuume, temveč tudi lastnosti (L) in lastnosti lastnosti. Predstavili smo tri vrste logike, pri čemer nas bo v nadaljevanju zanimala predvsem logika prvega reda. Ta se kot temeljni umetni jezik pojavlja v filozofiji in računalništvu, hkrati pa pomeni osnovo za razumevanje strukture naravnega jezika ter (ne)logičnosti le-tega. V nadaljevanju predstavljen program Tarskijev svet je program, ki nam pomaga razumeti pomen iz-javnega in predikatnega računa oz. razumeti logiko prvega reda. Tarskijev svet3 Program Tarskijev svet omogoča, da se najprej spoznamo s samim delovanjem programa, tako da nam ponudi že izdelane svetove (File > Open > T > W > Exercise Files) z že ponujenimi stavki. Tako se lahko lotimo Aristotelovih stavkov (ang. Aristotle's Sentences), Bolzanovega sveta, Peanovih stavkov in sveta, Fregejevih in Carnapovih stavkov, Boole-ovih stavkov in sveta pa tudi Wittgensteinovega sveta in Wittgensteinovih stavkov. V nadaljevanju članka si bomo najprej ogledali predikatni račun brez kvanti-fikatorjev, nato pa predikatni račun s kvantifikatorji. A. Predikatni račun (brez kvantifikatorjev) v Tarski-jevem svetu Ko odpremo datoteko Wittgensteinovi stavki in datoteko Wittgensteinov svet, se nam odpre naslednja slika: SLIKA 1. Wittgensteinov svet z Wittgensteinovimi stavki Geometrijska telesa na plošči so Wittgensteinov svet. Nad svetom je orodna vrstiča z gumbi za spreminjanje ali dodajanje geometrijskih teles (v nadaljevanju objektov): kočke, tetraedra in dodekaedra, 3D. Barker-Plummer, J. Barwise, J. Etčhemendy, Tarski's World: Rewised and Expanded, Stanford: SCLI Publičations (2008). 22 PRESEK 41 (2013/2014) 6 RAČ UN ALN IŠ TVO spreminjanje njihove velikosti (majhen, srednji, velik: o, o, O) in označevanje z imenom (a, b, c itd.). Pod svetom so skrajno levo vezniki (a, v, — itd.), spremenljivke, konstante, kvantifikatorji in oklepaji. Na sredini imamo možnost izbirati med štirimi sklopi, in sicer med geometrijskimi telesi (ang. Bloks), ljubljenčki (ang. Pets), množicami (ang. Sets) in aritmetiko (ang. Arith). Skrajno desno so ukazi preveri (ang. Verify), dodaj, briši (ang. Add, Delete) idr. Pod vsem omenjenim sledijo stavki, ki so v tem primeru že zapisani. Tako imamo zapisano naslednje: SLIKA 2. Primeri Wittgensteinovih stavkov SLIKA 3. Primeri Wittgensteinovih stavkov V logiščini predstavljene stavke na sliki 2 preberemo kot: 12. >Objekt, imenovan b, je za objektom, imenovanim f .< 15. >Objekt, imenovan a, je levo od objekta b.< 17. >Objekt, imenovan a, je desno od objekta b.< Zanima nas, kateri od omenjenih stavkov je resničen (T) in kateri neresničen (F). Imamo dve možnosti, kako to naredimo. Ce želimo preveriti posamični stavek, se postavimo na le-tega in kliknemo Verify (preveri). Ce pa želimo preveriti vse stavke hkrati, kliknemo Verify All (preveri vse). Mi smo preverili vse hkrati in dobili naslednjo sliko: S slike 3 lahko razberemo, da sta 13. in 15. stavek resnična, ostali neresnični, kar se ujema s sliko 1. V naslednjem koraku bomo že ponujeni Wittgen-steinov svet (WW1) spremenili. S kazalnikom gremo na objekt in ga poljubno premikamo. Zamenjali smo položaj objekta a in b, odstranili e in premaknili naprej objekt, imenovan f, ter tako dobili Wittgenstei-nov svet 2 (WW2). Glede na to, da so stavki ostali nespremenjeni, jih lahko ponovno preverimo. Ker smo prej preverili vse hkrati, bomo sedaj preverili zgolj stavke, ki smo jih izbrali, in sicer stavke številka 12,15 in 17, ki smo jih že zgoraj zapisali v logišcini. Rezultat je naslednji: S slike 5 lahko razberemo, da sta 12. in 17. stavek, glede na WW2, resnična (T), 15. pa neresničen (F). Tarskijev svet omogoča uporabo najrazličnejših kombinacij ponujenih datotek. Navedimo nekatere: ■ Odpremo datoteko nekega sveta in stavke z enakim imenom (to smo zgoraj že predstavili: WW1 in Wittgensteinove stavke) ■ Lahko spremenimo izbrani svet (WW2) in obdržimo stavke. ■ Lahko izberemo določen svet in datoteko stavkov z drugačnim imenom (nor. WW1 in Boolove stavke) ter jih preverjamo. ■ Lahko odpremo poljubne stavke, npr. Boolove stavke, in gradimo svet tako, da bodo vsi stavki resnični. Lahko odpremo svet in zapisujemo stavke ter jih nato preverimo. SLIKA 4. WW2 PRESEK 41 (2013/2014) 6 23 RAČ UN ALN IŠ TVO -> SLIKA 5. Preverjeni izbrani Wittgensteinovi stavki Lahko pa tudi preverjamo, Ce razumemo prevajanje stavkov naravnega jezika v jezik logike. Postopek je naslednji: (i) Najprej odpremo novi svet, ki je brez kakršnegakoli objekta ali stavka. (ii) Izberemo si stavke naravnega jezika. (iii) Zapišemo jih v jeziku logike v zavihku za stavke (na sliki 6, >Untitled Sentences<). (iv) Postavimo objekte, tako da ustrezajo zapisanim stavkom. (v) Sedaj lahko preverimo posamične stavke (izberi Verify), vse stavke hkrati (izberi Verify All) ali pa preverjamo stavke preko igre (izberi Game). V nadaljevanju bomo prikazali pravkar opisani postopek na konkretnem primeru. (i) Ustvarimo novi svet (File > New > New World) Svet, ki smo ga odprli, lahko shranimo. Prav tako stavke, ki jih bomo zapisali. Mi smo oboje shranili kot Gajin svet in kot Gajini stavki. (ii) Stavki naravnega jezika, ki jih želimo prevesti, so: 1. Objekt f je desno od objekta a in levo od objekta b. 2. Objekt b je ali med objektoma d in e ali pa je od obeh manjši. 3. Vsaj en izmed objektov a, c in e je kocka. 4. Ce je a tetraeder, potem je pred d-jem. 5. Ce je c majhen in je d dodekaeder, potem ni objekt d niti velik niti majhen. (iii) Spodnja slika prikazuje prevedene stavke naravnega jezika v jezik logike. (iv) Sedaj postavimo objekte tako, da ustrezajo simbolizaciji na sliki 7: Na koncu še preverimo, ali zapis ustreza prikazanemu svetu oz., ali so Gajini stavki ekvivalentni Gajinemu svetu. (v) S slike 9 je razvidno, da so vsi stavki resnični (T). Ce zapisanih stavkov ne želimo takoj preveriti, se lahko tudi igramo. To pomeni, da kliknemo gumb Game (slo. igra), ki nam ponudi igro v obliki kviza. Na vprašanje, ali je stavek št. 1,1.1. >Objekt f je desno od a in levo od b.<, ki smo ga v program zapisali kot >RightOf(f, a) aleftOf(f, b)<, resničen ali napačen, smo odgovorili z »napačen«. Posledica tega je, da imamo na desni strani slike 10 zapisan odgovor na naš odgovor, in sicer: »False« (slo. nepravilno). Hkrati nas vpraša, ce menimo, da je katerikoli del konjunkcije napacen. Ce pritrdimo ter nato izberemo tisti clen konjunkcije, za katerega trdimo, da je napacen, je naš odgovor ponovno nepravilen, zato igro izgubimo. Sedaj smo si pogledali primere izrazov brez kvan-tifikatorjev, v nadaljevanju bomo predstavili še uporabo predikatnih izrazov s kvantifikatorji v programu Tarskijev svet. SLIKA 6. Novi, še neimenovani svet 24 PRESEK 41 (2013/2014) 6 24 RAČ UN ALN IŠ TVO SLIKA 7. Simbolizacija SLIKA 8. Gajin svet SLIKA 9. Preverjanje Gajinih stavkov v Gajinem svetu. SLIKA 10. Igra, s katero preverjamo resničnost Gajinih stavkov v Gajinem svetu B. Predikatni racun (s kvantifikatorji) v Tarskijevem svetu Postopek uporabe predikatnega izraza s kvantifikatorji v programu Tarskijev svet je enak kot postopek uporabe predikatnega izraza brez kvantifikatorjev. Sedaj vpeljemo vse elemente logike prvega reda, t. j. dodamo kvantifikatorje. (i) Najprej smo naredili poljuben svet in ga poimenovali (Gajin svet 2). (ii) V jeziku logike prvega reda smo zapisali stavke, ki ustrezajo naslednjim navodilom: 1. Prvi stavek naj opiše velikost vseh tetrae-drov. 2. Izrazi, da nekateri dodekaedri niso majhni, kot lahko razbereš iz predstavljenega sveta. 3. Izrazi, da so nekatere velike kocke levo od objekta b in za objektom c. 4. Izrazi, da ima vsaka kocka na desni strani tetraeder. 5. Izrazi, da, ce je a dodekaeder, so potem nekateri objekti pred njim. (iii) V tretjem koraku smo stavke zapisali v jeziku logike prvega reda in shranili (Gajini stavki 2). V logišcini bi zapisane stavke prebrali kot: 1. Za vsak x velja, ce je x tetraeder, potem je x majhen. 2. Obstaja vsaj en takšen x, da je x dodekaeder in ni majhen. 3. Obstaja vsaj en takšen x, da je ta x kocka in je x velik in je ta x levo od objekta b in je ta x za objektom c. 4. Obstaja vsaj en x, da je ta x tetraeder in za vsak y velja, ce je y kocka, potem je x desno od y. PRESEK 41 (2013/2014) 6 25 RAC UNALNIŠ TVO —^ 5. Če je a dodekaeder, potem obstaja vsaj en takšen x, ki je pred a-jem. (iv) Preverili smo vrednost Gajinih stavkov 2 v Ga-jinem svetu 2 in ugotovili, da so vsi resnični. Celoten postopek uporabe logike prvega reda oz. predikatnih računov v programu Tarskijev svet, ki smo ga predstavili, je prikazan na sliki 11. SLIKA 11. Predikatni racun v programu Tarskijev svet Zaključek Tarskijev svet je pomemben predvsem za učenje logike prvega reda, saj je velik poudarek najprej na poznavanju izjavnega računa, nato pa sledi prehod na predikatni račun, ki je največkrat za učeče težje razumljiv. Prednost programa je vsekakor v zanimivem, zabavnem, predvsem pa v drugačnem, učenju, pa tudi, kar je morda še pomembneje, v razumevanju in urjenju. Seveda ima program tudi pomanjkljivosti; program je v angleškem jeziku, kar zahteva znanje in dobro razumevanje angleščine. To posledično pomeni prevajanje, najprej iz slovenščine v angleščino, nato v jezik logike prvega reda in logišČčino. Tako lahko prihaja do napak, ki so predvsem poslediča »izgubljenega s prevodom«. Kot vemo, je sprejemanje osnovnih načel logike skupni element ne zgolj matematike in analitične filozofije, temvec tudi vseh ostalih znanosti. Prav tako vemo, da so računalniški programi, kot je Tarskijev svet. tisti, ki pomagajo razumeti in razjasniti logična pravila izpeljevanja, presojo pravilnosti ali nepravilnosti sklepanja, pomagajo tudi razumeti, kakšna je povezava med jezikom, ki ga uporabljamo ljudje pri sporazumevanju (t. i. naravni jezik), in jezikom logike. Zato smo prepričani, da je Tarksijev svet pomembno orodje vsakega učenca in učitelja. Literatura [1] D. Barker-Plummer, J. Barwise in J. Etčhemendy, Tarski's World: Rewised and Expanded, Stanford: SCLI Publičations (2008). [2] D. Šuster, Simbolna logika, Knjižna zbirka Učbeniki, 2, Maribor, Pedagoška fakulteta (2000). _ XXX Križne vsote nU vU NU -> Naloga reševalča je, da izpolni bele kvadratke s števkami od 1 do 9 tako, da bo vsota števk v zaporednih belih kvadratkih po vrstičah in po stolpčih enaka številu, ki je zapisano v sivem kvadratku na začetku vrstiče (stolpča) nad (pod) diagonalo. Pri tem morajo biti vse števke v posamezni vrstiči (stolpču) različne. 14 10 8 9 6 13 16 11 8 10 9 11 12 11 XXX 26 PRESEK 41 (2013/2014) 6