UNIVERZITET U NOVOM SADU FAKULTET TEHNIČKIH NAUKA Trg Dositeja Obradovića 6 21000 Novi Sad, Srbija MAGISTARSKI RAD Formalni računi za intuicionističku logiku Jelena Ivetić MENTOR: Prof. dr Silvia Gilezan Novi Sad, 2007
2
Zahvalnica Pre svega, želim da se zahvalim svom mentoru, Silvii Gilezan. Bez njene inicijative i ukazanog poverenja svega ovog ne bi ni bilo. Silviin mentorski uticaj se prostire mnogo šire od okvira ovog magistarskog rada i matematike uopšte i nadam se da ću imati priliku da još mnogo toga naučim od nje. Takodje sam zahvalna profesorima Jovanki Pantović i Zoranu Petriću na interesovanju koje su pokazali za moj rad, kao i Silvii Likavec i Svetlani Jakšić na korisnim sugestijama i dragocenoj tehničkoj pomoći. Iznad svega, hoću da se zahvalim Marku, Damjanu i Kalini na njihovoj ljubavi, strpljenju i razumevanju. Naci, Dediki, Bisi, Miši i Krinki hvala što su bili tu za mene kad god je trebalo. Bez bezrezervne podrške od strane porodice se ne bih ni usudila da krenem ovim putem. Mojim kolegama sa Instituta za opšte discipline u tehnici, Fakulteta tehničkih nauka u Novom Sadu, hvala na prijateljskoj i kreativnoj atmosferi kakva se retko gde može naći. i
ii
iii UNIVERZITET U NOVOM SADU FAKULTET TEHNIČKIH NAUKA KLJUČNE DOKUMENTACIJSKE INFORMACIJE Tip dokumentacije: Monografski rad TD Tip zapisa: TZ Vrsta rada: VR Autor: AU Mentor/Komentor: MN Naslov rada: NR Jezik publikacije: JP Jezik izvoda: JI Zemlja publikovanja: ZP Uže geografsko područje: UGP Štampa Magistarski rad Jelena Ivetić Prof. dr Silvia Gilezan Formalni računi za intuicionističku logiku Srpski Srpski Srbija Godina: 2007 GO Izdavač: IZ Vojvodina Fakultet tehničkih nauka Mesto i adresa: 21000 Novi Sad, Trg Dositeja Obradovića 6 MA
iv Fizički opis rada: 6/100/35/16/0/0/0 (poglavlja/strana/citata/ tabela/slika/grafika/priloga) FO Naučna oblast: NO Naučna disciplina: ND Predmetna odrednica/ ključne reci: PO/UDK Čuva se: CU Važna napomena: VN Izvod: IA Matematika Matematika u tehnici Matematika, intuicionistička logika, formalni računi, sekventni račun, tipovi sa presekom U biblioteci Fakulteta tehničkih nauka U radu su analizirani formalni računi odgovarajući pojedinim formalnim sistemima u intuicionističkoj logici sa posebnim naglaskom na sekventnim formalnim računima i uvedeni su tipovi sa presekom u jedan takav račun. Datum prihvatanja teme 26.9.2007. od strane NN veca: DP Datum odbrane: 4.1.2008. DO Članovi komisije: KO Predsednik: Član: Član: Prof. dr Jovanka Pantović Dr Zoran Petrić Prof. dr Silvia Gilezan
v UNIVERSITY OF NOVI SAD FACULTY OF ENGINEERING KEY WORDS DOCUMENTATION Document type: Monograph DT Type of record: TR Content code: CC Author: AU Menthor/Comenthor: MN Title: TI Language of text: LT Language of abstract: LA Country of publication: CP Locality of publication: LP Printed Master thesis Jelena Ivetić Prof. Silvia Gilezan, PhD Formal calculi for intuitionistic logic Serbian Serbian Serbia Publication year: 2007 PY Publisher: PU Vojvodina Faculty of engineering Publication place: 21000 Novi Sad, Trg Dositeja Obradovića 6 PP
vi Physical description: 6/100/35/16/0/0/0 (chapters/pages/ref./tables/ pictures/graphs/appendixes) PD Scientific field: SF Scientific discipline: SD Subject/Key words: SKW Holding data: HD Note: N Abstract A Mathematics Mathematics in engineering Mathematics, intuitionistic logic, formal calculi, sequent calculus, intersection types Library of the Faculty of engineering This work presents formal calculi corresponding to the formal systems for intuitionistic logic, emphasizes sequent formal calculi and introduces intersection types in one such calculus. Accepted by the scientific board on: September 26 th, 2007. ASB Defended on: January 4 th, 2008. DE Thesis defend board: DB Chair: Member: Member: Prof. Jovanka Pantović, PhD Zoran Petrić, PhD Prof. Silvia Gilezan, PhD
Sadržaj 1 Uvod 1 2 Formalni logički sistemi 5 3 Formalni računi 13 3.1 Formalni račun za prirodnu dedukciju.............. 13 3.1.1 λ-račun bez tipova.................... 13 3.1.2 λ-račun sa tipovima................... 18 3.2 Formalni račun za aksiomatski sistem.............. 24 3.3 Formalni računi za sekventni račun............... 27 3.3.1 λlj-račun......................... 27 3.3.2 Teorema o eliminaciji pravila sečenja.......... 30 3.3.3 λ -račun.......................... 34 4 λ Gtz -račun 41 4.1 λ Gtz -račun bez tipova....................... 41 4.1.1 Sintaksa λ Gtz -računa................... 41 4.1.2 Konfluentnost λ Gtz -računa................ 44 4.2 λ Gtz -račun sa tipovima...................... 52 4.2.1 Osnovni tipski sistem................... 52 4.2.2 Tipski sistem sa presekom................ 54 5 λ Gtz sa presekom 67 5.1 Očuvanje tipa pri redukciji.................... 69 5.2 Očuvanje tipa pri ekspanziji................... 71 5.3 Karakterizacija jake normalizacije................ 75 5.4 Jaka normalizacija........................ 77 vii
viii SADRŽAJ 6 Zaključak 85
Glava 1 Uvod Iako su pojedina pravila rezonovanja poznata i formalno uobličena još u antička vremena, logika kao matematička disciplina datira iz druge polovine XIX veka kada su objavljeni radovi Fregea i Peircea. Svoj intenzivni razvoj doživljava početkom XX veka, a najznačajniji logičari tog vremena su Gentzen, Hilbert, Russel i posebno Goedel. U tom periodu su nastali formalni logički sistemi dokazivanja - Hilbertov aksiomatski sistem i Gentzenovi sistemi: prirodna dedukcija i sekventni račun. 20-tih godina XX veka, u skladu sa tadašnjom težnjom matematičara ka formalizaciji matematike, počinje razvoj formalnih računa. U tom periodu nastaje kombinatorni račun Schonfinkela i Curryja, a nešto kasnije Church objavljuje λ-račun, čija je verzija sa tipovima postala osnovni formalizam za pisanje programa. Prema Curry-Howardovoj korespodenciji, prirodna dedukcija za intuicionističku logiku i λ-račun sa tipovima su uzajamno odgovarajući sistemi, tako da pojednostavljivanje dokaza odgovara izvršavanju programa. Kako se svaki dokaz napisan u sistemu prirodne dedukcije može prevesti u dokaz u sistemu sekventnog računa, bilo je jasno da se Curry-Howardova korespodencija može proširiti i na intuicionistički sekventni račun i neku modifikovanu verziju λ-računa. Medjutim, budući da se sekventni račun i λ-račun razlikuju po svojoj strukturi, modifikacija je morala biti izvršena i na sintaksnom nivou, a ne samo u vidu promenjenih pravila tipiziranja. Prvi formalni račun koji je u smislu Curry-Howardove korespodencije bio odgovarajući jednoj restrikciji sekventnog računa je λ-račun, koji je predložio Herbelin 1995. Korespodencija u ovom slučaju postoji izmedju normalnih formi λ-računa i sekventnih dokaza koji ne sadrže pravilo sečenja. Nakon λ-računa, nastali su 1
2 GLAVA 1. UVOD i drugi formalni računi zasnovani na sekventnom računu, u kojima redukcija odgovara procesu eliminacije sečenja. Jedan od njih je i λ Gtz -račun, koji je konstruisao Espirito-Santo 2006. godine. Da bi neki formalni račun mogao da bude pouzdano implementiran u programski jezik, neophodno je da zadovoljava pojedine osobine koje omogućavaju bezbedno izvršenje programa. Centralni deo ovog rada predstavlja upravo dokazivanje tih osobina za λ Gtz -račun. U tu svrhu, napravljen je i novi tipski sistem u kom je osim osnovnog veznika uveden i presek. Intuicionistička logika Logički okvir svih formalnih sistema i formalnih računa prezentovanih u ovom radu je inticionistička logika, koja se prvi put pominje u radovima Brouwera početkom XX veka. Osnovna odlika intuicionizma je da se istinitim smatra samo ono što može biti dokazano. Dok u klasičnoj logici A B tumačimo kao A je tačno ili B je tačno u intuicionističkoj je tumačenje istog izraza postoji dokaz za A ili dokaz za B. Samim tim, klasični zakon isključenja trećeg A A u intuicionističkoj logici ne važi, kao ni zakoni duple negacije A A i čisto implikativni Piercov zakon (A B) A A. Zbog svoje konstruktivne prirode, intuicionistička logika je postala osnova konstruktivne matematike i teorijskog računarstva. Pregled rada Rad je podeljen u 6 celina. Glava 1 je uvodna i daje pregled celokupnog rada. U Glavi 2 su predstavljena tri formalna sistema za izvodjenje dokaza u intuicionističkoj logici: Hilbertov aksiomatski sistem, Prirodna dedukcija (N D) i Sekventni račun (LJ). Dat je poznati dokaz ekvivalencije sistema (ND) i (LJ). Glava je završena primerom dokazivanja u sva tri sistema.
Glava 3 sadrži tri poglavlja u kojima su predstavljeni formalni računi koji odgovaraju pojedinim logičkim sistemima. U poglavlju 3.1 su sažeto izloženi osnovni koncepti λ-računa. Prvo je predstavljen λ-račun bez tipova, a potom i dva tipska sistema - osnovni tipski sistem i sistem tipova sa presekom. Objašnjena je Curry-Howardova korespodencija, koja izražava povezanost ovog računa sa prirodnom dedukcijom. Navedeni su primeri računanja sa lambda termima i primeri tipiziranja u oba tipska sistema. Takodje, uvedena je terminologija koja će se koristiti u Glavi 4. Poglavlje 3.2 definiše osnove kombinatornog računa, formalizma odgovarajućeg aksiomatskom logičkom sistemu. Pokazana je funkcionalna jednakost ovog računa i lambda računa. Poglavlje 3.3 se bavi formalnim računima koji odgovaraju sekventnom računu. U njemu je prvo predstavljen tipski sistem λlj za lambda račun koji su Barendregt i Gilezan kreirali po analogiji sa pravilima LJ [4]. Ovaj tipski sistem omogućava znatno jednostavniji dokaz Gentzenove teoreme o eliminaciji pravila sečenja, ali nije u skladu sa strukturom sekventnih dokaza. Ovo neslaganje je ilustrovano primerom i detaljno je objašnjeno zbog čega ovakav račun ne rešava problem ekstenzije Curry-Howardove korespondencije na sekventne račune. Zatim je postupno prikazano kako Herbelinov λ-račun rešava navedene probleme, postajući tako prvi formalni račun izomorfan odredjenoj modifikaciji LJ. Medjutim, λ-računom se korespodencija uspostavlja samo izmedju odredjenih podskupova terma i dokaza, tako da je problem još uvek delimično ostao otvoren. Jedan od računa koji se nadovezuju na Herbelinov račun je λ Gtz, koji je centralna tema ovog rada. 3 Glava 4 sadrži detaljni prikaz λ Gtz -računa. Ova glava je podeljena na 2 poglavlja. Poglavlje 4.1 je posvećeno λ Gtz -računu bez tipova. Definisani su sintaksa i pravila redukovanja i naveden je primer mogućnosti simulacije različitih strategija izračunavanja. Poglavlje je završeno dokazom konfluentnosti ovog računa, ťo predstavlja originalni doprinos ovog rada. Poglavlje 4.2 obradjuje λ Gtz -račun sa tipovima. Prvo je definisan osnovni tipski sistem λ Gtz, a zatim su postupno navedeni i analizirani najvažniji koraci na putu ka formulaciji tipskog sistema sa presekom pomoću kog bi se mogla izvršiti karakterizacija jake normalizacije, što predstavlja originalni doprinos ovog rada. Hronološki su prikazana dva pokušaja.
4 GLAVA 1. UVOD Glava 5 je posvećena λ Gtz -računu sa tipovima sa presekom i u potpunosti predstavlja originalni doprinos ovog rada. U njoj je uveden λ Gtz -račun sa presekom i ispitivane su neke njegove fundamentalne osobine. U poglavlju 5.1 je dokazan osobina očuvanju tipa pri redukciji. U poglavlju 5.2 je dokazana osobina očuvanju tipa pri ekspanziji. U poglavlju 5.3 je dokazana osobina o jakoj normalizaciji. U poglavlju 5.4 je data potpuna karakterizacija jake normalizacije. Originalni rezultati su plod zajedničkog rada sa Silviom Gilezan, Jose Espirito-Santom i Silviom Likavec i sumirani su u dva naučna rada koji su prihvaćeni za štampu u časopisima Lecture Notes in Computer Science - TYPES 2007 Proceedings i Publications de l Institute Mathematique ([11] i [16]). Glava 6 je zaključna i u njoj su sumirani rezultati i ukazani mogući pravci budućeg rada u ovoj oblasti.
Glava 2 Formalni logički sistemi Krajem XIX i početkom XX veka, pojavila se težnja matematičara za formalizacijom matematike tj. konstrukcijom formalnih sistema sastavljenih od konačnog broja aksioma i pravila izvodjenja, pomoću kojih bi se mogla izgraditi cela matematička disciplina (kao npr. Euklidska geometrija), a konačno i cela matematika. Sve do Gödelove teoreme, kojom je dokazao da je ovakva formalizacija cele matematike nemoguća, ovo je bio centralni motiv naučnog rada u matematici. I kako to ponekad biva, iako je cela teorija doživela neuspeh, njeni pojedini segmenti su se pokazali više nego efikasnim i našli su primene u drugim oblastima ili čak doveli do formiranja novih oblasti. Verovatno najekstremniji primer ovakvog ishoda je uticaj pojedinih formalnih sistema na razvoj računarstva, discipline koja je ponikla iz matematike i veoma intenzivno (a uz to i neverovatnom brzinom) promenila ljudsko društvo. U ovom radu će biti proučavan samo implikativni fragment intuicionističkog iskaznog računa, te to neće biti svaki put posebno naglašeno. Formule se grade od iskaznih slova p,q,... i logičkog veznika implikacije. A,B ::= p A B U cilju smanjenja broja zagrada, usvaja se konvencija da se implikacije grupišu prema desno tj. A B C = A (B C). Prvi sistem za formalizaciju logike je predložio David Hilbert. Aksiomatski ili Hilbertov sistem se sastoji iz aksioma i jednog pravila zaključivanja, poznatog još iz antičkih vremena pod imenom Modus ponens (MP). Aksiomatski sistem 5
6 GLAVA 2. FORMALNI LOGIČKI SISTEMI za intuicionističku logiku se sastoji iz tri aksiome i pravila (MP) i prikazan je u Tabeli 1. Aksiomatski sistem za klasičnu logiku sadrži još i aksiomu ( B A) (( B A) B). (Ax1) A A (Ax2) A (B A) (Ax3) (A (B C)) ((A B) (A C)) (MP) A B B A Tabela 1: Hilbertov aksiomatski sistem Pomoću druge i treće aksiome, uz supstituciju i pravilo (MP), moguće je izvesti dokaz svake intuicionističke implikativne teoreme, uključujući i prvu aksiomu. Dakle, prva aksioma je u stvari teorema, ali se njenim prisustvom u sistemu dokazi dosta pojednostavljuju. Uprkos tome, dokazi zasnovani na Hilbertovom aksiomatskom sistemu su uglavnom veoma komplikovani, čak i za najjednostavnije teoreme. Dakle, postojala je potreba za pronalaženjem jednostavnijeg i prirodnijeg sistema za formalizaciju logike. Izvesno rešenje je ponudio Jaśkowski, 1929. godine. On je koristio dijagramsku notaciju, nalik Frege-u, te možda zbog toga njegovo rešenje nije naišlo na dobar prijem u matematičkoj javnosti. Nezavisno od njega, i Gerhard Gentzen je 1934. godine došao do rešenja. Vodjen idejom da bi formalni sistem trebalo da u najvećoj mogućoj meri podražava pravo zaključivanje (koje se odvija u ljudskom umu), svoj sistem je nazvao prirodna dedukcija (Natural deduction - N D). Ovaj sistem se sastoji od jedne aksiome (strukturalnog pravila) i dva pravila izvodjenja (logičkih pravila): uvodjenja i eliminisanja implikacije, koji su prikazani u Tabeli 2. Logička pravila uključuju i pojam pretpostavki tj. skupa formula koje su objedinjene simbolom Γ i predstavljaju bazu (ili kontekst) iz koje zaključujemo. Dakle, iskaz Γ A čitamo iz baze Γ sledi A ili u kontekstu Γ je tačno A.
7 (axiom) Γ,A A ( elim ) ( intr ) Γ A B Γ A Γ B Γ,A B Γ A B Tabela 2: Prirodna dedukcija - ND Kažemo da je iskaz A izvodiv iz konačnog skupa pretpostavki Γ u sistemu ND, ako postoji niz primenjenih pravila sistema ND koji se završava sa Γ A, i to obeležavamo sa Γ ND A. Pokazalo se da skup formula izvodivih iz prazne baze u ovako definisanom sistemu ND odgovara upravo skupu teorema intuicionističke implikativne logike. Dokazi u sistemu N D su jednostavniji, i bliži našoj intuiciji od dokaza u Hilbertovom sistemu. Štaviše, moguće ih je još više pojednostaviti. Gentzen je, naime, dokazao da za prirodnu dedukciju važi tzv. Svojstvo podformule (Subformula property) koje tvrdi da se dokaz tvrdjenja Γ A može pojednostaviti tako da sva njegova tvrdjenja (koraci) budu sastavljeni isključivo od delova (podformula) formule A i pretpostavki sadržanih u Γ. Medjutim, Gentzen nije uspeo da ovo svojstvo dokaže direktno za ND (to je pošlo za rukom Prawitz-u, koji je uobličio i objedinio Gentzenove rezultate u svojoj monografiji Natural deduction: a proof-theoretical study objavljenoj 1965. godine [28]). Umesto toga, on je uveo drugi formalni sistem, za koji je pokazao: Svojstvo podformule u njemu važi; Ovaj sistem je ekvivalentan sa ND, u smislu da formula može biti dokazana u jednom sistemu ako i samo ako može biti dokazana u drugom. Na ovaj, indirektni, način je Gentzen dobio željeni rezultat za prirodnu dedukciju. Taj drugi formalni sistem, uveden takodje 1934. godine, zove se sekventni račun, i njegova varijanta za intuicionističku logiku se obeležava sa LJ. Za
8 GLAVA 2. FORMALNI LOGIČKI SISTEMI razliku od prirodne dedukcije, moguće ga je veoma lako proširiti tako da u njemu budu izvodive sve implikativne teoreme klasične logike. Klasični sekventni račun se obeležava oznakom LK i neće biti razmatran u ovom radu. Aksioma i pravila sekventnog računa za implikativni fragment intuicionističkog iskaznog računa su prikazani u Tabeli 3. Prikazani sistem je modifikacija u kojoj su strukturalna pravila implicitna. (axiom) Γ,A A ( left ) Γ A Γ,B C Γ,A B C ( right ) (cut) Γ,A B Γ A B Γ A Γ,A B Γ B Tabela 3: Sekventni račun LJ Kažemo da je iskaz A izvodiv iz konačnog skupa pretpostavki Γ u sistemu LJ, ako postoji niz primenjenih pravila sistema LJ koji se završava sa Γ A, i to obeležavamo sa Γ LJ A. Dakle, aksioma sekventnog računa je identična aksiomi u N D, ali umesto eliminacije implikacije, ovde imamo uvodjenje sa leve strane. Pravilo koje se u ND zove uvodjenje se u istom obliku u sistemu LJ javlja pod imenom uvodjenje sa desne strane. Poslednje pravilo se zove pravilo sečenja (cut). Ono znatno skraćuje i pojednostavljuje izvodjenje, ali istovremeno onemogućava rekonstrukciju dokaza, jer nema načina da prepoznamo formulu koja je pri sečenju nestala. Zbog toga je od izuzetnog značaja Gentzenova Teorema o eliminaciji sečenja (Cut elimination), u literaturi često navodjena i u originalnom nemačkom imenu Hauptsatz, koja tvrdi da je pravilo sečenja moguće izostaviti a da sistem (sada u oznaci LJ cf ) i dalje ima isti skup izvodivih formula. Jedan dokaz ekvivalencije sistema LJ i LJ cf će biti izložen u sledećoj
9 glavi, nakon uvodjenja potrebne aparature. Sada ćemo pokazati da su sistemi ND i LJ ekvivalentni tako što ćemo pokazati da se pravila koja se u njima razlikuju mogu simulirati pomoću pravila drugog sistema. Pre dokaza ovog tvrdjenja, potrebno je formulisati sledeće tvrdjenje: Tvrdjenje 1 Pretpostavimo da je Γ Γ. Tada Γ A Γ A u oba logička sistema. Tvrdjenje 2 Za svako Γ i svako A važi Γ ND A Γ LJ A. Dokaz: ( ) Treba pokazati da se pravilo ( elim ) može simulirati pomoću pravila sekventnog računa. Γ L A B Γ L A Γ L B (axiom) Γ,B L B ( left ) Γ,A B L B (cut) ( ) Treba pokazati da se pravila ( left ) i (cut) mogu simulirati pomoću pravila prirodne dedukcije. ( left ): Γ, B N C Γ N A ( intr ) (axiom) (T vrdjenje 1) Γ N B C Γ, A B N A B Γ, A B N A (T vrdjenje 1) ( elim ) Γ, A B N B C Γ, A B N B ( elim ). Γ, A B N C (cut): Γ,A N B ( intr ) Γ N A B Γ N A ( elim ) Γ N B.
10 GLAVA 2. FORMALNI LOGIČKI SISTEMI Gentzen je, u skladu sa svojim kriterijumom bliskosti formalnog sistema i ljudskog rezonovanja, preferirao prirodnu dedukciju, dok je sekventni račun koristio samo kao tehničko orudje za dokazivanje tvrdjenja o prirodnoj dedukciji koja nije mogao pokazati direktno. Zbog toga je sekventni račun dugo bio van sfere interesovanja logičara. Pokazalo se, medjutim, da je njegov jezik izražajniji od jezika N D tako da je kasnije postao nezavisni predmet proučavanja. Treba napomenuti da se i ND i LJ mogu proširiti kako na ostale logičke veznike, tako i na kvantifikatore, ali ova proširenja neće biti razmatrana u ovom radu. Na kraju ove glave, navodimo primer dokaza u sva tri formalna sistema. Primer 3 Pokazaćemo kako se u sva tri formalna sistema izvodi dokaz teoreme (B A) (C B) C A. (ND): (axiom) (axiom) B A, C B, C C B A, C B, C C B ( elim ) (axiom) B A, C B, C B B A, C B, C B A ( elim ) B A, C B, C A ( intr ) B A, C B C A ( intr ) B A (C B) C A ( intr ) (B A) (C B) C A (LJ): (axiom) (axiom) C, B B C, B, A A (axiom) ( left ) C C C, B, B A A ( left ) C, C B, B A A ( right ) C B, B A C A ( right ) B A (C B) C A ( right ) (B A) (C B) C A
11 Hilbertov aksiomatski sistem: 1. Uvrštavanjem formula (Ax3) umesto A i D umesto B u formulu (Ax2), dobijamo F1 : ((C B A) (C B) C A) D (C B A) (C B) C A. 2. Primenom pravila (MP) na F1 i (Ax3), zaključujemo F2 : D (C B A) (C B) C A. 3. Uvrštavanjem formula D umesto A, C B A umesto B i (C B) C A umesto C u (Ax3), dobijamo F3 : (D (C B A) (C B) C A) (D C B A) D (C B) C A. 4. Primenom pravila (MP) na F3 i F2, zaključujemo F4 : (D C B A) D (C B) C A. 5. Uvrštavanjem formule B A umesto D u formulu F4, dobijamo F5 : ((B A) C B A) (B A) (C B) C A. 6. Uvrštavanjem formula B A umesto A i C umesto B u formulu (Ax2), dobijamo F6 : (B A) C B A. 7. Primenom pravila (MP) na F5 i F6, konačno zaključujemo F7 : (B A) (C B) C A.
12 GLAVA 2. FORMALNI LOGIČKI SISTEMI
Glava 3 Formalni računi 3.1 Formalni račun za prirodnu dedukciju Poput Gentzena, i Alonzo Church je pokušao da napravi sistem koji bi formalizovao matematiku. U tu svrhu, 1932. godine je uveo formalni račun pod imenom λ-račun. Iako se pokazalo da je formalizacija matematike neizvodljiva, ispostavilo se da ovaj sistem ima drugu, veoma važnu primenu. Naime, Church je 1936. godine pokazao da je λ-račun uspešan model za predstavljanje izračunljivih funkcija tj. da se pomoću λ-izraza može izraziti svaka funkcija koja može biti izračunata pomoću mašine. 3.1.1 λ-račun bez tipova Sintaksa λ-računa je jednostavna - izrazi se zovu λ-termi, obeležavaju se slovima t,u,v,t... i grade se na sledeći način: termi: t ::= x (λx.t) (tu) Dakle, osnovni termi su promenljive (x,y,z,x 1,...) koje se spajaju operatorima apstrakcije i aplikacije. Intuitivno, operator apstrakcije pravi funkciju od terma t, tako što simbolom λ vezuje promenljivu koja postaje argument te funkcije, slično kao u izrazu f dx. Aplikacija je primena terma na term tj. funkcije na funkciju. Primeri λ-terma su sledeći: x, λx.(yz), λx.(λy.((yx)x)). Radi jednostavnijeg pisanja, koriste se sledeći skraćeni zapisi: 13
14 GLAVA 3. FORMALNI RAČUNI umesto λx 1.(λx 2.(...(λx n.t)...)), pišemo λx 1 x 2...x n.t; umesto (...((t 1 t 2 )t 3 )...t n ) pišemo t 1 t 2 t 3...t n. Dakle, apstrakcije se grupišu na desno, a aplikacije na levo, tako da prethodno navedene terme u stvari pišemo ovako: x, λx.yz, λxy.yxx. U svakom λ-termu, razlikujemo vezane promenljive (one koje su izmedju simbola λ i.) i slobodne promenljive. Definicija 4 Skup slobodnih promenljivih terma t, u oznaci F v(t), je induktivno definisan na sledeći način: 1. Fv(x) = {x}; 2. Fv(tu) = Fv(t) Fv(u); 3. Fv(λx.t) = Fv(t) \ {x}. Definicija 5 λ-term koji nema slobodnih promenljivih se zove zatvoren term ili kombinator. Skup svih zatvorenih λ-terma se označava sa Λ. Osnovno pravilo računanja sa termima je pravilo β-redukcije: (λx.t)u β t[x := u] β-redukcija u stvari predstavlja supstituciju, jer izraz t[x := u] čitamo kao u termu t, sva slobodna pojavljivanja promenljive x zameniti sa u. Ovo je meta-supstitucija, zato što ne predstavlja deo sintakse ovog računa, već se posebno definiše na sledeći način: 1. x[x := u] = u; 2. y[x := u] = y; 3. (tv)[x := u] = t[x := u]v[x := u]; 4. (λx.t)[x := u] = λx.t;
3.1. FORMALNI RAČUN ZA PRIRODNU DEDUKCIJU 15 5. (λy.t)[x := u] = λy.(t[x := u]), ako y / Fv(u); 6. (λy.t)[x := u] = (λy.t[y := y ])[x := u], ako y Fv(u) a y / Fv(u). Iako λ-račun sadrži još dve redukcije, upravo mu β-redukcija daje toliku ekspresivnost. Kada je promenljiva vezana, njeno se ime može menjati a da term ostane isti, u smislu da i dalje predstavlja istu funkciju. Na primer, λx.xy i λz.zy su isti termi, baš kao što su i f(x) = y + x i f(z) = y + z iste funkcije, jer za iste vrednosti argumenta daju isti rezultat. Medjutim, kao što se funkcija f(y) = y + y razlikuje od prethodne dve, tako ni u prethodnom λ-termu ne možemo preimenovanje vršiti tako da slobodna promenljiva postane vezana. Takodje, ako se u jednom termu nadje slobodna promenljiva koja bi posle β-redukcije postala vezana, potrebno je izvršiti preimenovanje jedne od njih. Ovo pravilo je poznato pod imenom Barendregtova konvencija. Pomenuto preimenovanje vezanih promenljivih je formalizovano u vidu α- redukcije: λx.t α λy.t[x := y], y / Fv(t). Preostala redukcija je η-redukcija, koja izražava osobinu da su dve funkcije jednake ako primenjene na isti argument vraćaju istu vrednost tj. da je u tom slučaju jasno o kojoj se funkciji radi i bez eksplicitnog navodjenja argumenta. λx.tx η t, x / Fv(t). Dakle, ako posmatramo meta-zapis funkcija iz prethodnog pasusa, termi λx.add y x i λz.add y z se η-redukuju na term add y, i svi oni predstavljaju istu funkciju, ali u slučaju terma λy.add y y se η-redukcija ne može primeniti. Formalni razlog je to što je promenljiva y slobodna u termu add y, a semantički je jasno da funkcije dodaj y i dodaj broju isti taj broj nisu iste. Zapis t t označava da se term t nekom od tri redukcije redukuje na term t. U tom slučaju, t se zove redeks a t se zove kontraktum. Ukoliko se term t dobija od t nakon niza redukcija, to ćemo označavati sa t t. Iako je sintaksa λ-računa veoma jednostavna, on je po svojoj ekspresivnosti jednak ostalim, dosta složenijim modelima izračunljivosti (rekurzivne funkcije
16 GLAVA 3. FORMALNI RAČUNI i Turingove mašine) što su pokazali Kleene [1936] i Turing [1937]. Zbog toga je λ-račun u velikoj meri uticao na razvoj funkcionalnih programskih jezika. Eksplicitno je implementiran u neke programske jezike (npr. LISP, Haskell,...), a razne varijante i ekstenzije λ-računa su osnova za implementaciju i dizajn mnogih drugih kako funkcionalnih tako i objektno-orijentisanih programskih jezika. Prilikom implementacije, posebno su se pokazala značajnim izvesna svojstva λ-računa, o kojima će u nastavku biti reči. Veoma važno svojstvo λ-računa ogleda se u tome da ćemo bez obzira na redosled kojim vršimo redukcije nekog terma, na kraju stići do istog kontraktuma. To znači da je, u skladu sa konkretnim slučajem, moguće primeniti različite strategije računanja, kao što su npr. call-by-name i call-by-value, bez bojazni da će to uticati na promenu rezultata. Ovo svojstvo se zove konfluencija i navedeno je u sledećoj teoremi: Teorema (Church-Rosser) Ako u և t v, onda postoji term t takav da u t և v. Drugo važno svojstvo je svojstvo normalizacije. Ako neki term ne može da se redukuje, on se zove normalna forma. Skup svih normalnih formi NF u λ-računu se induktivno definiše na sledeći način: 1. x NF, za svaku promenljivu x; 2. Ako t 1,t 2,...,t n NF, onda i xt 1 t 2...t n NF; 3. Ako t NF, onda i λx.t NF. Dakle, sve normalne forme su oblika λy 1...y n.zn 1...N k, gde su termi N i, i {1,...,k} takodje normalne forme, a z može biti jedna od promenljivih y j, j {1,...,n}. Ako se neki term redukuje do normalne forme, kažemo da ima osobinu normalizacije. Ako su sve redukcije nekog terma konačne, kažemo da ima osobinu jake normalizacije. Skup svih terma koji imaju ovu osobinu se obeležava sa SN i pripada mu samo mali deo od ukupnog broja svih λ- terma. Zbog primene u programskim jezicima, bilo je veoma važno pronaći način za opisivanje i izolovanje skupa SN, jer bi u protivnom moglo doći do tzv. Halting problema, tj. blokiranja programa. Rešenje ovog problema je pronadjeno u λ-računu sa tipovima. Na kraju poglavlja navodimo primere nekih λ-terma, i primere računanja
3.1. FORMALNI RAČUN ZA PRIRODNU DEDUKCIJU 17 sa λ-termima. Primer 6 Neki od osnovnih λ-terma su sledeći: I λx.x, K λxy.x, S λxyz.xz(yz), λx.xx, Ω (λx.xx)(λx.xx), Y λf.(λx.f(xx))(λx.f(xx)). Nazivi ovih terma potiču iz kombinatornog računa koji će biti izložen u Poglavlju 3.2. Primer 7 Iskazni račun se u λ-računu može predstaviti na sledeći način: := λxy.x, := λxy.y, := λx.x := λxy.xy Pokazaćemo kako se računa t: := λxy.x y t = (λxy.xy )(λzu.z)t (λy.(λzu.z)y )t (λzu.z)t (λu.t) t. Primer 8 Term Y se zove operator fiksne tačke zato što se može pokazati da je za proizvoljnu funkciju f term Y f njena fiksna tačka tj. da je Y f = f(y f): Y f = (λg.(λx.g(xx))(λx.g(xx)))f (λx.f(xx))(λx.f(xx)) f((λx.f(xx))(λx.f(xx))) = f(y f).
18 GLAVA 3. FORMALNI RAČUNI 3.1.2 λ-račun sa tipovima Teoriju tipova su uveli Curry [1934] u svom radu o kombinatorima i Church [1940] za λ-račun. Njihovi pristupi se donekle razlikuju, jer Curry implicitno dodeljuje tipove, a Church eksplicitno (tako da razlikujemo à la Curry i à la Church dodelu tipova). Neki autori nazivaju Curry-jev sistem lambda račun sa dodeljivanjem tipova, a Church-ov sistem lambda račun sa tipovima. Osnovna ideja je kod oba načina ista, tako da ćemo u nastavku primenjivati à la Curry princip dodele tipova. Tipovi su, naime, sintaksni objekti, koji se dodeljuju λ-termima. Intuitivno, mogu se posmatrati kao domen funkcije koju λ-term reprezentuje. λ-račun sa tipovima omogućava mnogo dublju i detaljniju analizu programskih jezika od teorije bez tipova, tako da je moguće posmatrati λ-term kao program, a njemu odgovarajući tip kao specifikaciju programa. Osnovni tipski sistem Osnovni tipski sistem, u oznaci λ, je sistem u kom se kao jedini operator javlja strelica. U ovom sistemu, tipovi se prave od tipskih promenljivih koje se povezuju operacijom. A,B ::= p A B U cilju smanjenja broja zagrada, usvaja se konvencija da se strelice grupišu prema desno tj. A B C = A (B C). Definicija 9 1) Dodela tipa je izraz oblika t : A, gde je t λ-term, a A tip, tj. formula. 2) Deklaracija je dodela tipa u kojoj je term promenljiva. 3) Baza Γ = {x 1 : A 1,...,x n : A n } je skup deklaracija u kojem je svaka promenljiva deklarisana najviše jednom. domγ = {x 1,...,x n } Pravila ovog tipskog sistema su predstavljena u Tabeli 4. U njemu aplikacija lambda terma dovodi do eliminacije strelice, dok je apstrakcija uvodi.
3.1. FORMALNI RAČUN ZA PRIRODNU DEDUKCIJU 19 (axiom) ( elim ) ( intr ) (x : A) Γ Γ x : A Γ t : A B Γ u : A Γ tu : B Γ,x : A t : B Γ λx.t : A B Tabela 4: Tipski sistem λ Nakon uvodjenja tipova u lambda račun, postalo je jasno da postoji veza izmedju ovog formalnog računa i prirodne dedukcije. Ova veza je poznata pod imenom Curry-Howardova korespondencija i može se uočiti na više nivoa. Kao prvo, svaki tip koji se može dodeliti zatvorenom lambda termu odgovara teoremi u intuicionističkoj implikativnoj logici i suprotno, za svaku takvu teoremu postoji term čiji je ona tip. Ova bijekcija se ponekad označava sintagmom propositions-as-types. Kao drugo, postupak dodele tipa nekom termu odgovara upravo dokazu odgovarajuće teoreme u logičkom sistemu N D. Ukoliko posmatramo terme kao funkcije, postupak tipiziranja se može posmatrati i kao program kojim se odredjuje domen vrednosti koju funkcija izračunava, pa se zbog toga prethodna veza često pominje u formi proofs are programs. Ova formulacija je našla jako uporište u računarstvu, u domenu verifikacije programa na osnovu ekstrakcije odgovarajućeg dokaza. Konačno, veza se može uspostaviti i izmedju postupka normalizacije tj. pojednostavljivanja dokaza u sistemu ND i postupka redukcije lambda terma. Ovu korespondenciju je prvi primetio Curry, 50-tih godina prošlog veka, doduše u malo izmenjenoj formi, razvijajući teoriju kombinatora koji na sličan, ali očigledniji način, odgovaraju Hilbertovom aksiomatskom sistemu. Nakon Prawitzovog rada o normalizaciji u prirodnoj dedukciji, Howard je formulisao ovu vezu 1969. godine, ali je rad objavljen tek 1980 godine u zborniku povodom Curryevog osamdesetog rodjendana [32]. Pre toga su ovaj rezultat intenzivno koristili de Bruijn i Lambek, koji je dao interpretaciju u
20 GLAVA 3. FORMALNI RAČUNI teoriji kategorija, tako da je najpravedniji naziv Curry-Howard-de Bruijn- Lambekova korespondencija. Tipski sistem sa presekom U osnovnom tipskom sistemu važi da ako term ima tip onda ima i osobinu jake normalizacije tj. svi termi sa tipovima imaju isključivo konačne redukcije. Sa aspekta računarstva, ovo je veoma korisna osobina. Medjutim, obrnuti smer tvrdjenja bi bio još korisniji zato što bi dao jasan kriterijum za proveru terminacije nekog programa. Naime, ako bismo mogli da skup jako normalizovanih terma opišemo skupom terma koji imaju tip, onda bismo svakom programu mogli da pridružimo term, i ako taj term ima tip, sigurni smo da se izvršenje programa uvek završava. Na žalost, osnovni tipski sistem ne zadovoljava ovu osobinu. U njemu ne samo da nemaju tip svi termi sa osobinom jake normalizacije, već postoje i normalne forme koje se ne mogu tipizirati. Primer za to je term λx.xx. Da bismo mogli da tipiziramo ovaj term tip prvog x-a u aplikativnom delu bi morao da ima jednu strelicu više od tipa drugog x-a, a u osnovnom tipskom sistemu je nemoguće deklarisati promenljivu sa dva različita tipa. Upravo ideja da je termu moguće dodeliti više od jednog tipa je dovela do uvodjenja operatora u teoriju tipova. Prvi sistem sa tipovima sa presekom su uveli Coppo i Dezani, 1978. godine, u radu [5]. Sistem je poznat i pod imenom Torino sistem. U ovom tipskom sistemu, tipovi se grade od tipskih promenljivih koje se povezuju operatorima i. A,B ::= p A B A B Interpretacija operatora odgovara preseku u teoriji skupova. Dakle, ako neki term ima tipove A i B, onda ima i tip A B. Još jedno svojstvo ovog sistema je postojanje univerzalnog tipa ω koji može biti dodeljen svakom termu. U cilju uredjenja prostora tipova uvodi se i relacija poretka : Definicija 10 Relacija poretka definisana nad skupom tipova je najmanja relacija koja zadovoljava sledeće osobine:
3.1. FORMALNI RAČUN ZA PRIRODNU DEDUKCIJU 21 1. A A; 2. A B i B C A C; 3. A B A, A B B; 4. A B i A C A B C; 5. (A B) (A C) A (B C); 6. A A 1 i B B 1 A 1 B A B 1. Definicija 11 Dva tipa su ekvivalentna, u oznaci A B, ako i samo ako je A B i B A. Aksioma i pravila tipiziranja u tipskom sistemu λ ω su navedeni u Tabeli 5. Različitim kombinacijama ovih pravila dobijaju se restrikcije sistema λ ω. Ovi sistemi su dati sledećim aksiomama i pravilima: λ - osnovni tipski sistem: (ax), ( E), i ( I); D - osnovni tipski sistem sa presekom: (ax), ( E), ( I), ( E) i ( I). DΩ: (ax), ( E), ( I), ( E), ( I) i (ω). λ : (ax), ( E), ( I), ( E), ( I) i ( ). Od posebnog značaja su tipski sistemi D i λ zato što upravo u ovim sistemima tipiziranost karakteriše jaku normalizaciju. Ovu osobinu su prvi put bila dokazali Pottinger u [27] i Coppo i Dezanni u [5]. Kasnije, ova tema je obradjivana u sledećim radovima: Ghilezan [15], Krivine [22] i van Bakel [34]. Kompletan dokaz su dali Amadio i Curien u radu [1].
22 GLAVA 3. FORMALNI RAČUNI (ax) Γ,x : A x : A ( E) ( I) ( E) ( I) ( ) Γ t : A B Γ u : A Γ tu : B Γ,x : A t : B Γ λx.t : A B Γ t : A B Γ t : A Γ t : B Γ t : A Γ t : B Γ t : A B Γ t : A A B Γ t : B (ω) Γ t : ω Tabela 5: Tipski sistem λ ω Ovo poglavlje završavamo primerima tipiziranja u tipskim sistemima λ i D. U nastavku ćemo koristiti skraćeni zapis Γ \ {x} umesto Γ \ {x : A}. Primer 12 Termu S λxyz.xz(yz) se može dodeliti tip (A (B C)) ((A B) (A C)). Neka je baza Γ = {x : A (B C), y : A B, z : A}.
3.1. FORMALNI RAČUN ZA PRIRODNU DEDUKCIJU 23 (ax) (ax) (ax) (ax) Γ x : A (B C) Γ z : A Γ y : A B Γ z : A ( E) ( E) Γ xz : B C Γ yz : B ( E) Γ xz(yz) : C ( I) Γ \ {z} λz.xz(yz) : A C ( I) Γ \ {y, z} λyz.xz(yz) : (A B) (A C) ( I) λxyz.xz(yz) : (A (B C)) ((A B) (A C)). Termu λx.xx se u tipskom sistemu D može dodeliti tip A (A B) B na sledeći način: (ax) x : A (A B) x : A (A B) ( E) x : A (A B) x : A B x : A (A B) x : A ( E) x : A (A B) xx : B ( I) λx.xx : A (A B) B.
24 GLAVA 3. FORMALNI RAČUNI 3.2 Formalni račun za aksiomatski sistem Nešto pre nastanka λ-računa, razvijen je još jedan formalni račun - kombinatorni račun. Teoriju kombinatora su nezavisno formalizovali Schönfinkel 1920-ih godina u [31]i Curry 1930-ih godina. Osnovna ideja koja je podstakla uvodjenje kombinatora je reprezentacija funkcija bez upotrebe promenljivih tj. bez navodjenja argumenata. U tom smislu, ovaj formalizam je još apstraktniji od λ-računa i može se smatrati mašinskim jezikom matematike. Sintaksa kombinatornog računa je veoma jednostavna. Termi se grade od tri osnovna kombinatora S, K, I upotrebom aplikacije kao jedine operacije. Kombinatorne terme ćemo označavati sa t,u,v... Aplikacije se grupišu na levo tj. SKS = (SK)S. Izračunavanje kombinatornih izraza se vrši pomoću sledećih pravila redukcije: 1.) It t; 2.) Ktu t; 3.) Stuv tv(uv). Primetimo sledeće: za proizvoljni term t važi SKKt Kt(Kt) t, što znači da se kombinator I može izostaviti iz skupa osnovnih kombinatora. Njegovo prisustvo, medjutim, pojednostavljuje rad sa kombinatorima. Kombinatorni term je kombinatorna normalna forma ako ne sadrži podizraze oblika Ktu ili Stuv. Teorema o normalizaciji važi za kombinatorne izraze. Očigledno je da je kombinatorni račun po svojoj strukturi analogan Hilbertovom aksiomatskom sistemu, tako da se uvodjenjem tipova lako može uspostaviti Curry-Howardova koraspondencija izmedju ova dva formalizma (što
3.2. FORMALNI RAČUN ZA AKSIOMATSKI SISTEM 25 u ovom radu neće biti detaljnije obradjeno). Poput λ-računa, i kombinatorni račun zadovoljava Church-Turingovu tezu, što znači da se sve izračunljive funkcije mogu predstaviti kombinatornim termima. Najjednostavniji način pokazivanja ove tvrdnje (koja se ne može formalno dokazati) je uspostavljanje izomorfizma izmedju λ-računa i kombinatornog računa. Preslikavanje u lambda račun je sledeće: 1.) I λx.x; 2.) K λxy.x; 3.) S λxyz.xz(yz). Na ovaj način, svi kombinatorni termi se mogu predstaviti λ-termima. Da bi definisali preslikavanje u skup kombinatornih terma, moramo definisati pomoćni operator λ x koji će simulirati apstrakciju, koja nije formalno deo teorije kombinatora. Definicija 13 Neka je x proizvoljna promenljiva i t proizvoljan kombinatorni izraz. Tada se kombinatorni izraz λ x.t induktivno definiše na sledeći način: 1. λ x.x = I; 2. λ x.y = Ky, (x y); 3. λ x.t = Kt, (t je kombinatorni term); 4. λ x.(tu) = S(λ x.t)(λ x.u). Sada smo u mogućnosti da definišemo željeno preslikavanje ( ) C na sledeći način: 1.) (x) C = x; 2.) (tu) C = (t) C (u) C ;
26 GLAVA 3. FORMALNI RAČUNI 3.) (λx.t) C = λ x.(t) C. Na primer, (λxy.y) C = (λx(λy.y)) C = λ x.(λ y.y) = λ x.i = KI. Početni izraz predstavlja u λ-računu, a krajnjim se interpretira u kombinatornom računu.
3.3. FORMALNI RAČUNI ZA SEKVENTNI RAČUN 27 3.3 Formalni računi za sekventni račun Dugo je smatrano da sekventni račun nije moguće predstaviti u vidu formalnog računa, na isti način kao što je po Curry-Howard(-de Bruijn-Lambek)- ovoj korespondenciji prirodna dedukcija predstavljena λ-računom. Girard u knjizi Proofs and Types [18], objavljenoj 1989. godine, piše: Sa algoritamske tačke gledišta, sekventni račun nema Curry-Howardov izomorfizam, zbog toga što jedan isti dokaz može da se napiše na više načina. Ovo nas sprečava da ga koristimo poput tipiziranog λ-računa, iako naslućujemo neku duboku strukturu te vrste, verovatno povezanu sa paralelizmom. Ali ovo zahteva novi pristup sintaksi... Osnovni pokušaj predstavljanja sekventnog računa se sastojao u zadržavanju sintakse i pravila redukovanja λ-računa, ali uz modifikovana pravila tipiziranja. Ovaj pristup je upotrebljen u radu autora Barendregt i Ghilezan [4] za dokazivanje Gentzenove Hauptsatz teoreme na kraći i jednostavniji način. Ovaj dokaz, i formalni račun na kom se zasniva, će biti izloženi u nastavku rada. 3.3.1 λlj-račun Sintaksa λlj-računa i pravila redukovanja su identični kao u običnom λ- računu. U račun se uvode tipovi sa strelicom kao jedinim veznikom, a aksioma i pravila tipiziranja su dati u Tabeli 6. U ovom sistemu, u pravilu ( left ) se zahteva da je Γ,y : A B baza, što je zadovoljeno ili ako y : A B Γ, ili ako promenljiva y uopšte nije deklarisana u bazi Γ, kada kažemo da je y sveža promenljiva. Budući da su pravila ovog tipskog sistema postavljena u skladu sa pravilima sekventnog računa, u cilju naglašavanja povezanosti sa odgovarajućim formalnim sistemom, u ovom poglavlju ćemo λ označavati sa λnd.
28 GLAVA 3. FORMALNI RAČUNI (axiom) ( left ) (x : A) Γ Γ x : A Γ t : A Γ,x : B u : C Γ,y : A B u[x := yt] : C ( right ) Γ,x : A t : B Γ (λx.t) : A B (cut) Γ t : A Γ,x : A u : B Γ u[x := t] : B Tabela 6: Tipski sistem λlj Za tipski sistem λn D navodimo bez dokaza sledeće teoreme (dokazi se nalaze u [3]). Tvrdjenje 14 (i) (Proširenje baze) Γ λnd t : A Γ,x : B λnd t : A, ako x / Fv(t). (ii) (Teorema o normalizaciji) Γ λnd t : A t ima β normalnu formu t nf. (iii) (Teorema o održanju tipa pri redukciji) (iv) (Lema o generisanju) Γ λnd t : A i t β t Γ λnd t : A. (1) Γ λnd x : A x : A Γ. (2) Γ λnd tu : B Γ λnd t : A B i Γ λnd u : A, za neki tip A.
3.3. FORMALNI RAČUNI ZA SEKVENTNI RAČUN 29 (3) Γ λnd λx.t : C Γ,x : A λnd t : B i C A B, za neke tipove A i B. Sada ćemo pokazati da su tipski sistemi λnd i λlj ekvivalentni (što odgovara ekvivalenciji logičkih sistema ND i LJ). Tvrdjenje 15 Γ λnd t : A Γ λlj t : A. Dokaz: Indukcijom po izvodjenju dokaza u λn D. ( elim ) simulirati pomoću pravila sistema λlj: Potrebno je pravilo Γ λlj u : A Γ,x : B λlj x : B ( left ) Γ λlj t : A B Γ,y : A B λlj yu : B (cut). Γ λlj tu : B. Tvrdjenje 16 (i) Γ λlj t : A Γ λnd t : A, za neko t β t. (ii) Γ λlj t : A Γ λnd t : A. Dokaz: (i) Indukcijom po izvodjenju dokaza u λlj. Potrebno je pravila ( left ) i (cut) simulirati pomoću pravila sistema λnd: ( left ): Γ, x : B λnd t : C Γ λnd u : A ( intr ) (14(i)) Γ λnd λx.t : B C Γ, y : A B λnd y : A B Γ, y : A B λnd u : A (14(i)) ( elim ) Γ, y : A B λnd λx.t : B C Γ, y : A B λnd yu : B ( elim ). Γ, y : A B λnd (λx.t)(yu) : C
30 GLAVA 3. FORMALNI RAČUNI Kako važi (λx.t)(yu) β t[x := yu] tvrdjenje je zadovoljeno. (cut): Γ,x : A λnd t : B ( intr ) Γ λnd λx.t : A B Γ λnd u : A ( elim ), Γ λnd (λx.t)u : B pa je tvrdjenje zadovoljeno, budući da se (λx.t)u β t[x := u]. (ii) Tvrdjenje je posledica tvrdjenja pod (i) i Teoreme 14 (iii). Tvrdjenje 17 Γ λlj T : A Γ λnd T : A. Dokaz: Tvrdjenje sledi iz Tvrdjenja 15 i 16(ii). 3.3.2 Teorema o eliminaciji pravila sečenja U ovom poglavlju će biti predstavljen dokaz Teoreme o eliminaciji sečenjakoji koristi tipske sisteme λ-računa, izložen u radu Barendregt i Ghilezan [4]. U tu svrhu ćemo uvesti tipski sistem koji odgovara sekventnom računu bez pravila sečenja. Logički sistem LJ cf se sastoji od sledeće aksiome i pravila: (axiom) LJ cf A Γ Γ A ( left ) Γ A Γ,B C Γ,A B C ( right ) Γ,A B Γ A B Tabela 7 Njemu odgovarajući tipski sistem λ-računa je sledeći:
3.3. FORMALNI RAČUNI ZA SEKVENTNI RAČUN 31 (axiom) ( left ) λlj cf (x : A) Γ Γ x : A Γ t : A Γ,x : B u : C Γ,y : A B u[x := yt] : C ( right ) Γ,x : A t : B Γ (λx.t) : A B Tabela 8 Budući da se ovaj sistem dobija od sistema λlj izostavljanjem pravila cut, za pravilo left važi ista napomena kao i u prethodnom sistemu. U sva tri tipska sistema veoma se lako dokazuje sledeće tvrdjenje, pre čije formulacije je potrebno uvesti sledeću notaciju. Neka je Γ = {A 1,...,A n } i x = {x 1,...,x n }. Tada je Γ x = {x 1 : A 1,...,x n : A n } i Λ( x) je skup svih terma čije se sve slobodne promenljive nalaze u x. Takodje, neka je S bilo koji od tri logička sistema i λ S njemu odgovarajući tipski sistem. Tvrdjenje 18 Γ S A x t Λ( x) Γ x S t : A. Sada ćemo pokazati kako se sistem λlj cf odnosi prema sistemima λnd i λlj. Tvrdjenje 19 Γ λlj cf t : A t je β normalna forma. Dokaz: Indukcijom po izvodjenju dokaza.
32 GLAVA 3. FORMALNI RAČUNI Tvrdjenje 20 Pretpostavimo da Tada Γ λlj cf t 1 : A 1,..., Γ λlj cf t n : A n. Γ,x : A 1... A n B λlj cf xt 1...t n : B, ukoliko je promenljiva x takva da je Γ,x : A 1... A n B baza. Dokaz: Bez umanjenja opštosti, dokaz ćemo dati za slučaj n = 2. Budući da nema mogućnosti zabune, umesto λlj cf ćemo pisati samo. Takodje, smatraćemo da je y sveža promenljiva. (axiom) Γ t 2 : A 2 Γ,z : B z : B ( left ) Γ t 1 : A 1 Γ,y : A 2 B yt 2 z[z := yt 2 ] : B ( left ) Γ,x : A 1 A 2 B xt 1 t 2 (yt 2 )[y := xt 1 ] : B. Tvrdjenje 21 Neka je t β-normalna forma. Tada Γ λnd t : A Γ λlj cf t : A. Dokaz: Skup svih β-normalnih formi se može generisati na sledeći način: t nf = x t nf u nf λx.t nf Ukoliko je term t promenljiva ili apstrakcija, dokaz je trivijalan budući da su aksiom i pravilo ( right ) u oba tipska sistema identični. Ukoliko je t xt 1...t n, dokaz se indukcijom po složenosti terma t izvodi pomoću Tvrdjenja 20, i Teoreme 14 (iv). Konačno, kao posledicu prethodnih tvrdjenja dobijamo Gentzenovu Hauptsatz teoremu. Tvrdjenje 22 (Teorema o eliminaciji sečenja) Dokaz: Γ LJ A Γ LJ cf A. Γ LJ A Γ x λlj t : A za neko t Λ( x), na osnovu Tvrdjenja 18 Γ x λnd t : A na osnovu Tvrdjenja 16 (ii), Γ x λnd t nf : A na osnovu Tvrdjenja 14 (ii) i (iii), Γ x λlj cf t nf : A na osnovu Tvrdjenja 21, Γ x LJ cf A na osnovu Tvrdjenja 18.
3.3. FORMALNI RAČUNI ZA SEKVENTNI RAČUN 33 Iako je λlj-račun pravljen po analogiji sa sekventnim računom, njegova priroda nije u skladu sa prirodom sekventnog računa tj. nije moguće pomoću njega u potpunosti proširiti Curry-Howardovu korespondenciju na LJ. Problem koji se tu javlja će biti ilustrovan sledećim primerom. Posmatrajmo npr. term λx.yz. U bazi z : A, y : A B njemu odgovara tip C B. U tipskom sistemu λnd ovo tipiziranje se izvodi na sledeći način: x : C, y : A B, z : A y : A B x : C, y : A B, z : A z : A ( elim ) x : C, y : A B, z : A yz : B ( intr ) y : A B, z : A λx.yz : C B. Medjutim, u tipskom sistemu λlj cf se tipiziranje ovog terma u istoj bazi može izvesti na dva različita načina: I način: x : C, z : A z : A x : C, z : A, u : B u : B ( left ) II način: x : C, z : A, y : A B yz : B ( right ) y : A B, z : A λx.yz : C B. x : C, z : A, u : B u : B ( right ) z : A z : A z : A, u : B λx.u : C B ( left ) y : A B, z : A λx.yz : C B. Ova dva izvodjenja odgovaraju respektivno sledećim načinima gradjenja terma: u yz λx.yz, u λx.u λx.yz. Vidimo da postoji neslaganje kako izmedju prirodne dedukcije i sekventnog računa, tako i izmedju λ-računa i sekventnog računa, u smislu da korespondencija izmedju njih nije uzajamno jednoznačna. Cilj je, prema tome, napraviti formalni račun koji će biti u obostrano jednoznačnoj korespondenciji sa sekventnim računom u intuicionističkoj logici tj. koji će odgovarati sekventnom računu na isti način na koji λ-račun odgovara prirodnoj dedukciji.
34 GLAVA 3. FORMALNI RAČUNI 3.3.3 λ -račun Prvo rešenje izloženog problema je ponudio Hugo Herbelin, u svom radu iz 1995. godine [19]. On je problem rešio na sledeći način: umesto običnog λ-računa je posmatrao λ-račun sa eksplicitnom supstitucijom. To je račun u kom se osim operatora apstrakcije i aplikacije definiše i operator supstitucije (za razliku od običnog λ-računa, u kojem je supstitucija meta-operacija). Njen zapis je t x = s, a čita se svako slobodno pojavljivanje promenljive x u termu t zameniti termom s. Naravno, mora se voditi računa o tome da slobodne promenljive iz s ne postanu vezane u t nakon supstitucije tj. po potrebi se primenjuje Barendregtova konvencija o preimenovanju vezanih promenljivih. Na ovaj način, prethodna dva izvodjenja tipiziraju ne više isti, već dva različita terma: λx.(u u = yz ) i (λx.u) u = yz. Ovaj račun, medjutim, povlači i transformaciju sekventnog računa, kako bi tipski sistem dobijen na osnovu njega bio senzitivan na eksplicitnu supstituciju. Herbelin je uveo restrikciju sekventnog računa koju je nazvao LJT, po uzoru na sekventni račun LKT, koji su za klasičnu logiku definisali Danos, Joinet i Schellinx u radu [6]. Osnovna ideja ovog računa je uvodjenje tzv. stupa - posebnog mesta sa leve strane sekventa, koje može (ali ne mora) sadržati jednu formulu. Ukoliko je stup popunjen, on sadrži selektovanu formulu, koja se u pravilima ovog računa ponaša drugačije od ostalih. Dakle, u LJT računu postoje dve vrste sekvenata: sekventi sa praznim stupom (Γ; A) i oni sa popunjenim stupom (Γ;B A). Pravila LJT računa su navedena u Tabeli 9. Prema položaju formule po kojoj se vrši sečenje, razlikuju se dva pravila sečenja: H-cut ( head-cut,ukoliko je ona u stupu) i M-cut ( mid-cut, ukoliko je van stupa). U ovim pravilima, Π označava da stup može biti bilo prazan bilo popunjen u datom kontekstu. Prva četiri pravila čine segment ovog računa bez pravila sečenja - LJT cf.
3.3. FORMALNI RAČUNI ZA SEKVENTNI RAČUN 35 (axiom) Γ;A A (cont) Γ,A;A B Γ,A; B ( left ) Γ; A Γ;B C Γ;A B C ( right ) Γ,A; B Γ; A B (H cut) Γ; Π A Γ;A B Γ; Π B (M cut) Γ; A Γ,A; Π B Γ; Π B Tabela 9: Sekventni račun LJT Tipski sistem λljt koji odgovara ovako definisanom sekventnom računu je prikazan u Tabeli 10. Ponovo, ako se izuzme pravilo sečenja, dobija se λljt cf tipski sistem, čiji su dokazi u obostrano jednoznačnoj korespondenciji sa normalnim formama λ-računa. Ako u ovom tipskom sistemu želimo tipizirati term λx.yz, u bazi Γ = {x : C,y : A B,z : A}, to možemo uraditi samo na sledeći način: (axiom) Γ; z : A Γ;u : B u : B ( left ) Γ;y : A B u u = yz yz : B (cont) Γ; yz : B ( right ) Γ \ {x : C} λx.yz : C B.
36 GLAVA 3. FORMALNI RAČUNI (axiom) Γ;x : A x : A (cont) Γ,x : A;x : A t : B Γ,x : A; t : B ( left ) Γ; t : A Γ;x : B s : C Γ;y : A B s x = yt : C ( right ) Γ,x : A; t : B Γ; λx.t : A B (M cut) Γ; t : A Γ,x : A; Π s : B Γ; Π s x = t : B Tabela 10: Tipski sistem λljt Drugi način izvodjenja tipa više nije moguć, zato što upotreba pravila ( right ) zahteva da stup bude prazan, a jednom ispražnjeni stup se može popuniti jedino upotrebom aksiome, koja se, medjutim, ne može primeniti na tom mestu u dokazu. Dakle, iz prethodnog primera vidimo da je problem rešen tj. da sada ne postoji više načina da se izvede tip odredjene normalne forme. Obrazac koji se pri izvodjenju mora slediti je jasan: prvo se gradi aplikativni deo terma, a zatim se dodaju apstrakcije. Herbelin je, medjutim, tu uočio novi problem. Naime, gradjenje aplikativnog dela terma se vrši unazad (sa desna na levo), što nije u skladu sa prirodom λ-računa u kom se aplikacije grupišu na levo. Ovakvo ponašanje uzrokuje još ozbiljniji problem, koji se javlja kod eliminacije sečenja. Standardna procedura je da se pravilo (M cut) u dokazu pomera prema gore. Cut-eliminaciji bi trebalo da odgovara neka redukcija u odgovarajućem računu, a pošto se pravilo (M cut) interpretira kao eksplicitna supstitucija, ta redukcija bi trebalo da bude propagacija supstitucije. Dakle, dva dokaza (pre i posle pomeranja pravila sečenja na gore) bi trebalo da odgovaraju dodeli tipa kod dva terma (pre i posle pomeranja supstitucije, respektivno). Ovo je ilustrovano sledećim primerom, u kom koristimo skraćenicu C A 2... A n B.