102
UNIVERZITET U NOVOM SADU FAKULTET TEHNI ˇ CKIH NAUKA Trg Dositeja Obradovi´ ca 6 21000 Novi Sad, Srbija i Crna Gora MAGISTARSKI RAD Metod redukcije u lambda raˇ cunu sa tipovima sa presekom Silvia Likavec MENTOR: Prof. dr. Silvia Gilezan Novi Sad, 2005

Metod redukcije u lambda raˇcunu sa tipovima sa presekomlikavec/CV/LikavecMag.pdf · teta tehniˇckih nauka u Novom Sadu dugujem zahvalnost za kreativnu i pri- jateljsku atmosferu

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

UNIVERZITET U NOVOM SADU

FAKULTET TEHNICKIH NAUKA

Trg Dositeja Obradovica 621000 Novi Sad, Srbija i Crna Gora

MAGISTARSKI RAD

Metod redukcije u lambdaracunu sa tipovima sa presekom

Silvia Likavec

MENTOR:

Prof. dr. Silvia Gilezan

Novi Sad, 2005

2

Zahvalnica

Pre svega, zelim da se zahvalim Silvii Gilezan, koja je uspela da u isto vremebude sjajan mentor i veliki prijatelj. Bez njene bezrezervne podrske, ovaj ceoput bi bio potpuno drugaciji, mnogo tezi i manje zanimljiv. Ona mi je otkrilajedan potpuno novi svet matematike, logike i racunarstva, ohrabrila me daizaberem novi istrazivacki put i ponovo u sebi pronadjem matematicara.

Takodje sam zahvalna profesorima Sinisi Crvenkovicu i Jovanki Pantovic,na interesovanju koje su pokazali za moj rad.

Iznad svega, hocu da se zahvalim mami, tati i Danki za njihovu ljubav,beskonacno poverenje i strpljenje. Zatim Srdjanu, Danieli, Dudi, Gagi, Goci,Ivani, Jovani, Liviji, Mimi, Tanji i Zoranu i ostalim prijateljima i porodicisto su bili tu kada su mi bili potrebni.

Mojim kolegama sa Instituta za Matematiku i fiziku u tenhici, Fakul-teta tehnickih nauka u Novom Sadu dugujem zahvalnost za kreativnu i pri-jateljsku atmosferu u kojoj je pravo zadovoljstvo raditi.

A sve ovo je samo pocetak.

i

ii

iii

UNIVERZITET U NOVOM SADUFAKULTET TEHNICKIH NAUKAKLJUCNE DOKUMENTACIJSKE INFORMACIJE

Tip dokumentacije: Monografski radTD

Tip zapisa: StampaTZ

Vrsta rada: Magistarski radVR

Autor: Silvia LikavecAU

Mentor/Komentor: Prof. dr. Silvia GilezanMN

Naslov rada: Metod redukcije u lambda racunu sa tipovima sa presekomNR

Jezik publikacije: SrpskiJP

Jezik izvoda: SrpskiJI

Zemlja publikovanja: Srbija i Crna GoraZP

Uze geografsko podrucje: VojvodinaUGP

Godina: 2005GO

Izdavac: Fakultet tehnickih naukaIZ

Mesto i adresa: 21000 Novi Sad, Trg Dositeja Obradovica 6MA

iv

Fizicki opis rada: 6/102/0/0/0/0/0(poglavlja/strana/citata/tabela/slika/grafika/priloga)FO

Naucna oblast: MatematikaNO

Naucna disciplina: Matematika u tehniciND

Predmetna odrednica/ Matematika, logika, lambda racun,kljucne reci: tipovi sa presekom, metod redukcije,PO/UDK jaka normalizacija

Cuva se: U biblioteci Fakulteta tehnickih naukaCU

Vazna napomena:VN

Izvod: U radu je analiziran opsti metod redukcije uIA lambda racunu sa tipovima i njegova primena

na dokaze nekih vaznih osobina lambda termasa tipovima sa presekom.

Datum prihvatanja teme 30.03.2005.od strane NN veca:DP

Datum odbrane:DO

Clanovi komisije:KO

Predsednik: Prof. dr. Sinisa CrvenokovicClan: Prof. dr. Silvia GilezanClan: Prof. dr. Jovanka Pantovic

v

UNIVERSITY OF NOVI SADFACULTY OF ENGINEERINGKEY WORDS DOCUMENTATION

Document type: MonographDT

Type of record: PrintedTR

Content code: Master thesisCC

Author: Silvia LikavecAU

Menthor/Comenthor: Prof. Silvia Gilezan, PhDMN

Title: Reducibility method in lambda calculus with intersection typesTI

Language of text: SerbianLT

Language of abstract: SerbianLA

Country of publication: Serbia and MontenegroCP

Locality of publication: VojvodinaLP

Publication year: 2005PY

Publisher: Faculty of engineeringPU

Publication place: 21000 Novi Sad, Trg Dositeja Obradovica 6PP

vi

Physical description: 6/102/0/0/0/0/0(chapters/pages/ref./tables/pictures/graphs/appendixes)PD

Scientific field: MathematicsSF

Scientific discipline: Mathematics in engineeringSD

Subject/Key words: Mathematics, logic, lambda calculus,SKW intersection types, reducibility method,

strong normalisation

Holding data: Library of the Faculty of engineeringHD

Note:N

Abstract This work presents general reducibilityA method in typed lambda calculus and its

application to the proofs of some importantproperties of lambda terms typable withintersection types.

Accepted by the scientific board on: 30th March 2005.ASB

Defended on:DE

Thesis defend board:DB

Chair: Prof. Sinisa Crvenokovic, PhDMember: Prof. Silvia Gilezan, PhDMember: Prof. Jovanka Pantovic, PhD

Sadrzaj

1 Uvod 1

2 Lambda racun, kombinatori i tipovi 72.1 Lambda racun bez tipova . . . . . . . . . . . . . . . . . . . . 7

2.1.1 Sintaksa . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1.2 Redukcije . . . . . . . . . . . . . . . . . . . . . . . . . 122.1.3 Osnovne teoreme . . . . . . . . . . . . . . . . . . . . . 15

2.2 Teorija kombinatora . . . . . . . . . . . . . . . . . . . . . . . 172.3 Lambda racun sa tipovima . . . . . . . . . . . . . . . . . . . . 20

2.3.1 Tipovi . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.3.2 Tipski sistemi . . . . . . . . . . . . . . . . . . . . . . . 202.3.3 Osnovne osobine . . . . . . . . . . . . . . . . . . . . . 26

3 Tipiziranje i jaka normalizacija 273.1 Tipiziranje terma sa osobinom jake normalizacije . . . . . . . 273.2 Jaka normalizacija . . . . . . . . . . . . . . . . . . . . . . . . 36

4 Opsti postupak redukcije 434.1 Postupak redukcije za tipske sisteme sa presekom . . . . . . . 444.2 Kompletan metod u λ∩ . . . . . . . . . . . . . . . . . . . . . 56

4.2.1 Postojanje normalne forme u λ∩ . . . . . . . . . . . . . 574.2.2 Jedinstvenost normalne forme u λ∩ . . . . . . . . . . . 594.2.3 Konacnost redukcije sa leve strane u λ∩ . . . . . . . . 614.2.4 Jaka normalizacija u λ∩ . . . . . . . . . . . . . . . . . 62

4.3 Prvi deo metoda . . . . . . . . . . . . . . . . . . . . . . . . . 644.3.1 Konfluencija relacije →→βη u λ∩ . . . . . . . . . . . . . 644.3.2 Jedinstvenost βη-normalne forme u λ∩ . . . . . . . . . 67

4.4 Drugi deo metoda . . . . . . . . . . . . . . . . . . . . . . . . . 69

vii

viii SADRZAJ

4.4.1 Konfluencija relacije →→ u Λ . . . . . . . . . . . . . . . 704.4.2 Standardizacija u Λ . . . . . . . . . . . . . . . . . . . . 734.4.3 Konacnost razvoja u Λ . . . . . . . . . . . . . . . . . . 75

4.5 Opsti metod redukcije za osnovni tipski sistem λ→ . . . . . . 77

5 Primena tipova sa presekom i metoda redukcije 795.1 Karakterizacija ponasanja lambda terma pomocu lambda mod-

ela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.2 Tipovi sa presekom i computational effects . . . . . . . . . . . 83

6 Zakljucak 87

Glava 1

Uvod

Matematicka analiza programskih jezika zapocinje formulacijom tzv. “mo-dalnih” jezika pomocu kojih se mnoge karakteristike programskih jezika mogupredstaviti u svojoj najosnovnijoj formi. Jedan od nacina za proucavanjeraznih koncepata koji leze u osnovi programskih jezika je lambda racun.

Church je razvio lambda racun tokom tridesetih godina kao deo formalnelogike i formalizma za definisanje izracunljivih funkcija. Originalni sistem,koji nije imao tipove je trebao da ima jednu od osnovnih uloga u formalizacijimatematike. Ali kasnije je pronadjen paradoks u logici zasnovanoj na lambdaracunu bez tipova, tako da je to dovelo do razvoja lambda racuna sa tipovimakao jednog dela konzistentne logike viseg reda sa tipovima.

1936. Kleene je dokazao da su sve funkcije prirodnih brojeva koje semogu definisati u lambda racunu zapravo rekurzivne funkcije. Zatim je Tur-ing 1937. dokazao da se sve numericke funkcije koje se mogu predstaviti ulambda racunu mogu izracunati pomocu Turingovih masina. Ovi rezultatisu uspostavili vezu izmedju lambda racuna i ostalih modela izracunljivosti.Nakon otkrica racunara, lambda racun je bitno uticao na razvoj LISP-a kra-jem pedesetih godina. Vremenom je pokazano da se bolje razumevanje se-mantike programskih jezika moze postici proucavanjem lambda racuna. Osimtoga, razne varijante i ekstenzije lambda racuna dovele su do razvoja velikogbroja kako funkcionalnih, tako i objektno-orijentisanih programskih jezika.

Lambda racun bez tipova

Lambda racun formalizuje algoritamski pojam funkcije i sluzi kao osnovni

1

2 GLAVA 1. UVOD

mehanizam za konstrukciju funkcija viseg reda. Izrazi u ovoj formalnoj teorijise nazivaju lambda termi i svaki ovakav izraz oznacava funkciju.

Dva osnovna pojma u lambda racunu su apstrakcija i aplikacija. Lambdaapstrakcija se koristi za zapis funkcija, dok aplikacija omogucava koriscenjefunkcija koje smo definisali. Ako sa M(x) oznacimo izraz koji zavisi od xonda se lambda apstrakcija oznacava sa λx.M(x) i intuitivno predstavljapreslikavnje x 7→M(x). Aplikacija funcije M na argument N se oznacava saMN .

Lambda racun sa tipovima

Iako lambda racun bez tipova predstavlja jednostavniji model za opi-sivanje programskih jezika, lambda racun sa tipovima omogucuje njihovudublju i detaljniju analizu. Koriscenjem lambda racuna sa tipovima sa struk-turama podataka koje imaju tipove koji odgovaraju tipovima u programskimjezicima, moguce je vrlo verno modelirati ekspresivnost i ogranicnja program-skih jezika.

U vecini programskih jezika, tipska ispravnost programa se proverava iliu toku kompilacije ili u toku izvrsenja programa.

U lambda racunu sa tipovima, domen funkcije je odredjen tipom for-malnog parametra. Ako je M dobro formiran izraz, pod pretpostavkom dapromenljiva x ima tip σ , tada izraz λx : σ.M oznacava funkciju koja pres-likava x iz σ u vrednost odredjenu sa M . Jednostavan primer je lambdaterm

λx : nat.x

koji predstavlja identicno preslikavanje u skupu prirodnih brojeva.

Kako postoje dve verzije lambda racuna sa tipovima, moguce je for-mulisati tipske sisteme na dva nacina. U tipskom sistemu a la Church tipje nerazdvojni deo lambda terma, odnosno svaki term ima svoj jedinstvenitip. U tipskom sistemu a la Curry postoje odredjena pravila za dodeljivanjetipova na osnovu kojih je moguce dodeliti beskonacno mnogo tipova lambdatermima bez tipova.

Ne svi lambda termi imaju tip i u razlicitim tipskim sistemima razlikujuse klase terma koji imaju tip, kao i tipovi koji im se mogu dodeliti.

3

Osnovni tipski sistem λ→, koji se naziva i Curry-jev tipski sistem mozebiti dat na oba nacina. Tipovi u ovom sistemu se formiraju koristeci jedinooperaciju strelica→. Aplikacija lambda terma dovodi do eliminacije strelice,dok je apstrakcija uvodi.

Jedna od vrlo znacajnih ekstenzija Curry-jevog sistema λ→ je prosirenjesa tipovima sa presekom. Ovaj sistem je definisan u Coppo i dr. [9], Baren-dregt i dr. [4], i Copo i dr. [10] i oznacava se sa λ∩Ω. Osim operacije →,uvodi se presek ∩ kao nova operacija za formiranje tipova i time dozvoljavamogucnost da jedan term ima dva tipa σ i τ istovremeno.

Kako je pojam tipova sa presekom zasnovan na intuitivnoj skupovnojinterpretaciji, sasvim prirodno se uvodi i univerzalni tip ω koji moze bitidodeljen svakom lambda termu. Zbog toga je problem tipiziranja trivi-jalan u ovom sistemu. Ali ovaj sistem nam omogucava vrlo jasnu karakter-izaciju klase terma koji imaju normalnu formu (predstavljaju skup totalnorekurzivnih funkcija), pocetnu normalnu formu i osobinu jake normalizacije.

U ovom radu, bice proucavan sistem λ∩Ω, kao i njegove restrikcije D, DΩi λ∩.

Metod redukcije

U poslednje vreme ponovo raste zanimanje za razne vidove interpretacijapomocu realizabilnosti (realizability interpretation) narocito u semantikamateorije tipova za konstruktivno zakljucivanje i semantikama programskihjezika. Skupovno-teoretska interpretacija tipova sa presekom i zasicenihskupova omogucava upotrebu metoda redukcije ili logickih relacija u dokaz-ima mnogih vaznih osobina terma koji imaju tip u ovim sistemima.

Metod redukcije, zasnovan na interpretaciji tipova, je prvi put koristen uTait [36] za dokaz jake normalizacije za tipski sistem λ→. Osim jake normal-izacije, metod redukcije se moze upotrebiti za dokaz konfluencije (ChurchRosser-ove osobine) kao i drugih osnovnih rezultata u ovom sistemu i udrugim tipskim sistemima. Takodje, ovaj metod je vrlo pogodan za karakter-izaciju raznih klasa lambda terma kao sto su termi sa osobinom jake normal-izacije, termi koji imaju normalnu formu, termi koji imaju pocetnu normalnuformu ili slabu pocetnu normalnu formu.

4 GLAVA 1. UVOD

Kako se ovaj metod moze primeniti i na tipske sisteme sa presekom,u ovom radu cemo ga iskoristiti da bi na uniforman nacin dokazali nekeredukcijske osobine lambda terma koji imaju tip u ovom sistemu.

Osnovna ideja metoda redukcije je da se nadje veza izmedju lambda termakoji imaju tip u odredjenom sistemu i lambda terma koji zadovoljavaju odred-jene redukcijske osobine (na primer konfluenciju, osobinu jake normalizacije).Zbog toga se tipovi interpretiraju odgovarajucim skupovima lambda terma:zasicenim i stabilnim skupovima u Tait [36] i Krivine [28] i dozvoljenim relaci-jama u Mitchell [31] i [32]. Ove interpretacije su zasnovane na skupovimalambda terma koje posmatramo i omogucuju nam dokaz valjanost dodelji-vanja tipova. Kao posledicu valjanosti dobijamo cinjenicu da svaki term kojiima tip u odgovarajucem sistemu, pripada interpretaciji svog tipa, odnosnozadovoljava posmatranu redukcionu osobinu.

Pregled

Rad je grupisan u pet celina. U prvom delu su navedeni osnovni pojmovii osobine koji ce biti korisceni u sledecim poglavljima. Drugi deo je posvecenosobini jake normalizacije i tipiziranju u sistemima sa presekom. Treci deose odnosi na opsti metod redukcije u lambda racunu sa tipovima i njegovuprimenu na dokaze nekih vrlo vaznih osobina lambda terma sa tipovima sapresekom. Rezultati iz ovog dela su dobijeni u saradnji sa Prof. dr. Sil-viom Gilezan i objavljeni su u [20, 21, 22]. U cetvrtom delu su dati primeriprimene tipova sa presekom i metoda redukcije. Poslednji, peti deo sumiradate rezultate.

Prva glava Lambda racun, kombinatori i tipovi je uvodna i ima tripoglavlja. U prvom poglavlju navedeni su osnovni pojmovi lambda racunabez tipova, njegova sintaksa, relacije redukcije i osnovne teoreme. Drugopoglavlje daje kratak osvrt na teoriju kombinatora. Trece poglavlje sadrziosnovne pojemove i osobine vezane za lambda racun sa tipovima i tipskesisteme.

Druga glava Jaka normalizacija i tipiziranje se bavi jednom od vrlovaznih osobina jake normalizacije i tipiziranjem terma u razlicitim tipskimsistemima sa presekom. Ova glava ima dva poglavlja. U prvom poglavljupokazano je da svi termi koji imaju osobinu jake normalizacije imaju tip u

5

sistemu D i λ∩. Takodje, dat je osvrt na relacije redukcije i ekspanzije uovim sistemima. U drugom poglavlju pokazano je da svi termi koji imaju tipu sistemima D i λ∩ imaju osobinu jake normalizacije. Ideja opsteg metodaredukcije pokazanog u Trecoj glavi zasnovana je na ovom dokazu.

Treca glava Opsti metod redukcije ima cetiri poglavlja. Osnovna idejametoda redukcije, data u prvom poglavlju, je interpretacija tipova kao odgo-varajucih skupova lambda terma koji zadovoljavaju odgovarajuce osobine.Pomocu ovog metoda dokazuju se redukcijske osobine lambda terma kojiimaju tipove sa presekom. Razlikujemo dve razlicite vrste interpretacijetipova u odnosu na dati skup P ⊆ Λ u odsustvu η-redukcije. Takodje,razlikujemo dve razlicite vrste uslova koje dati skup P ⊆ Λ treba da zadovol-java. Kombinujuci razlicite interpretacije tipova sa odgovarajucim uslovimaza skup P ⊆ Λ dobija se semantika i moze se dokazati valjanost u oba slucaja.

Osobina jake normalizacije lambda terma koji imaju tip moze se dokazatipomocu obe kombinacije i ovo je pokazano u drugom poglavlju. Osim togapokazano je postojanje normalne forme, jedinstvenost normalne forme i ko-nacnost redukcije sa leve strane u sistemu λ∩. Metod sa jacim uslovima za Pi odgovarajucom interpretacijom tipova dat u trecem poglavlju dovodi do uni-forminh dokaza konfluencije βη-redukcije i jedinstvenosti βη-normalne formeza lambda terme koji imaju tip u sistemu λ∩. Metod sa slabijim uslovimza P i odgovarajucom jakom interpretacijom tipova je u cetvrtom poglavljuprimenjen na dokaze konfluencije β-redukcije, standardizacije i konacnostirazvoja u sistemu λ∩Ω i u celom skupu Λ.

Cetvrta glava Primena tipova sa presekom i metoda redukcije ima dvapoglavlja. U prvom poglavlju je pokazano kako se tipovi sa presekom moguiskoristiti da bi se konstruisali lambda modeli koji karakterisu grupe lambdaterma sa odredjenim osobinama. U drugom poglavlju je analizirana koegzis-tencija tipova sa presekom i computational effects.

U petoj glavi Zakljucak sumirani su rezultati prezentovani u ovom radu.

6 GLAVA 1. UVOD

Glava 2

Lambda racun, kombinatori itipovi

Prvo poglavlje je uvodno i u njemu su dati osnovni pojmovi lambda racunabez tipova, teorije kombinatora, i osnovnih tipskih sistema. Za lambdaracun bez tipova, osnovna literatura je Barendregt [2], dok je za lambdaracun sa tipovima osnovna literatura Barendregt [3]. Poglavlje 2.1 se bavilambda racunom bez tipova, njegovom sintaksom, pojmom redukcije i os-novnim teoremama. Poglavlje 2.2 daje kratak pregled teorije kombinatoradok Poglavlje 2.3 sadrzi osnovne pojmove o tipskim sistemima sa presekom.

2.1 Lambda racun bez tipova

Lambda racun je prvobitno formalizovao Church 1930-ih godina kao deo opsteteorije funkcija i logike. Kasnije je pokazano da je ceo sistem bio nekonzi-stentan. Ali podsistem koji se bavio samo funkcijama se pokazao kao uspesanmodel za izracunljive funkcije. Ovaj sistem se danas zove lambda racun.

Iako lambda racun ima veoma jednostavnu sintaksu, on predstavlja os-novu za implementaciju i dizajn mnogih programskih jezika. Lambda racunposeduje mnoge odlike programskih jezika i, mnogi problemi, narocito onikoji se odnose na pozive procedura, su u osnovnoj formi. Na primer, vezanepromenljive u lambda racunu odgovaraju formalnim parametrima u proce-duri. U LISP-u, procedure mogu biti argumenti procedura, a proceduremogu cak biti i izlazne vrednosti procedura. Programski jezici GENDAKEN i

7

8 GLAVA 2. LAMBDA RACUN, KOMBINATORI I TIPOVI

FORSYTHE koje je dizajnirao Reynolds su eksplicitno zasnovani na lambdaracunu. Zbog ovih slicnosti, teoretska studija lambda racuna u mnogomepomaze u razvijanju funkcionalnih programskih jezika.

Lambda racun je formalna teorija koja se bavi funkcijama i konstrukcijomnovih funkcija. Izrazi u ovoj formalnoj teoriji se nazivaju lambda termi i svakiovakav izraz oznacava funkciju.

Dve osnovne operacije lambda racuna su aplikacija i apstrakcija. Pri-mena funkcije M na argument N se oznacava sa MN . Kao sto je primecenou Barendregt [3], izraz MN oznacava podatak M koji se smatra algoritmom,primenjen na argument N koji se smatra ulaznim podatkom. Moguca jetakodje i samoaplikacija MM koja je korisna kod simulacije rekurzije. Akoje M(x) izraz koji zavisi od x, tada apstrakcija λx.M(x) oznacava intuitivnopreslikavanje x 7→ M(x). Promenljiva x ne mora se, u opstem slucaju, po-javljivati u M i tada je M konstantna funkcija cija je vrednost M .

Jedan od nacina za razumevanje lambda terma je poredjenje sa alterna-tivnim nacinima za zapis funkcija. Posmatrajmo funkciju

λx.x

koja predstavlja identicnu funkciju koja preslikava svaki element u samogsebe. Drugi nacin da se zapise ova funkcija je

Id : x 7→ x,

dok je u programiranju uobicajen zapis

Id(x) = x.

Medjutim, ovaj nacin zapisivanja funkcija nas navodi da za svaku funkcijukoju napisemo pronadjemo novo ime, dok nam lambda zapis omogucuje dadirektno definisemo funkcije na vrlo jasan i jednostavan nacin.

Jos neki primeri lambda izraza su λx.x + 1 koji definise funkciju “sled-benik” ili λx.5 koji oznacava konstantnu funkciju.

Vazno je naglasiti da je λ simbol koji vezuje promenljive. To znacida u lambda termu λx.M , promenljiva x ima istu ulogu kao, na primer,promenljiva x u izrazu

∫f(x)dx. Dakle, λx.x i λy.y samo dva nacina da se

zapise ista funkcija.

2.1. LAMBDA RACUN BEZ TIPOVA 9

Aplikacija funkcije se u lambda racunu zapisuje samo stavljanjem lambdaterma pored jednog ili vise argumenata. Na primer, primena funkcije λx.xna broj 5 se zapisuje kao

(λx.x)5

Funkcije vise promenljivih se takodje mogu predstaviti u lambda racunu.Ovo se postize uzastopnom upotrebom aplikacije. Ideju je prvi razvio Schon-finkel dvadesetih godina, ali se sam postupak naziva currying jer ga je neza-visno razvio Curry.

Currying se zasniva na sledecoj ideji: ako funkcija f(x, y) zavisi od dvepromenljive, tada funkcije g i h mogu biti definisane sa

g = λy.f(x, y)

h = λx.g.

U tom slucaju jeh = λx.g = λxy.f(x, y)

ihxy = (λx.g)xy = (λxy.f(x, y))xy = f(x, y).

Za funkcije koje zavise od n promenljivih imamo:

(λx1 . . . xn.f(x1, . . . , xn))x1 . . . xn = f(x1, . . . , xn).

U vektorskom zapisu, ova jednacina postaje

(λ→

x .f(→

x ))→

x = f(→

x );

ili uopsteno

(λ→

x .f(→

x ))→

N = f(→

N).

2.1.1 Sintaksa

Sada smo u mogucnosti da damo formalnu definiciju lambda racuna.

Alfabet lambda racuna se sastoji od:

- prebrojivog skupa promenljivih V = x, y, z, x1, . . .;

10 GLAVA 2. LAMBDA RACUN, KOMBINATORI I TIPOVI

- prebrojivog skupa konstanti C = c, d, e, c1, . . .;

- operacije aplikacije ·;

- operacije apstrakcije λx.;

- pomocnih simbola (,).

Definicija 2.1.1 Skup Λ se definise na sledeci nacin:

1. V ⊆ Λ, C ⊆ Λ.

2. Ako M,N ∈ Λ, onda (MN) ∈ Λ.

3. Ako M ∈ Λ i x ∈ V, onda (λx.M) ∈ Λ.

Koristeci apstraktnu sintaksu, skup Λ mose biti generisan na sledeci nacin:

Λ = var | ΛΛ | λvar.Λvar = x | var′

Za termske promenljive se koriste oznake x, y, z, . . . , x1, . . . dok se zalambda terme koriste oznake M,N,P, . . .M1, . . ..

Na primer, sledeci izrazi su lambda termi:

x, (xy), (λx.(yz)).

Zbog jednostavnosti, koriste se sledeci skraceni zapisi:

λx1x2 . . . xn.M umesto (λx1.(λx2 . . . (xn.M) . . .)) i

M1M2 . . .Mn umesto (. . . (M1M2) . . .Mn),

sto znaci da se lambde pridruzuju na desno, dok se zagrade pridruzuju nalevo.

Koristeci ovu konvenciju, termi iz prethodnog primera se mogu zapisatina sledeci nacin:

x, xy, λx.yz.

Definicija 2.1.2 Pojam podterma se definise na sledeci nacin:

2.1. LAMBDA RACUN BEZ TIPOVA 11

1. M je podterm od M ;

2. Ako je MN podterm terma P , tada su i M i N podtermi terma P ;

3. Ako je λx.M podterm terma P , tada je M podterm terma P .

Definicija 2.1.3 Skup Fv(M) slobodnih promenljivih lambda terma M seinduktivno definise na sledeci nacin:

1. Fv(x) = x;

2. Fv(MN) = Fv(M) ∪ Fv(N);

3. Fv(λx.M) = Fv(M)\x.

Promenljiva koja nije slobodna se naziva vezana promenljiva.

Term M je zatvoren ili kombinator ako je Fv(M) = ∅. Skup zatvorenihlambda terma se oznacava sa Λ0.

M ≡ N je sintaksni identitet medju termima. To znaci da su M i Nekvivalentni lambda termi ili se mogu dobiti jedan iz drugog preimenovanjemvezanih promenljivih. Na primer:

(λx.x)z ≡ (λx.x)z

(λx.x)z ≡ (λy.y)z ali

(λx.x)z 6≡ (λx.y)z.

M [x :=N ] oznacava zamenu svih slobodnih pojavljivanja promenljive x utermu M termom N , uzimajuci u obzir da slobodne promenljive u N morajuostati slobodne u novodobijenom termu. Ovo je formalizovano u sledecojdefiniciji.

Definicija 2.1.4 (Zamena slobodnih promenljivih)

1. x[x :=N ] ≡ N ;

2. y[x :=N ] ≡ y;

3. (PQ)[x :=N ] ≡ (P [x :=N ])(Q[x :=N ]);

4. (λy.P )[x :=N ] ≡ λy.(P [x :=N ]), y 6= x;

12 GLAVA 2. LAMBDA RACUN, KOMBINATORI I TIPOVI

5. (λx.P )[x :=N ] ≡ (λx.P ).

Neki od osnovnih lambda terma su sledeci:

I ≡ λx.x, K ≡ λxy.x, S ≡ λxyz.xz(yz),

∆ ≡ λx.xx, Ω ≡ (λx.xx)(λx.xx),

Y ≡ λf.(λx.f(xx))(λx.f(xx)).

2.1.2 Redukcije

Aksioma α-redukcije je

λx.M →α λy.M [y :=x], y /∈ Fv(M).

Ova aksioma je poznatija kao preimenovanje vezanih promenljivih.Imena vezanih promenljivih se uvak biraju tako da se razlikuju od imena

slobodnih promenljivih u termu.

Definicija 2.1.5 Aksiome i pravila lambda racuna su:

1. M = M ;

2. M = N ⇒ N = M ;

3. M = N, N = L ⇒ M = L;

4. M = N ⇒ MP = NP ;

5. M = N ⇒ PM = PN ;

6. M = N ⇒ λx.M = λx.N .

Osnovna aksioma lambda racuna je β-redukcija (β-kontrakcija) i defini-sana je na sledeci nacin:

(λx.M)N→β M [x :=N ], za sve M,N ∈ Λ, x ∈ V.

Relacija →β je zatvorena u odnosu na kongruenciju.

2.1. LAMBDA RACUN BEZ TIPOVA 13

Lambda term oblika (λx.M)N se naziva redeks, dok se term oblikaM [x :=N ]naziva kontraktum.

Term M se β-redukuje na term N , oznaka

M→→β N,

ako postoje termi M ≡ M1, . . . ,Mn ≡ N , takvi da za svako i ∈ 1, . . . n,Mi→β Mi+1. Dakle, relacija→→β je tranzitivno i refleksivno zatvorenje relacije→β. β-jednakost, =β, je simetricno zatvorenje relacije →→β. Zbog jednos-tavnosti, koristicemo oznaku → umesto →β i →→ umesto →→β.

Ekspanzija je relacija inverzna relaciji redukcije, sto znaci da je u prethod-nom slucaju term M ekspanzija terma N .

Definicija 2.1.6 Ako je M ∈ Λ lambda term, njegovi redeksi se definisuinduktivno:

1. Ako x ∈ V, onda x nema redekse.

2. Ako je M ≡ PQ, tada su redeksi terma M redeksi terma P , redeksiterma Q i term M , ako P pocinje sa λ.

3. Ako je M ≡ λx.N , tada su redeksi terma M redeksi terma N .

AkoM ≡ λx1 . . . xn.(λx.M0)M1 . . .Mm, n ≥ 0,m ≥ 1, tada se (λx.M0)M1

naziva pocetni redeks terma M . Koristicemo oznaku M→hM′ ako je term

M ′ dobijen od terma M redukovanjem pocetnog redeksa terma M (pocetnaredukcija). Ako je term M ′ dobijen od terma M redukovanjem nekog drugogredeksa, koristicemo oznaku M→iN (unutrasnja redukcija). Takodje cemokoristiti tranzitivna zatvorenja ovih relacija, u oznaci →→h i →→i, redom, uGlavi 3, Poglavlju 4.3.

Navescemo sada neke specificne redukcije, koje ce biti koristene u Glavi 3.

Definicija 2.1.7 Redukcija je standardna ako moze biti razlozena na pocetneredukcije iza kojih slede unutrasnje redukcije.

Standardnu redukciju cemo oznacavati sa →s, a njeno refleksivno, tranz-itivno zatvorenje sa →→s.

14 GLAVA 2. LAMBDA RACUN, KOMBINATORI I TIPOVI

Definicija 2.1.8 Redukcija sa leve strane, →ℓ, redukuje najpre ”najlevlji”redeks, odnosno ako se sve kontrakcije izvode sa leva na desno, odnosno nijedan redeks se ne redukuje ako je ostatak nekog redeksa koji se nalazi sa levestrane vec redukovanog redeksa.

Tranzitivno, refleksivno zatvorenje relacije →ℓ se oznacava sa →→ℓ.

Normalna forma je term koji ne sadrzi nijedan redeks. Ako M→→N iN je normalna forma, tada kazemo da M ima osobinu normalizacije (imanormalnu formu).

Term ima osobinu jake normalizacije ako su sve njegove redukcije konacne.Pocetna normalna forma je term oblika

λx1 . . . xn.yM1 . . .Ml,

pri cemu y moze biti neka od promenljivih xi, 1 ≤ i ≤ n, 0 ≤ n i Mj ∈Λ, 1 ≤ j ≤ l, 0 ≤ l. Term M je resiv (ima pocetnu normalnu formu) akopostoje termi N ∈ Λ takvi da M→→N i da N ima pocetnu normalnu formu.Term je neresiv ako nije resiv.

Term ima slabu pocetnu normalnu formu ako se redukuje do apstrakcijeili do terma koji pocinje slobodnom promenljivom.

Na primer:

• Ω nema osobinu normalizacije i nije resiv:

Ω→ Ω→ ...;

• Y nema osobinu normalizacije ali je resiv:

Y → λf.f((λx.f(xx))(λx.f(xx)))→ λf.ff...;

• KIΩ ima osobinu normalizacije, ali nema osobinu jake normalizacije:

KIΩ→ I,

KIΩ→ KIΩ→ KIΩ→ ...;

• KIS ima osobinu jake normalizacije:

KIS→ I.

2.1. LAMBDA RACUN BEZ TIPOVA 15

Osnovna aksioma η-redukcije je

λx.Mx→η M, x /∈ Fv(M).

Relacija →η je zatvorena u odnosu na kongruenciju.

Term oblika λx.Mx, gde x /∈ Fv(M), se naziva η-redeks. Tranzitivnorefleksivno zatvorenje relacije →η je →→η. η-jednakost, =η, je simetricnozatvorenje relacije →→η.

βη-normalna forma je term koji ne sadrzi ni redeks, ni η-redeks.

2.1.3 Osnovne teoreme

U ovom delu bice navedene neke od osnovnih teorema lambda racuna. Nekeod njih koje se odnose na redukcijske osobine lambda terma koji imaju tipce biti dokazane u Poglavljima 4.3, 4.2.4 i 4.4.

Teorema 2.1.9 Skup svih normalnih formi

N = M ∈ Λ | M je normalna forma

se moze induktivno okarakterisati:

1. x ∈ N za svako x ∈ V.

2. Ako M1, . . . ,Mn ∈ N, onda xM1 . . .Mn ∈ N.

3. Ako M ∈ N, onda λx.M ∈ N.

Dakle, sve normalne forme su oblika:

λy1 . . . yn.zN1 . . . Nk,

gde su termi Ni, 1 ≤ i ≤ k, 0 ≤ k, takodje normalne forme, a z moze bitijedna od promenljivih yj, 1 ≤ j ≤ n, 0 ≤ n.

Teorema 2.1.10 (Church-Rosser, Konfluencija) Ako M1←←M→→M2,tada postoji lambda term M3 ∈ Λ takav da M1→→M3←←M2.

16 GLAVA 2. LAMBDA RACUN, KOMBINATORI I TIPOVI

Ova teorema moze biti predstavljena sledecim dijagramom, pri cemu stre-lice predstavljaju β-redukciju →→:

Mւ ց

M1 M2

ց ւM3

Posledica 2.1.11 1. Lambda term ima najvise jednu normalnu formu,odnosno normalna forma terma je jedinstvena.

2. Ako je M = N , tada postoji lambda term S takav da M→→S i N→→S.

3. Ako M i N imaju osobinu normalizacije i M = N , tada ova dva termaimaju istu normalnu formu.

Teorema 2.1.12 (Konfluencija βη-redukcije) Ako M1←←βηM→→

βηM2, tada

postoji lambda term M3 ∈ Λ takav da M1→→βηM3←←

βηM2.

Tvrdjenje 2.1.13 Svaka redukcija moze biti razlozena na pocetnu redukcijunakon koje sledi unutrasnja redukcija.

Teorema 2.1.14 (Teorema o standardizaciji) Ako M→→N , tada postoji“standardna” redukcija od terma M do terma N , odnosno M→→sN .

Teorema 2.1.15 (Konacnost redukcije sa leve strane) Ako M ima nor-malnu formu, tada redukovanjem ”najlevljeg” redeksa dolazimo do te nor-malne forme, odnosno redukcija sa leve strane ima osobinu normalizacije.

Jos jedna vazna teorema lambda racuna je sledeca:

Teorema 2.1.16 (Teorema o nepokretnoj tacki)

1. Za svaki lambda term M ∈ Λ postoji term N ∈ Λ takav da MN = N .

2. Postoji fiksni kombinator

Y ≡ λf.(λx.f(xx))(λx.f(xx))

takav da je M(YM) = YM za sve terme M ∈ Λ.

2.2. TEORIJA KOMBINATORA 17

2.2 Teorija kombinatora

Uz pomoc kombinatora, uvedena je jos jedna teorija koja se bavi funkci-jama, kao analogon lambda racuna. Ovu teoriju su nezavisno formalizo-vali Schonfinkel 1920-ih godina i Curry 1930-ih godina. Osnovna ideja kojaje podstakla uvodjenje kombinatora je reprezentacija funkcija bez upotrebepromenljivih. Na taj nacin moguce je opisati osobine operacija i logickihveznika u njima.

Alfabet teorije kombinatora se sastoji od:

- prebrojivog skupa promenljivih V = x, y, z, x1, . . .;

- prebrojivog skupa konstanti C = c, d, e, c1, . . .;

- skupa osnovnih kombinatora B = K, S, I;

- operacije aplikacije ·;

- pomocnih simbola (,).

Definicija 2.2.1 Skup C kombinatornih izraza se definise na sledeci nacin:

1. V ⊆ C, C ⊆ C, B ⊆ C.

2. Ako E1, E2 ∈ C, onda (E1E2) ∈ C.

Kombinatori su kombinatorni izrazi bez promenljivih.

Zbog jednostavnosti, koristicemo sledecu skracenicu:

E1E2 . . . En umesto (. . . (E1E2) . . . En),

sto znaci da su prilikom aplikacije zagrade pridruzene na levo.

Definicija 2.2.2 Aksiome i pravila teorije kombinatora su sledeca:

1. IE1 = E1;

2. KE1E2 = E1;

18 GLAVA 2. LAMBDA RACUN, KOMBINATORI I TIPOVI

3. SE1E2E3 = E1E3(E2E3);

4. E1 = E1;

5. E1 = E2 ⇒ E2 = E1;

6. E1 = E2, E2 = E3 ⇒ E1 = E3;

7. E1 = E2, E3 = E4 ⇒ E1E3 = E2E4.

Primetimo da je I = SKK.

Analogno kao u lambda racunu, definise se kombinatorna redukcija.

Definicija 2.2.3 Ako su E i F kombinatorni izrazi, tada E →C F ako jeE = F ili ako se F moze dobiti od E primenom sledecih pravila:

1. KE1E2 →C E1;

2. SE1E2E3 →C E1E3(E2E3);

3. IE1 →C E1.

Kombinatorni izraz je kombinatorna normalna forma ako ne sadrzi podizrazeoblika KE1E2 ili SE1E2E3. U tom slucaju teorema o normalizaciji vazi zakombinatorne izraze.

Svaki lambda term moze biti izrazen ekvivalentnim kombinatornim izra-zom. Ovo je poznato kao funkcionalna kompletnost kombinatora.

Primetimo da pojam apstrakcije nije deo formalizma. Zbog toga sedefinise operator λ∗x koji ce biti koristen da simulira apstrakciju.

Definicija 2.2.4 Neka je x proizvoljna promenljiva i E proizvoljan kombina-torni izraz. Tada se kombinatorni izraz λ∗x.E induktivno definise na sledecinacin:

1. λ∗x.x = I;

2. λ∗x.y = Ky, (x 6= y);

3. λ∗x.C = KC, (C je kombinator);

2.2. TEORIJA KOMBINATORA 19

4. λ∗x.(E1E2) = S(λ∗x.E1)(λ∗x.E2).

Primer 2.2.5 λ∗x.fx = S(λ∗x.f)(λ∗x.x) = S(Kf)I.

Da bi se dobila ekstenzionalna jednakost kombinatornih terma prosiricemoDefiniciju 2.2.2 sa sledecim pravilom

E1 = E2 ⇒ λ∗x.E1 = λ∗x.E2.

Naravno, postoji vrlo jaka veza izmedju ova dva sistema. Mozemo defin-isati preslikavanje

( )λ : C→Λ

koje preslikava proizvoljni kombinatorni izraz E u lambda term (E)λ i pres-likavanje

( )C : Λ→C

koje preslikava proizvoljni lambda term M u kombinatorni izraz (M)C .

Definicija 2.2.6 1. (x)λ = x;

2. (I)λ = λx.x;

3. (K)λ = λxy.x;

4. (S)λ = λxyz.xz(yz);

5. (E1E2)λ = (E1)λ(E2)λ.

Definicija 2.2.7 1. (x)C = x;

2. (MN)C = (M)C(N)C;

3. (λx.M)C = λ∗x.(M)C.

Sledeca teorema daje ekvivalenciju izmedju teorije kombinatora i lambdaracuna.

Teorema 2.2.8 Neka E1, E2 ∈ C i M,N ∈ Λ. Tada:

1. ((E)λ)C = E, (λ∗x.E)λ = λx.(E)λ;

2. ((M)C)λ = M ;

3. E = F ako i samo ako (E)λ = (F )λ;

4. M = N ako i samo ako (M)C = (N)C.

20 GLAVA 2. LAMBDA RACUN, KOMBINATORI I TIPOVI

2.3 Lambda racun sa tipovima

2.3.1 Tipovi

Tipovi su sintakticki objekti koji se dodeljuju lambda termima da bi blizeodredili osobine tih lambda terma.

Tip dodeljen termu moze se uporediti sa dimenzijom fizickog entiteta.Takodje, termi i njihovi tipovi mogu se posmatrati kao programi i njihovespecifikacije. Koriste se da poboljsaju efikasnost kompilacije terma koji pred-stavljaju funkcionalne algoritme.

Postoje dve razlicita nacina formulisanja tipskih sistema. U lambdaracunu koji je uveo Curry, termi se biraju iz teorije bez tipova i svakomtermu moze biti dodeljeno beskonacno mnogo tipova. U sistemu koji je for-mulisao Church, svaki term ima tip koji je jedinstven. Detaljan pregled ovadva sistema je dat u Barebdregt [3].

Ovim razlicitim pristupima u formiranju tipskih sistema odgovaraju dverazlicite paradigme u programiranju. Prva se zove “implicitno dodeljivanjetipova”, dok je druga poznata kao ”eksplicitno dodeljivanje tipova”. Tipicnipredstavnici prve grupe su programski jezici ML i HASKELL, dok su primeriza drugu tehniku programski jezici ALGOL i PASCAL. Neki autori nazivajuCurry-jev sistem ”lambda racun sa dodeljivanjem tipova”, a Church-ov sis-tem ”lambda racun sa tipovima”.

Jos jedan pristup interpretaciji tipskih sistema je “Curry-Howard-ova ko-respondencija” ili interpretacija formula konstruktivne logike kao tipova idokaza kao terma (Howard [25]). Na osnovu ove analogije, tipovi koji odgo-varaju lambda termima u sistemu λ→ odgovaraju formulama koje se mogudokazati u intuicionistickoj logici. Logicka interpretacija tipova sa presekomje data u Dezani i dr. [14].

2.3.2 Tipski sistemi

Osnovni tipski sistem λ→, koji se naziva i Curry-jev tipski sistem moze bitidat na oba nacina. Jedina operacija koja se koristi za formiranje tipova je

2.3. LAMBDA RACUN SA TIPOVIMA 21

strelica. Aplikacija lambda terma dovodi do eliminacije strelice, dok je ap-strakcija uvodi.

Poznata su mnoga prosirenja tipskog sistema λ→. Jedan od njih je tipskisistem sa presekom ili Torino sistem. Ovaj sistem su formulisali M. Dezani-Ciancaglini i M. Coppo u [8] i Coppo i dr. u [9] i [10]. Tipski sistem sapresekom je uopstenje Curry-jevog tipskog sistema i uveden je da bi se moglaokarakterisati sira klasa lambda terma nego u sistemu λ→. Njegova osnovnaodlika je novi operator za formiranje tipova, presek ∩, cije su osobine u skladusa njegovom interpretacijom kao presek tipova. U ovom sistemu je mogucedodeliti termu dva tipa σ i τ istovremeno. Lambda termi koji imaju osobinujake normalizacije su jedini termi koji imaju tip u ovom sistemu. Glava 2 jeposvecena ovoj izuzetno vaznoj osobini tipskih sistema sa presekom.

Druga znacajna odlika tipskih sistema sa presekom je novi tip ω koji mozebiti dodeljen svakom lambda termu. Zbog toga je tipizacija terma u ovomsistemu trivijalna.

Sledeca definicija daje formalizaciju tipskog sistema sa presekom, koji seoznacava sa λ∩Ω.

Definicija 2.3.1 Skup tipova type se definise na sledeci nacin:

1. V = α, β, γ, α1, . . . ⊂ type (V je prebrojiv skup tipskih promenljivih);

2. Ako σ, τ ∈ type, onda (σ→ τ) ∈ type;

3. Ako σ, τ ∈ type, onda (σ ∩ τ) ∈ type;

4. ω ∈ type.

Definicija 2.3.2 Koristeci apstraktnu sintaksu, skup tipova moze biti defi-nisan na sledeci nacin:

type = ω | atom | type→ type | type ∩ typeatom = α | atom′

Za tipske promenljive koristicemo oznake α, β, . . ., dok ce proizvoljnitipovi biti oznaceni sa σ, τ, . . ..

Definicija 2.3.3

22 GLAVA 2. LAMBDA RACUN, KOMBINATORI I TIPOVI

1. Iskaz je izraz oblika M : ϕ, gde M ∈ Λ i ϕ ∈ type. Tip ϕ se nazivapredikat, dok se term M naziva subjekat iskaza.

2. Deklaracija je iskaz gde se kao subjekat javlja (termska) promenljiva.

3. Baza Γ je skup x1 : σ1, . . . , xn : σn deklaracija u kojem su sve termskepromenljive razlicite i Dom Γ = x1, . . . , xn.

4. Ako su Γ i Γ′ baze, tada se proizvod baza Γ ⊎ Γ′ definise kao baza (vidiDezani [15]):

Γ ⊎ Γ′ = x : σ ∩ τ | x : σ ∈ Γ i x : τ ∈ Γ′

∪ x : σ | x : σ ∈ Γ i x /∈ DomΓ′

∪ x : τ | x : τ ∈ Γ′ i x /∈ DomΓ.

Koristicemo slova grckog alfabeta Γ,∆,Γ1, . . . kao shematske oznake zabaze.

Definicija 2.3.4 (Relacija poretka na skupu type) (i) Relacija ≤ se definisena skupu type sledecim aksiomama i pravilima:

1. σ ≤ σ

2. σ ≤ τ, τ ≤ ρ ⇒ σ ≤ ρ

3. (σ → ρ) ∩ (σ → τ) ≤ σ → (ρ ∩ τ)

4. σ ∩ τ ≤ σ, σ ∩ τ ≤ τ

5. σ ≤ τ, σ ≤ ρ⇒ σ ≤ τ ∩ ρ

6. σ ≤ σ′, τ ≤ τ ′ ⇒ σ′ → τ ≤ σ → τ ′

7. σ ≤ ω

8. σ → ω ≤ ω → ω

(ii) Pomocu relacije ≤ se uvodi relacija ekvivalencije na sledeci nacin:σ ∼ τ ⇔ σ ≤ τ & τ ≤ σ.

Na primer:

ω ∼ (ω→ω)((σ ∩ σ′)→ τ) ∼ ((σ→ τ) ∩ (σ′→ τ)).

2.3. LAMBDA RACUN SA TIPOVIMA 23

Definicija 2.3.5 Tipski sistem λ∩Ω je definisan sledecom aksiomom i prav-ilima:

(ax) Γ, x : σ ⊢ x : σ

(→ E)Γ ⊢M : σ → τ Γ ⊢ N : σ

Γ ⊢MN : τ

(→ I)Γ, x : σ ⊢M : τ

Γ ⊢ λx.M : σ → τ

(∩E)Γ ⊢M : σ ∩ τ

Γ ⊢M : σ Γ ⊢M : τ

(∩I)Γ ⊢M : σ Γ ⊢M : τ

Γ ⊢M : σ ∩ τ

(≤)Γ ⊢M : σ, σ ≤ τ

Γ ⊢M : τ

(ω)Γ ⊢M : ω

Razlicitim kombinacijama gore navedenih pravila mogu se dobiti raznitipski sistemi koji se mogu posmatrati kao restrikcije sistema λ∩Ω. Ovisistemi su dati sledecim 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 (≤).

24 GLAVA 2. LAMBDA RACUN, KOMBINATORI I TIPOVI

Veze izmedju ovih sistema su date u sledecem dijagramu:

Dւ ց

DΩ λ∩ց ւ

λ∩Ω

Mi cemo najvise proucavati sisteme λ∩ i λ∩Ω. Obimna studija sistemaD i DΩ data je u Krivine [28].

U osnovnom tipskom sistemu, λ→, tipovi mogu biti dodeljeni samo pod-klasi klase lambda terma koji imaju osobinu jake normalizacije. Postoje caki normalne forme koje nemaju tip u ovom sistemu, na primer λx.xx. Ovajterm ima tip u sistemu D, a samim tim i u ostalim tipskim sistemima sapresekom.

U osnovnom tipskom sistemu sa presekom D tip imaju jedino lambdatermi koji imaju osobinu jake normalizacije. U tipskom sistemu λ∩Ω svilambda termi imaju tip.

Sada cemo dati primere tipiziranja u sistemu λ→ i njihova izvodjenja:

1. ⊢ I : α→α (samoaplikacija);

x : α ⊢ x : α

⊢ λx.x : α→α.

2. ⊢ K : α→(β→α);

x : α, y : β ⊢ x : α

x : α ⊢ λy.x : β→α

⊢ λxy.x : α→(β→α).

3. ⊢ S : (α→(β→ γ))→((α→ β)→(α→ γ));

x : α→(β→ γ), y : α→ β, z : α ⊢ x : α→(β→ γ), z : α

x : α→(β→ γ), y : α→ β, z : α ⊢ xz : β→ γ,

x : α→(β→ γ), y : α→ β, z : α ⊢ y : α→ β, z : α

x : α→(β→ γ), y : α→ β, z : α ⊢ yz : β,

2.3. LAMBDA RACUN SA TIPOVIMA 25

x : α→(β→ γ), y : α→ β, z : α ⊢ xz(yz) : γ

x : α→(β→ γ), y : α→ β ⊢ λz.xz(yz) : α→ γ

x : α→(β→ γ) ⊢ λyz.xz(yz) : (α→ β)→(α→ γ)

⊢ λxyz.xz(yz) : (α→(β→ γ))→((α→ β)→(α→ γ)).

Primeri tipiziranja u sistemu λ∩ i njihova izvodjenja:

1. ⊢ λx.xx : (α ∩ (α→ β))→ β (samoaplikacija);

x : (α→ β) ∩ α ⊢ x : (α→ β) ∩ α

x : (α→ β) ∩ α ⊢ x : α→ β

x : (α→ β) ∩ α ⊢ x : (α→ β) ∩ α

x : (α→ β) ∩ α ⊢ x : α

x : (α→ β) ∩ α ⊢ xx : β

⊢ λx.xx : (α→ β) ∩ α→ β.

Primeri dodeljivanja tipova u sistemu λ∩Ω i njihova izvodjenja:

1. ⊢ KIΩ : α→ α (term koji ima osobinu normalizacije);

x : α→α, y : ω ⊢ x : α→α

x : α→α ⊢ λy.x : ω→(α→α)

⊢ λxy.x : (α→α)→(ω→(α→α))

x : α ⊢ x : α

⊢ λx.x : α→α

⊢ (λxy.x)(λx.x) : ω→(α→α) ⊢ Ω : ω

⊢ KIΩ : α→α.

2. ⊢ Y : (ω → α)→ α (resiv term);

f : ω→α ⊢ f : ω→α f : ω→α ⊢ xx : ω

f : ω→α ⊢ f(xx) : α

f : ω→α ⊢ λx.f(xx) : ω→αf : ω→α ⊢ λx.f(xx) : ω

f : ω→α ⊢ (λx.f(xx))(λx.f(xx)) : α

⊢ λf.(λx.f(xx))(λx.f(xx)) : (ω→α)→α.

3. ⊢ Ω : ω (neresiv term).

26 GLAVA 2. LAMBDA RACUN, KOMBINATORI I TIPOVI

2.3.3 Osnovne osobine

U ovom delu navescemo neke od osnovnih osobina tipskog sistema λ∩Ω kojesu dokazane u Barendregt [3].

Tvrdjenje 2.3.6 Lema o bazama

1. Ako Γ′ ⊇ Γ, onda Γ ⊢M : σ ⇒ Γ′ ⊢M : σ;

2. Γ ⊢M : σ ⇒ Fv(M) ⊆ DomΓ;

3. Γ ⊢M : σ ⇒ Γ Fv(M) ⊢M : σ,

gde Γ Fv(M) oznacava restrikciju Γ na skup slobodnih promenljivih termaM .

U sledecem tvrdjenju su dati uslovi koji moraju biti zadovoljeni da biodredjeni termi imali tip.

Tvrdjenje 2.3.7 Strukturne osobine

1. Ako Γ ⊢ x : σ, onda x : σ′ ∈ Γ i σ′ ≤ σ za neki tip σ′ ∈ type.

2. Ako x /∈ Γ, onda Γ ⊢ λx.M : σ → τ ako i samo ako Γ, x : σ ⊢M : τ .

3. Ako Γ ⊢ MN : σ, tada postoje tipovi τ, σ′ ∈ type takvi da Γ ⊢ M :τ → σ′, σ′ ≤ σ i Γ ⊢ N : τ .

Tvrdjenje 2.3.8 Lema o podtermimaNeka je N podterm terma M . Ako Γ ⊢ M : σ, tada ∆ ⊢ N : τ za neku bazu∆ i tip τ .Dakle, ako term ima tip u λ∩Ω, tada i svaki njegov podterm ima tip u datomsistemu.

Teorema 2.3.9 U sistemima bez tipa ω (D i λ∩) vazi

M ima tip ⇔M ima osobinu jake normalizacije.

Glava 3

Tipiziranje i jaka normalizacija

Ova Glava ima dva poglavlja da bi se istakla odredjena simetrija koja vazi unekim tipskim sistemima sa presekom. Naime, u sistemima D i λ∩ vazi da

M ima tip ⇔M ima osobinu jake normalizacije.

U Poglavlju 3.1 posebna paznja je posvecena tipiziranju lambda terma utipskim sistemima sa presekom i pokazano je da svi lambda termi koji imajuosobinu jake normalizacije, imaju tip u ovim sistemima. Poglavlje 3.2 sadrzidokaz jake normalizacije za lambda terme koji imaju tip. Ovaj dokaz jeosnova opsteg postupka redukcije koji je dalje razradjen u Glavi 3.

3.1 Tipiziranje terma sa osobinom jake nor-

malizacije

U osnovi, problem tipiziranja u tipskom sistemu daje odgovor na pitanje dali dati lambda term ima ili nema tip u datom sistemu. U tipskom sistemusa presekom λ∩Ω postoji univerzalni tip ω koji moze biti dodeljen svakomlambda termu u ovom sistemu. Zbog toga je pitanje tipiziranja u ovom sis-temu trivijalno. Iz istog razloga, pitanje tipiziranja u sistemu DΩ je takodjetrivijalno. Ali bez pravila (ω), situacija je potpuno drugacija. U tipskimsistemima D i λ∩, svi lambda termi koji imaju osobinu jake normalizacijeimaju tip, i to su jedini lambda termi koji imaju tip u ovim sistemima.Ovo je veoma vazna osobina ova dva tipska sistema i predmet je obimnogistrazivanja. Prvi put je bila dokazana u Pottinger [33], Coppo et al. [10] i

27

28 GLAVA 3. TIPIZIRANJE I JAKA NORMALIZACIJA

Leivant [29]. Kasnije, ova tema je obradjivana u Ghilezan [18], Krivine [28]i van Bakel [38]. Kompletan dokaz se nalazi u Amadio i Curien [1].

Poznato je da jaka normalizacija nije odluciva (vidi Barendregt [2], Poglavlje 9).Zbog toga, iz ekvivalencije jake normalizacije i tipiziranja u tipskim sis-temima D i λ∩ mozemo zakljuciti da je tipiziranje neodlucivo u ovim sis-temima.

U sledeca dva poglavlja, za tipske sisteme koji sadrze tip ω koristicemooznaku ⊢Ω, dok cemo za sisteme λ∩ i D koristiti oznaku ⊢.

Tvrdjenje 3.1.1 Neka je Γ proizvoljna baza i x1, x2, . . . , xk promenljive kojenisu deklarisane u Γ. Ako Γ, x1 : σ1, . . . , xk : σk ⊢ M : σ i Γ ⊢ Mi : σi zasvako i, za koje je promenljiva xi slobodna u M (1 ≤ i ≤ k), tada

Γ ⊢M [x1 :=M1, . . . , xk :=Mk] : σ.

Posebno, ako promenljive x1, x2, . . . , xk nisu slobodne u M , i ako Γ, x1 :σ1, . . . , xk : σk ⊢ M : σ, tada Γ ⊢M : σ.

Dokaz. Indukcijom po konstrukciji Γ, x1 : σ1, . . . , xk : σk ⊢ M : σ.Postoje tri mogucnosti za M .

1. M je promenljiva, na primer y.

– Ako je y ≡ xi, tada je σ ≡ σi i y[x1 :=M1, . . . , xk :=Mk] ≡ Mi :σi ≡ σ.

– Ako je y 6≡ xi (1 ≤ i ≤ k), tada je y[x1 :=M1, . . . , xk :=Mk] ≡ y :σ, prema tome Γ ⊢M : σ.

2. M ≡ λy.N .Tada je na osnovu Tvrdjenja 2.3.7(2) σ ≡ τ → ρ i

Γ, x1 : σ1, . . . , xk : σk, y : τ ⊢ N : ρ.

Primetimo da, na osnovu konvencije o promenljivama, mozemo pret-postaviti da je y 6≡ xi, 1 ≤ i ≤ k. Indukcijska pretpostavka vazi zaterm N tako da

Γ, y : τ ⊢ N [x1 :=M1, . . . , xk :=Mk] : ρ.

3.1. TIPIZIRANJE TERMA SA OSOBINOM JAKE NORMALIZACIJE29

Tada

Γ ⊢ λy.N [x1 :=M1, . . . , xk :=Mk] : τ → ρ,

odnosno

Γ ⊢ M [x1 :=M1, . . . , xk :=Mk] : σ.

3. M ≡ PQ.Na osnovu Tvrdjenja 2.3.7(3) sledi

Γ, x1 : σ1, . . . , xk : σk ⊢ P : τ → σ′, σ′ ≤ σ

i

Γ, x1 : σ1, . . . , xk : σk ⊢ Q : τ.

Indukcijska pretpostavka vazi za terme P i Q sto znaci da

Γ ⊢ P [x1 :=M1, . . . , xk :=Mk] : τ → σ′, σ′ ≤ σ

i

Γ ⊢ Q[x1 :=M1, . . . , xk :=Mk] : τ.

Tada

Γ ⊢ P [x1 :=M1, . . . , xk :=Mk]Q[x1 :=M1, . . . , xk :=Mk] : σ′,

odnosno

Γ ⊢M [x1 :=M1, . . . , xk :=Mk] : σ. ⋄

Prilikom redukcije terma, veoma vazno pitanje je da li ce mu tip ostatiocuvan. Odgovor na ovo pitanje je pozitivan za sva cetiri sistema. Ovaosobina je poznata kao zatvorenost u odnosu na β-redukciju.

Tvrdjenje 3.1.2 Ako Γ ⊢M : σ i M→→M ′, tada Γ ⊢M ′ : σ.

Dokaz. Indukcijom po duzini terma M . Pretpostavimo da M→M ′,odnosno da se term M redukuje do terma M ′ u jednom koraku. Razlikujemotri moguca slucaja za term M :

1. M je promenljiva. Tada je M ≡M ′.

30 GLAVA 3. TIPIZIRANJE I JAKA NORMALIZACIJA

2. M ≡ λx.N .Tada na osnovu Tvrdjenja 2.3.7(2) σ ≡ τ → ρ i Γ, x : τ ⊢ N : ρ. Jedininacin da se redukuje term M je M→λx.N ′, gde N→N ′.Indukcijska pretpostavka vazi za term N tako da Γ, x : τ ⊢ N ′ : ρ.Tada λx.N ′ : τ → ρ, sto znaci da Γ ⊢M ′ : σ.

3. M ≡ PQ.Na osnovu Tvrdjenja 2.3.7(3) Γ ⊢ Q : τ, Γ ⊢ P : τ → σ′ i σ′ ≤ σ.Prilikom redukcije terma M , postoje tri mogucnosti za term M ′.

a) M ′ ≡ PQ′, gde Q→ Q′.Indukcijska pretpostavka vazi za term Q tako da Γ ⊢ Q′ : τ .Odavde sledi da Γ ⊢ PQ′ : σ′, odnosno Γ ⊢M ′ : σ.

b) M ′ ≡ P ′Q, gde P → P ′. Analogno.

c) P ≡ λx.R, odnosno M ≡ (λx.R)Q. Tada M ′ ≡ R[x :=Q].Na osnovu Tvrdjenja 2.3.7(2) Γ ⊢ λx.R : τ → σ′, σ′ ≤ σ iΓ ⊢ Q : τ , a na osnovu Tvrdjenja 2.3.7(3) Γ, x : τ ⊢ R : σ′. Dakle,na osnovu Tvrdjenja 3.1.1 sledi da Γ ⊢ R[x :=Q] : σ′, odnosnoΓ ⊢M ′ : σ. ⋄

Tvrdjenje 3.1.3 Neka je Γ proizvoljna baza i x1, x2, . . . , xk promenljive kojenisu deklarisane u Γ. Ako Γ ⊢ M [x1 :=M1, . . . , xk :=Mk] : σ i M1, . . . ,Mk

imaju u Γ tipove σ1, . . . , σk redom, tada

Γ, x1 : σ1, . . . , xk : σk ⊢M : σ.

Dokaz. Indukcijom po duzini tipa σ i (za dati tip σ) indukcijom poduzini terma M .

1. Ako je σ ≡ α tipska promenljiva, tada postoje dve mogucnosti za termM .

a) M je promenljiva, na primer y.

- Ako je y ≡ xi za neko i ∈ 1, . . . , k, tadaΓ ⊢ y[x1 :=M1, . . . , xk :=Mk] ≡ Mi : σi. Dakle, σi ≡ α itrivijalno Γ, xi : α ⊢ xi : α.

- Ako je y 6≡ xi za svako i ∈ 1, . . . , k, taday[x1 :=M1, . . . , xk :=Mk] ≡ y i Γ ⊢ y : α. Dakle, Γ, x1 :σ1, . . . , xk : σk ⊢M : σ

3.1. TIPIZIRANJE TERMA SA OSOBINOM JAKE NORMALIZACIJE31

b) M ≡ PQ.Ovo znaci da

Γ ⊢ P [x1 :=M1, . . . , xk :=Mk]Q[x1 :=M1, . . . , xk :=Mk] : α.

Tada na osnovu Tvrdjenja 2.3.7(3)

Γ ⊢ Q[x1 :=M1, . . . , xk :=Mk] : τ

iΓ ⊢ P [x1 :=M1, . . . , xk :=Mk] : τ → σ′, σ′ ≤ α.

Na osnovu indukcijske pretpostavke

Γ, x1 : σ1, . . . , xk : σk ⊢ Q : τ

iΓ, x1 : σ1, . . . , xk : σk ⊢ P : τ → σ′, σ′ ≤ α.

Kako je M ≡ PQ, sledi da Γ, x1 : σ1, . . . , xk : σk ⊢ M : σ′, stoznaci da Γ, x1 : σ1, . . . , xk : σk ⊢M : α.

c) M ≡ λx.P nije moguce jer je α tipska promenljiva.

2. Neka je σ ≡ τ ∩ ρ.Tada je Γ ⊢M [x1 :=M1, . . . , xk :=Mk] : τ i Γ ⊢M [x1 :=M1, . . . , xk :=Mk] :ρ. Indukcijska pretpostavka vazi za tipove τ i ρ tako da

Γ, x1 : σ1, . . . , xk : σk ⊢M : τ

Γ, x1 : σ1, . . . , xk : σk ⊢M : ρ.

Zbog toga Γ, x1 : σ1, . . . , xk : σk ⊢M : τ ∩ ρ ≡ σ.

3. Neka je σ ≡ τ → ρ.Tada je M ≡ λy.N i

M [x1 :=M1, . . . , xk :=Mk] ≡ λy.N [x1 :=M1, . . . , xk :=Mk] : τ → ρ.

Na osnovu Tvrdjenja 2.3.7(2) Γ, y : τ ⊢ N [x1 :=M1, . . . , xk :=Mk] : ρ.Na osnovu indukcijske pretpostavke vazi Γ, y : τ, x1 : σ1, . . . , xk :σk ⊢ N : ρ. Ocigledno, y nije promenljiva slobodna u Mi, inace gorenavedena supstitucija ne bi bila dobro definisana. Zbog toga Γ, x1 :σ1, . . . , xk : σk ⊢ λy.N : τ → ρ, odnosno Γ, x1 : σ1, . . . , xk : σk ⊢ M : σ.⋄

32 GLAVA 3. TIPIZIRANJE I JAKA NORMALIZACIJA

Napomena 3.1.4 U sistemima DΩ i λ∩Ω, uslov “Mi imaju tip u Γ” jetrivijalan jer Γ ⊢Ω Mi : ω.

Posledica 3.1.5 Ako Γ ⊢M [x :=N ] : σ i N ima tip u bazi Γ, tada

Γ ⊢ (λx.M)N : σ.

Dokaz. Neka Γ ⊢ N : τ . Tada na osnovu Tvrdjenja 3.1.3 Γ, x : τ ⊢ M :σ. Odavde sledi da Γ ⊢ λx.M : τ → σ i Γ ⊢ (λx.M)N : σ. ⋄

Pojam inverzan pojmu zatvorenosti u odnosu na β-redukciju je zatvorenostu odnosu na β-ekspanziju, odnosno pitanje da li tipovi ostaju ocuvani i pri-likom β-ekspanzije. Odgovor na ovo pitanje je pozitivan za tipske sistemeDΩ i λ∩Ω, ali je negativan za sisteme D i λ∩. U sledecem delu, prikazacemodokaz zatvorenosti sistema DΩ i λ∩Ω u odnosu na β-ekspanziju. Takodje,dacemo kontrapreimere za sisteme D i λ∩, sugerisane od strane Venneri [39].

Teorema 3.1.6 Neka je M proizvoljan lambda term i M→→M ′. Ako Γ ⊢Ω

M ′ : σ, tada Γ ⊢Ω M : σ.

Dokaz. Indukcijom po duzini tipa σ i (za dati tip σ) indukcijom po duziniterma M . Pretpostavimo da M→M ′, odnosno da se term M redukuje doterma M ′ u jednom koraku.

1. σ ≡ ω. Trivijalno.

2. σ ≡ α je tipska promenljiva. Postoje dve mogucnosti za term M , jeropet M ne moze biti apstrakcija.

a) M je promenljiva. Tada je M ≡M ′ i tvrdjenje trivijalno sledi.

b) M ≡ PQ. Mogucnosti za M ′ su:

- M ′ ≡ PQ′, Q→ Q′

Na osnovu Tvrdjenja 2.3.7(3) Γ ⊢Ω Q′ : τ, Γ ⊢Ω P : τ →σ′, σ′ ≤ α.Na osnovu indukcijske pretpostavke Γ ⊢Ω Q : τ . Dakle, Γ ⊢Ω

PQ : σ′, odnosno Γ ⊢Ω PQ : α.

- M ′ ≡ P ′Q. Analogno.

3.1. TIPIZIRANJE TERMA SA OSOBINOM JAKE NORMALIZACIJE33

- P ≡ λx.R, sto znaci da je M ≡ (λx.R)Q i M ′ ≡ R[x :=Q].Neka Γ ⊢Ω R[x :=Q] : α. Osim toga vazi Γ ⊢Ω Q : ω jerovo vazi za svaku bazu i svaki lambda term. Tada na osnovuPosledice 3.1.5 sledi da Γ ⊢Ω (λx.R)Q : α.

c) M ≡ λx.P . Nemoguce jer je α tipska promenljiva.

3. σ ≡ τ ∩ ρ.Tada Γ ⊢Ω M

′ : τ i Γ ⊢Ω M′ : ρ.

Na osnovu indukcijske pretpostavke je Γ ⊢Ω M : τ i Γ ⊢Ω M : ρ. Dakle,dobijamo da Γ ⊢Ω M : σ.

4. σ ≡ τ → ρ.Tada M ≡ λx.N i M ′ ≡ λx.N ′, N → N ′.Kako λx.N ′ : σ, na osnovu Tvrdjenja 2.3.7(2) sledi da Γ, x : τ ⊢Ω N ′ :ρ.Na osnovu indukcijske pretpostavke sledi da Γ, x : τ ⊢Ω N : ρ, prematome je Γ ⊢Ω λx.N : τ → ρ, odnosno Γ ⊢Ω M : σ. ⋄

Napomena 3.1.7 Teorema 3.1.6 ne vazi za sisteme D i λ∩.

Teorema 3.1.8 Neka M =β M′. Tada

Γ ⊢Ω M : σ ako i samo ako Γ ⊢Ω M ′ : σ.

Primer 3.1.9 Posmatrajmo terme

T ≡ λy.(λx.y)(yy)

iλy.y

s obzirom na to daλy.(λx.y)(yy)→→λy.y.

Term λy.y ima tip α → α, gde je α tipska promenljiva, dok term T nemaisti tip u sistemu D. Termska promenljiva y mora imati tip strelice da bisamoaplikacija mogla biti tipizirana u sistemu D ili λ∩. Ovaj problem jeizbegnut u sistemima DΩ i λ∩Ω jer termu yy moze biti dodeljen tip ω pa jezbog toga termu T moguce dodeliti tip α → α u DΩ i λ∩Ω. Ali, termu Tmoze u sistemima D i λ∩ biti dodeljen tip

(α ∩ (α→ β))→ (α ∩ (α→ β)),

34 GLAVA 3. TIPIZIRANJE I JAKA NORMALIZACIJA

koji takodje moze biti dodeljen termu λy.y. Dakle, oba posmatrana termaimaju isti tip i u sistemima D i λ∩, ali tip T : α → α ne moze biti izvedenbez pravila (ω).

Primer 3.1.10 U drugom kontraprimeru razmatracemo terme

L ≡ λyz.(λx.z)(yz)

iλyz.z

jer opet vaziλyz.(λx.z)(yz)→→λyz.z.

Term λyz.z ima u sistemima D i λ∩ tip β → (α → α), a term L ima tip(α → β) → (α → α). I u ovom slucaju, termu L ne moze biti dodeljen tipβ → (α→ α) bez pravila (ω).

Sledece tvrdjenje je generalizacija Posledice 3.1.5 i vazi za sisteme D, DΩ,λ∩ i λ∩Ω.

Tvrdjenje 3.1.11 Neka su M,N,M1, . . . ,Mn lambda termi i x termska pro-menljiva. Ako Γ ⊢ (M [x :=N ])M1 . . .Mn : σ i N ima tip u Γ, tada

Γ ⊢ ((λx.M)N)M1 . . .Mn : σ.

Dokaz. Indukcijom po n.

1. n = 0. Ovaj slucaj je Posledica 3.1.5.

2. n ≥ 1. Pretpostavimo da Γ ⊢ (M [x :=N ])M1 . . .Mn : σ i da N ima tipu Γ. Na osnovu Tvrdjenja 2.3.7(3)

Γ ⊢Mn : τ, Γ ⊢ (M [x :=N ])M1 . . .Mn−1 : τ → σ′, σ′ ≤ σ.

Na osnovu indukcijske pretpostavke Γ ⊢ (λx.M)NM1 . . .Mn−1 : τ → σ′

i σ′ ≤ σ. Dakle, Γ ⊢ (λx.M)NM1 . . .Mn : σ′, odnosno

Γ ⊢ (λx.M)NM1 . . .Mn : σ. ⋄

3.1. TIPIZIRANJE TERMA SA OSOBINOM JAKE NORMALIZACIJE35

Teorema 3.1.12 Svi termi sa osobinom jake normalizacije imaju tip u sis-temima D i λ∩.

Dokaz. Pretpostavimo da je M lambda term sa osobinom jake norma-lizacije. Obelezimo sa n(M) sumu duzina svih mogucih redukcija terma M .Posto M ima osobinu jake normalizacije, n(M) je konacan broj. Dokaz jeindukcijom po n(M).

Svaki lambda term je oblika

M ≡ λx1 . . . xm.V M1 . . .Mn,

pri cemu je V promenljiva ili redeks. Samim tim, razlikujemo dva slucaja.

1. V je promenljiva, na primer y.Tada termi M1, . . . ,Mn imaju osobinu jake normalizacije i n(M) >n(Mi), 1 ≤ i ≤ n. Na osnovu indukcijske pretpostavke, u sistemima Di λ∩, Γ1 ⊢ M1 : σ1, . . . ,Γn ⊢ Mn : σn. Neka je Γ =

⊎Γi. Tada Γ ⊢

M1 : σ1, . . . ,Γ ⊢ Mn : σn. Pretpostavimo da su u bazi Γ promenljivex1, . . . , xn, y deklarisane sa

x1 : τ1, . . . , xm : τm, y : τ,

(ako je y = xi za neko i ∈ 1, . . . , n, tada je τ ≡ τi). Neka je α novatipska promenljiva i Γ′ baza dobijena od baze Γ uzimajuci da je y : τ ′

gde je

τ ′ ≡ τ ∩ (σ1 → . . .→ σn → α).

Tada Γ′ ⊢Mi : σi, (1 ≤ i ≤ n) i

Γ′ ⊢ yM1 . . .Mn : α.

Dakle, M ima tip

τ1 → . . .→ τm → α

(ako je y 6≡ x1, . . . , xm) ili

τ1 → . . .→ τi−1 → τ ′ → τi+1 → . . .→ τm → α

(ako je y ≡ xi).

36 GLAVA 3. TIPIZIRANJE I JAKA NORMALIZACIJA

2. V ≡ (λx.P )Q (V je redeks).Tada

M ≡ λx1 . . . xm.(λx.P )QM1, . . . ,Mn.

Posmatrajmo term

M ′ ≡ P [x :=Q]M1, . . . ,Mn.

Ocigledno, n(M) > n(M ′) i n(M) > n(Q). Dakle, na osnovu indukci-jske pretpostavke M ′ i Q imaju tip u sistemima D i λ∩. Pretpostavimoda u bazi Γ1, M

′ ima tip σ, a u bazi Γ2, Q ima tip τ , odnosno

Γ1 ⊢M′ : σ i Γ2 ⊢ Q : τ.

Neka je Γ = Γ1 ⊎ Γ2, proizvod baza dat u Definiciji 2.3.3(4.). TadaΓ ⊢ M ′ : σ i Γ ⊢ Q : τ . Na osnovu Tvrdjenja 3.1.11 sledi da(λx.P )QM1 . . .Mn ima tip σ u Γ. Pretpostavimo da x1 : τ1, . . . , xm :τm ∈ Γ. Tada

Γ ⊢M : τ1 → . . .→ τm → σ. ⋄

3.2 Jaka normalizacija

U ovom poglavlju cemo utvrditi za koje od tipskih sistema sa presekomlambda termi koji imaju tip imaju osobinu jake normalizacije. Metod re-dukcije koji se koristi u ovom poglavlju je osnova za opsti postupak redukcijekoji je prosiren u sledecoj glavi, u Poglavlju 4.1. Ovaj metod je zasnovan nadokazu jake normalizacije za tipski sistem λ→

Turing je dokazao da svi termi koji imaju tip u sistemu λ→ imaju osobinunormalizacije. Metod redukcije, zasnovan na interpretaciji tipova, je uvedenu Tait [36] da bi se dokazala osobina jake normalizacije za osnovni tipskisistem i dalje je razvijen u Girard [23] i Tait [37] da bi se dokazala osobinajake normalizacije za polimorfni lambda racun (lambda racun drugog reda).Pregled ovih dokaza dat je u Barendregt [3].

U Krivine [28] i kasnije u Ghilezan [18] metod redukcije je primenjen dabi se okarakterisali lambda termi sa osobinom jake normalizacije u tipskimsistemima sa presekom.

Podsetimo se da lambda term M ima osobinu normalizacije ako je barjedna od njegovih redukcija konacna (strana 15). Lambda term ima osobinujake normalizacije ako i samo ako su sve njegove redukcije konacne.

3.2. JAKA NORMALIZACIJA 37

Zatim, uvedimo oznake date u Barendregt [3].

Skup svih lambda terma koji imaju osobinu jake normalizacije se obelezavasa SN .

Definicija 3.2.1

SN = M ∈ Λ | ¬(∃M1,M2, . . . ∈ Λ)M→M1→M2→ . . ..

Definicija 3.2.2 Ako su A,B ⊆ Λ, tada se skup A→B definise kao podskupΛ na sledeci nacin:

A→B = M ∈ Λ | ∀N ∈ A MN ∈ B.

Zatim, definisimo interpretaciju tipova [[−]] : type→ P(Λ).

Definicija 3.2.3 1. [[α]] = SN , ako je α tipska promenljiva;

2. [[ϕ ∩ ψ]] = [[ϕ]] ∩ [[ψ]];

3. [[ϕ→ ψ]] = [[ϕ]]→ [[ψ]].

Lema 3.2.4 1. [[ϕ]] ⊆ SN , za svaki tip ϕ;

2. Ako ϕ ≤ ψ onda [[ϕ]] ⊆ [[ψ]].

Dalje, definisimo pojamo zasicenog skupa.

Definicija 3.2.5 Skup X ⊆ Λ je zasicen ako

1. (∀n ≥ 0) (∀M1, . . . ,Mn ∈ SN ) xM1 . . .Mn ∈ X, gde je x termskapromenljiva;

2. (∀n ≥ 0) (∀M1, . . . ,Mn ∈ SN ) (∀N ∈ SN )

M [x :=N ]M1 . . .Mn ∈ X ⇒ (λx.M)NM1 . . .Mn ∈ X.

Tvrdjenje 3.2.6 1. SN je zasicen.

2. Ako su A i B zasiceni skupovi, tada je i A→B zasicen skup.

3. Ako su A i B zasiceni skupovi, tada je i A ∩B zasicen skup.

38 GLAVA 3. TIPIZIRANJE I JAKA NORMALIZACIJA

4. [[ϕ]] je zasicen skup za svako ϕ ∈ type.

Ako je ρ : var→ Λ valuacija termskih promenljivih u Λ, tada se valuacijaterma [[−]]ρ : Λ→Λ definise na sledeci nacin.

Definicija 3.2.7 1. [[x]]ρ = ρ(x), za sve termske promenljive x;

2. [[M ]]ρ = M [x1 := ρ(x1), . . . , xn := ρ(xn)], gde Fv(M) = x1, . . . , xn.

U sledecoj definiciji je data relacija |= koja povezuje interpretaciju tipovai valuaciju terma.

Definicija 3.2.8 1. ρ |= M : ϕ ako i samo ako [[M ]]ρ ∈ [[ϕ]];

2. ρ |= Γ ako i samo ako (∀(x : ϕ) ∈ Γ) ρ |= x : ϕ;

3. Γ |= M : σ ako i samo ako (∀ρ |= Γ) ρ |= M : σ.

Sada smo u mogucnosti da damo dokaz valjanosti za tipske sisteme D iλ∩. Ovaj dokaza je prosirenje dokaza valjanosti za tipski sistem λ→ dat uBarendregt [3].

Tvrdjenje 3.2.9 (Valjanost za D i λ∩)

1.

Ako Γ ⊢D Q : ϕ, onda Γ |= Q : ϕ;

2.

Ako Γ ⊢λ∩ Q : ϕ, onda Γ |= Q : ϕ.

Dokaz. Tvrdjenje cemo dokazati samo za tipski sistem λ∩. Tvrdjenjetada ocigledno vazi i za sistemD s obzirom da u ovom sistemu samo nedostajepravilo (≤).

Dokaz je indukcijom po izvodjenju Γ ⊢ Q : ϕ.

Slucaj 1. Poslednje primenjeno pravilo je (ax), odnosno

Γ, x : ϕ ⊢ x : ϕ.

3.2. JAKA NORMALIZACIJA 39

Na osnovu Tvrdjenja 3.2.6 sledi da x ∈ [[ϕ]], za sve x : ϕ ∈ Γ. Na osnovuDefinicije 3.2.7 ρ |= x : ϕ, za sve x : ϕ ∈ Γ, sto znaci da ρ |= Γ. Kako ovovazi za svako ρ, dobijamo da Γ, x : ϕ |= x : ϕ.

Slucaj 2. Poslednje primenjeno pravilo je (→ E), odnosno

Γ ⊢M : τ → ϕ, Γ ⊢ N : τ ⇒ Γ ⊢MN : ϕ.

Na osnovu indukcijske pretpostavke Γ |= M : τ → ϕ i Γ |= N : τ .Neka ρ |= Γ. Tada [[M ]]ρ ∈ [[τ → ϕ]] = [[τ ]]→ [[ϕ]] i [[N ]]ρ ∈ [[τ ]]. Dakle,

[[MN ]]ρ = [[M ]]ρ[[N ]]ρ ∈ [[ϕ]].

Slucaj 3. Poslednje primenjeno pravilo je (→ I), odnosno

Γ, x : σ ⊢M : τ ⇒ Γ ⊢ λx.M : σ → τ.

Na osnovu indukcijske pretpostavke Γ, x : σ |= M : τ .Neka ρ |= Γ i uzmimo proizvoljno N ∈ [[σ]]. Treba pokazati da

[[λx.M ]]ρN ∈ [[τ ]].

Mozemo konstruisati novu valuaciju

ρ′(x) =

N, y = x

ρ(y), y 6= x

Tada ρ′ |= Γ, x : σ jer ρ′(x) = N ∈ [[σ]]. Na osnovu indukcijske pretpostavkeρ′ |= M : τ odnosno, [[M ]]ρ′ ∈ [[τ ]]. Primetimo da vazi sledece

[[λx.M ]]ρ′N = [[λx.M ]]ρ′ρ′(x) = [[λx.M ]]ρ′ [[x]]ρ′ = [[(λx.M)x]]ρ′→

β[[M ]]ρ′ .

Na osnovu Tvrdjenja 3.2.6(4) [[τ ]] je zasicen, tako da iz [[M ]]ρ′ = M [x1 :=ρ(x1), . . . , xn := ρ(xn), x := N ] ∈ [[τ ]] dobijamo (λx.M [x1 := ρ(x1), . . . , xn :=ρ(xn)])N ∈ [[τ ]], odnosno (λx.[[M ]]ρ)N ∈ [[τ ]]. Prema tome

[[λx.M ]]ρN ∈ [[τ ]],

sto je i trebalo pokazati.

40 GLAVA 3. TIPIZIRANJE I JAKA NORMALIZACIJA

Slucaj 4. Poslednje primenjeno pravilo je (∩E), odnosno

Γ ⊢M : σ ∩ τ ⇒ Γ ⊢M : σ, Γ ⊢M : τ.

Na osnovu indukcijske pretpostavke Γ |= M : σ ∩ τ .Ako ρ |= Γ, tada [[M ]]ρ ∈ [[σ ∩ τ ]] = [[σ]] ∩ [[τ ]]. Dakle,

[[M ]]ρ ∈ [[σ]] i [[M ]]ρ ∈ [[τ ]],

sto znaci daΓ |= M : σ i Γ |= M : τ.

Slucaj 5. Poslednje primenjeno pravilo je (∩I), odnosno

Γ ⊢M : σ, Γ ⊢M : τ ⇒ Γ ⊢M : σ ∩ τ.

Na osnovu indukcijske pretpostavke Γ |= M : σ i Γ |= M : τ .Ako ρ |= Γ, tada [[M ]]ρ ∈ [[σ]] i [[M ]]ρ ∈ [[τ ]]. Odavde sledi da

[[M ]]ρ ∈ [[σ]] ∩ [[τ ]] = [[σ ∩ τ ]],

sto znaci daΓ |= M : σ ∩ τ.

Slucaj 6. Poslednje primenjeno pravilo je (≤), odnosno

Γ ⊢M : σ, σ ≤ τ ⇒ Γ ⊢M : τ.

Na osnovu indukcijske pretpostavke Γ |= M : σ.Ako ρ |= Γ, tada [[M ]]ρ ∈ [[σ]]. Na osnovu Leme 3.2.4(2.) [[σ]] ⊆ [[τ ]] tako dadobijamo

[[M ]]ρ ∈ [[τ ]], odnosno Γ |= M : τ. ⋄

Kao neposrednu posledicu valjanosti dobijamo teoremu o jakoj normal-izaciji.

Teorema 3.2.10 (Jaka normalizacija za D i λ∩)

1.Ako Γ ⊢D M : ϕ, onda M ima osobinu jake normalizacije.

3.2. JAKA NORMALIZACIJA 41

2.Ako Γ ⊢λ∩ M : ϕ, onda M ima osobinu jake normalizacije.

Dokaz. Iz istih razloga kao u prethodnoj teoremi, dokazacemo tvrdjenjesamo za sistem λ∩.

Pretpostavimo da Γ ⊢M : ϕ. Tada Γ |= M : ϕ na osnovu Tvrdjenja 3.2.9.Dakle, za svako ρ imamo da

ρ |= Γ ⇒ [[M ]]ρ ∈ [[ϕ]].

Uzmimo ρ takvo daρ(y) ≡ y za svako y ∈ var.

Za svako (x : σ) ∈ Γ vazi da ρ |= x : σ jer x ∈ [[σ]] na osnovu Defini-cije 3.2.5(1). Dakle, ρ |= Γ pa samim tim ρ |= M : ϕ, sto znaci da

M = [[M ]]ρ ∈ [[ϕ]].

Na osnovu Leme 3.2.4(2) sledi da

[[ϕ]] ⊆ SN . ⋄

42 GLAVA 3. TIPIZIRANJE I JAKA NORMALIZACIJA

Glava 4

Opsti postupak redukcije

Osnovna ideja metoda redukcije je interpretacija tipova pomocu odgovarajucihskupova lambda terma koji zadovoljavaju odredjene osobine.

Osim primene na dokaz jake normalizacije za razlicite tipske sisteme dateu Poglavlju 3.2, metod redukcije je koriscen za dokazivanje raznih drugihosobina lambda terma koji imaju tip.

U Mitchell [31] i [32] metod redukcije je posmatran kao logicke relacije.Pokazano je da, osim za dokaz jake normalizacije, ovaj metod moze da sekoristi i za dokaz konfluencije (Church-Rosser-ove osobine) i nekih drugih os-obina lambda terma u osnovnom tipskom sistemu. Originalan dokaz Church-Rosser-ove osobine za osnovni tipski sistem koriscenjem logickih relacija imetoda redukcije je dat u Statman [35] i Koletsos [26].

Metod redukcije je takodje upotrebljen u Gallier [16] za karakterizacijunekih specijalnih klasa lambda terma, kao sto su termi sa osobinom jakenormalizacije, termi koji imaju normalnu formu, termi koji imaju pocetnunormalnu formu i termi koji imaju slabu pocetnu normalnu formu, njihovomtipizacijom u lambda racunu sa tipovima sa presekom. U Dezani i dr. [15]i [13] metod redukcije je primenjen da bi se okarakterisali spomenuti termi injihove perzistentne verzije.

U ovom delu cemo prikazati opsti postupak redukcije kao osnovu zadokaze razlicitih redukcijskih osobina lambda terma koji imaju tip u os-novnom tipskom sistemu λ→ i u tipskim sistemima sa presekom λ∩ i λ∩Ω.Ovaj opsti postupak redukcije je zapravo ekstenzija metoda redukcije kojismo do sada koristili jer objedinjuje sve do sada spomenute dokaze i moze se

43

44 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

takodje primeniti, kao sto ce biti pokazano, i na neke druge osobine.

Ova Glava je podeljena u sledece celine. U Poglavlju 4.1 je pokazanopsti postupak redukcije. Kompletan metod je primenjen u Poglavlju 4.2 dabi dokazali postojanje normalne forme (4.2.1), jedinstvenost normalne forme(4.2.2), konacnost redukcije sa leve strane (4.2.3) i osobinu jake normalizacije(4.2.4) u sistemu λ∩. Prvi deo postupka je u Poglavlju 4.3 primenjen u dokazukonfluencije βη-redukcije (4.3.1) i jedinstvenost βη-normalne forme (4.3.2) usistemu λ∩. Drugi deo postupka je u Poglavlju 4.4 primenjen na dokazkonfluencije β-redukcije (4.4.1), standardizacije (4.4.2) i konacnost razvoja(4.4.3) u sistemu λ∩Ω i u celom skupu Λ.

4.1 Postupak redukcije za tipske sisteme sa

presekom

Osnovna ideja opsteg postupka redukcije je interpretacija tipova odgovaraju-cim skupovima (zasicenim i stabilnim skupovima u Tait [36] i Krivine [28] idopustenim relacijama u Mitchell [31] i [32]) lambda terma koji zadovoljavajuodredjene osobine (na primer, osobinu jake normalizacije, konfluenciju). Za-tim se razvija semantika da bi se dobila valjanost dodeljivanja tipova. Posle-dica valjanosti, cinjenica da svaki term koji ima tip pripada interpretaciji togtipa, dovodi nas do toga da termi koji imaju tip u datom sistemu zadovol-javaju odredjenu osobinu, jer su na taj nacin definisane interpretacije tipova.

Razlikujemo dve razlicite vrste interpretacije tipova u odnosu na dati skupP ⊆ Λ u odsustvu η-konverzije. Takodje, razlikujemo dve razlicite vrsteuslova koje dati skup P ⊆ Λ mora da zadovoljava. Kombinujuci razliciteinterpretacije tipova sa odgovarajucim uslovima koje zadovoljava skup P ⊆ Λrazvija se semantika i moze se pokazati valjanost u oba slucaja.

Da bismo dalje razradili opsti postupak redukcije, posmatracemo Λ kaoaplikativnu strukturu ciji domen su lambda termi i gde pod aplikacijom po-drazumevamo aplikaciju terma.

U ovom delu, koristicemo malo izmenjene oznake za skup tipova.

Definicija 4.1.1 Skupovi type i typeω tipova se definisu na sledeci nacin.

4.1. POSTUPAK REDUKCIJE ZA TIPSKE SISTEME SA PRESEKOM45

type ::= atom | type→ type | type ∩ typetypeω ::= atom | ω | typeω → typeω | typeω ∩ typeω

atom ::= α | atom′

Definicija 4.1.2 Neka su A,B ⊆ Λ. Tada

A→ B = M ∈ Λ | ∀N ∈ A MN ∈ B.

Definisimo zatim interpretacije tipova u odnosu na dati podskup P ⊆ Λ nasledeci nacin.

Definicija 4.1.3 Neka je P ⊆ Λ i Q ∈ P, Λ.

(i) Interpretacija tipova [[−]] : type→ 2Λ se definise na sledeci nacin:

(I1) [[α]] = P, za sve tipske promenljive α;

(I2) [[σ ∩ τ ]] = [[σ]] ∩ [[τ ]];

(I3) [[σ → τ ]] = ([[σ]]→ [[τ ]]) ∩Q == M ∈ Q | ∀N ∈ [[σ]] MN ∈ [[τ ]].

(ii) Ako je Q = Λ, tada se interpretacija tipova oznacava sa [[−]]. Ako jeQ = P, tada se interpretacija tipova oznacava sa [[−]]P .

(iii) ω-interpretacija tipova [[−]]ω : typeω → 2Λ se definise na sledeci nacin:

(Ω1) [[α]]ω = P, za sve tipske promenljive α;

(Ω2) [[σ ∩ τ ]]ω = [[σ]]ω ∩ [[τ ]]ω;

(Ω3) [[σ → τ ]]ω = ([[σ]]ω → [[τ ]]ω) ∩ P == M ∈ P | ∀N ∈ [[σ]]ω MN ∈ [[τ ]]ω;

(Ω4) [[ω]]ω = Λ.

Lako se pokazuje sledeca lema.

Lema 4.1.4 (i) Za dato ϕ ∈ type vazi da [[ϕ]]P ⊆ P.

(ii) Za svaki tip ϕ ∈ typeω (ϕ 6∼ ω) vazi da [[ϕ]]ω ⊆ P.

46 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

Dokaz.

(i) Indukcijom po konstrukciji ϕ.

Slucaj ϕ ≡ α je tipska promenljiva. Kako je [[α]]P = P , tvrdjenje sledina osnovu pretpostavke.

Slucaj ϕ ≡ τ → ρ. Tada je [[ϕ]]P = ([[τ ]]P → [[ρ]]P) ∩ P ⊆ P.

Slucaj ϕ ≡ τ ∩ ρ. Na osnovu indukcijske pretpostavke je [[τ ]]P ⊆ P i[[ρ]]P ⊆ P. Samim tim je [[ϕ]]P = [[τ ]]P ∩ [[ρ]]P ⊆ P.

(ii) Dokaz je analogan kao u slucaju (i) jer slucaj ϕ = ω moramo iskljucitiiz razmatranja. ⋄

Dalje, definisimo valuaciju terma [[−]]ρ : Λ → Λ i relacije semantickezadovoljivosti |= i |=P koje povezuju interpretacije tipova i valuaciju terma.

U daljem tekstu, izrazi oblika [[−]](ω)(P) ce biti interpretirani kao [[−]], [[−]]P

i [[−]]ω. Slicno za |=(ω)(P), (ω)-interpretaciju tipova, ≤(ω), i type(ω).

Definicija 4.1.5 Neka je ρ : var → Λ valuacija tipskih promenljivih u Λ.Tada se [[−]]ρ : Λ→ Λ definise na sledeci nacin:

M [x1 := ρ(x1), . . . , xn := ρ(xn)], gde je Fv(M) = x1, . . . , xn.

Ekstenzija ρ(x :=N) valuacije ρ znaci da je

ρ(x :=N)(x) = N i

ρ(x :=N)(y) = y, ako je y 6≡ x.

Vazi sledeca lema.

Lema 4.1.6 [[M ]]ρ(x := N) = [[M ]]ρ(x := x)[x :=N ].

Dokaz.Indukcijom po konstrukciji [[M ]]ρ(x := N).

Slucaj M = x. Tada je

[[M ]]ρ(x := N) = [[x]]ρ(x := N) = ρ(x :=N)(x) = N =

= ρ(x := x)(x)[x :=N ] = [[x]]ρ(x := x)[x :=N ].

4.1. POSTUPAK REDUKCIJE ZA TIPSKE SISTEME SA PRESEKOM47

Slucaj M = PQ. Tada je

[[M ]]ρ(x := N) = [[PQ]]ρ(x := N) = [[P ]]ρ(x := N)[[Q]]ρ(x := N) =

= [[P ]]ρ(x := x)[x :=N ][[Q]]ρ(x := x)[x :=N ] = [[PQ]]ρ(x := x)[x :=N ].

Slucaj M = λy.P . Na osnovu konvencije o promenljivim mozemo pret-postaviti da je y 6= x. Tada je

[[M ]]ρ(x := N) = (λy.P )[x1 :=S1, . . . , xn :=Sn, x :=N ] =

= λy.P [x1 :=S1, . . . , xn :=Sn, x :=N ] = λy.Pρ(x := x)[x :=N ] =

= (λy.P )ρ(x := x)[x :=N ]. ⋄

Definicija 4.1.7 Neka [[−]](ω)(P) : type → 2Λ i neka je ρ : var → Λ valuacija

promenljivih u Λ. Tada

1. ρ zadovoljava M , u oznaci ρ |=(ω)(P) M : ϕ ako i samo ako

[[M ]]ρ ∈ [[ϕ]](ω)(P);

2. ρ zadovoljava bazu Γ, u oznaci ρ |=(ω)(P) Γ ako i samo ako

(∀(x : ϕ) ∈ Γ) ρ(x) ∈ [[ϕ]](ω)(P);

3. Baza Γ zadovoljava M , u oznaci Γ |=(ω)(P) M : ϕ ako i samo ako

(∀ρ |=(ω)(P) Γ) ρ |=(ω)

(P) M : ϕ.

Razmotrimo sada sledece uslove za skup P ⊆ Λ.

Definicija 4.1.8 Neka je dat skup P ⊆ Λ. Tada:

1. P zadovoljava VAR(P) ako

(∀ϕ ∈ type(ω))(∀x ∈ var) x ∈ [[ϕ]](ω)(P);

48 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

2. P je zasicen, u oznaci SAT(P) ako

(∀ϕ ∈ type(ω))(∀N ∈ P) M [x :=N ] ∈ [[ϕ]](ω)(P) ⇒ (λx.M)N ∈ [[ϕ]]

(ω)(P);

3. P zadovoljava CLO(P) ako

M ∈ P ⇒ λx.M ∈ P;

4. P zadovoljava CLO+(P) ako

Mx ∈ P ⇒ M ∈ P.

Zapravo, osobine (CLO) i (CLO+) su povezane na sledeci nacin, kao stoje primeceno u Koletsos i Stavrinos [27].

Napomena 4.1.9 1. CLO+(P) i SAT(P) ⇒ CLO(P).Ako M ∈ P, tada (λx.M)x→→M [x := x] ≡ M . Dakle, na osnovuSAT(P) sledi da (λx.M)x ∈ P, a na osnovu CLO+(P) sledi da λx.M ∈ P.

2. CLO(P) i η-jednakost ⇒ CLO+(P).Ako Mx ∈ P (x /∈ Fv(M)), tada na osnovu CLO(P) sledi da λx.Mx ∈ P.Posto je λx.Mx =η M , dobijamo da M ∈ P.

Zbog toga je u odsustvu η-jednakosti moguce razlikovati ova dva uslova.

Relacija poretka u skupu tipova se interpretira kao skupovna inkluzija.

Lema 4.1.10 Ako τ ≤(ω) σ, onda [[τ ]](ω)(P) ⊆ [[σ]]

(ω)(P).

Dokaz. Indukcijom po duzini izvodjenja τ ≤(ω) σ. Dovoljno je pokazatida tvrdjenje vazi za (ω−)interpretaciju tipova.

1. τ ≤(ω) τ , tada ocigledno [[τ ]](ω) ⊆ [[τ ]](ω).

2. τ ≤(ω) σ, σ ≤(ω) ρ ⇒ τ ≤(ω) ρ.Na osnovu indukcijske pretpostavke je [[τ ]](ω) ⊆ [[σ]](ω) i [[σ]](ω) ⊆ [[ρ]](ω).Zbog tranzitivnosti operacije ⊆ sledi da [[τ ]](ω) ⊆ [[ρ]](ω).

4.1. POSTUPAK REDUKCIJE ZA TIPSKE SISTEME SA PRESEKOM49

3. (τ → σ) ∩ (τ → ρ) ≤(ω) τ → (σ ∩ ρ).Treba pokazati da

([[τ ]](ω) → [[σ]](ω)) ∩ ([[τ ]](ω) → [[ρ]](ω)) ⊆ [[τ ]](ω) → ([[σ]](ω) ∩ [[ρ]](ω)).

Pretpostavimo da M ∈ ([[τ ]](ω) → [[σ]](ω)) ∩ ([[τ ]](ω) → [[ρ]](ω)). Tada

M ∈ [[τ ]](ω) → [[σ]](ω) ⇔ ∀N ∈ [[τ ]](ω), MN ∈ [[σ]](ω),

M ∈ [[τ ]](ω) → [[ρ]](ω) ⇔ ∀N ∈ [[τ ]](ω), MN ∈ [[ρ]](ω).

Dakle, ∀N ∈ [[τ ]](ω), MN ∈ [[σ]](ω) ∩ [[ρ]](ω) ⇔ M ∈ [[τ ]](ω) → ([[σ]](ω) ∩[[ρ]](ω)).

4. τ ∩ σ ≤(ω) τ (σ).Tada je [[τ ]](ω) ∩ [[σ]](ω) ⊆ [[τ ]](ω) ([[σ]](ω)) na osnovu osobina operacija ∩i ⊆.

5. τ ≤(ω) σ, τ ≤(ω) ρ⇒ τ ≤(ω) σ ∩ ρ.Na osnovu indukcijske pretpostavke je [[τ ]](ω) ⊆ [[σ]](ω) i [[τ ]](ω) ⊆ [[ρ]](ω),pa je

[[τ ]](ω) ⊆ [[σ]](ω) ∩ [[ρ]](ω).

6. τ ≤(ω) τ1, σ ≤(ω) σ1 ⇒ τ1 → σ ≤(ω) τ → σ1.

Na osnovu indukcijske pretpostavke je [[τ ]](ω) ⊆ [[τ1]](ω) i [[σ]](ω) ⊆ [[σ1]]

(ω).Potrebno je pokazati da

[[τ1]](ω) → [[σ]](ω) ⊆ [[τ ]](ω) → [[σ1]]

(ω).

Neka M ∈ [[τ1]](ω) → [[σ]](ω) ⇔ ∀N ∈ [[τ1]]

(ω), MN ∈ [[σ]](ω).Ali [[σ]](ω) ⊆ [[σ1]]

(ω) tako da dobijamo da

∀N ∈ [[τ1]](ω), MN ∈ [[σ1]]

(ω).

Takodje, [[τ ]](ω) ⊆ [[τ1]](ω) tako da

∀N ∈ [[τ ]](ω), MN ∈ [[σ1]](ω) ⇔M ∈ [[τ ]](ω) → [[σ1]]

(ω).

7. σ ≤ω ω.Tada je trivijalno [[σ]]ω ⊆ Λ.

50 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

8. σ → ω ≤ω ω → ω.Neka

M ∈ ([[σ]]ω → [[ω]]ω) ∩ P ⇔M ∈ P ∧ (∀N ∈ [[σ]]ω)MN ∈ [[ω]]ω ⇔

⇔M ∈ P ∧ (∀N ∈ [[σ]]ω)MN ∈ Λ.

Ali za svaki lambda term M trivijalno vazi

(∀N ∈ Λ) MN ∈ Λ⇔ (∀N ∈ [[ω]]ω) MN ∈ [[ω]]ω ⇔M ∈ [[ω]]ω → [[ω]]ω. ⋄

Nakon sto smo uveli osnovne pojmove i definicije, mozemo da dokazemovaljanost. Preciznije, u mogucnosti smo da dokazemo valjanost u odnosu nasve tri interpretacije tipova: [[ ]], [[ ]]P i [[ ]]ω.

Tvrdjenje 4.1.11 (Valjanost u odnosu na [[ ]]) Neka je dat skup P ⊆ Λtakav da vazi SN ⊆ P i SAT(P). Tada

Γ ⊢ Q : ϕ⇒ Γ |= Q : ϕ,

Dokaz. Indukcijom po izvodjenju Γ ⊢ Q : ϕ.

Slucaj 1. Poslednje primenjeno pravilo je (ax), odnosno

Γ, x : ϕ ⊢ x : ϕ.

Tada ocigledno Γ, x : ϕ |= x : ϕ, na osnovu Definicija 4.1.5 i 4.1.7.

Slucaj 2. Poslednje primenjeno pravilo je (→ E), odnosno

Γ ⊢M : τ → ϕ,Γ ⊢ N : τ ⇒ Γ ⊢MN : ϕ.

Na osnovu indukcijske pretpostavke sledi da Γ |= M : τ → ϕ i Γ |= N : τ .Neka ρ |= Γ. Tada [[M ]]ρ ∈ [[τ → ϕ]] = [[τ ]] → [[ϕ]] i [[N ]]ρ ∈ [[τ ]], pa dobijamoda

[[MN ]]ρ = [[M ]]ρ[[N ]]ρ ∈ [[ϕ]].

Slucaj 3. Poslednje primenjeno pravilo je (→ I), odnosno

Γ, x : σ ⊢M : τ ⇒ Γ ⊢ λx.M : σ → τ.

4.1. POSTUPAK REDUKCIJE ZA TIPSKE SISTEME SA PRESEKOM51

Na osnovu indukcijske pretpostavke Γ, x : σ |= M : τ . Neka ρ |= Γ i nekaN ∈ [[σ]]. Tada ρ(x :=N) |= Γ posto x /∈ Dom Γ i ρ(x :=N) |= x : σ jerN ∈ [[σ]]. Dakle, ρ(x :=N) |= M : τ , odnosno [[M ]]ρ(x := N) ∈ [[τ ]]. Na osnovuDefinicije 4.1.5 [[M ]]ρ(x := N) = M [x1 :=S1, . . . , xn :=Sn, x :=N ] ∈ [[τ ]]. Naosnovu SAT(P) dobijamo da (λx.M [x1 :=S1, . . . , xn :=Sn])N ∈ [[τ ]]. Kako zaovu valuaciju ρ vazi (λx.M [x1 :=S1, . . . , xn :=Sn])N = [[λx.M ]]ρN , dobijamoda [[λx.M ]]ρN ∈ [[τ ]]. Zakljucujemo da [[λx.M ]]ρ ∈ [[σ]]→ [[τ ]] posto je N ∈ [[σ]]bilo proizvoljno.

Slucaj 4. Poslednje primenjeno pravilo je (∩E), odnosno

Γ ⊢M : σ ∩ τ ⇒ Γ ⊢M : σ, Γ ⊢M : τ.

Na osnovu indukcijske pretpostavke Γ |= M : σ ∩ τ . Neka ρ |= Γ. Tada[[M ]]ρ ∈ [[σ ∩ τ ]] = [[σ]] ∩ [[τ ]]. Dakle

[[M ]]ρ ∈ [[σ]] i [[M ]]ρ ∈ [[τ ]],

odnosnoΓ |= M : σ i Γ |= M : τ.

Slucaj 5. Poslednje primenjeno pravilo je (∩I), odnosno

Γ ⊢M : σ, Γ ⊢M : τ ⇒ Γ ⊢M : σ ∩ τ.

Na osnovu indukcijske pretpostavke sledi da Γ |= M : σ i Γ |= M : τ . Nekaρ |= Γ. Tada [[M ]]ρ ∈ [[σ]] i [[M ]]ρ ∈ [[τ ]]. Znaci da

[[M ]]ρ ∈ [[σ ∩ τ ]],

odnosnoΓ |= M : σ ∩ τ.

Slucaj 6. Poslednje primenjeno pravilo je (≤), odnosno

Γ ⊢M : σ, σ ≤ τ ⇒ Γ ⊢M : τ.

Na osnovu indukcijske pretpostavke Γ |= M : σ. Neka ρ |= Γ. Tada [[M ]]ρ ∈[[σ]]. Na osnovu Leme 4.1.10 je [[σ]] ⊆ [[τ ]]. Dakle,

[[M ]]ρ ∈ [[τ ]], odnosno Γ |= M : τ. ⋄

Neposredna posledica valjanosti je sledeca osobina.

52 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

Tvrdjenje 4.1.12 Neka je SN ⊆ P i neka P zadovoljava VAR(P), SAT(P)i CLO+(P). Tada

Γ ⊢M : ϕ⇒M ∈ P.

Dokaz. Pretpostavimo da Γ ⊢M : ϕ. Kako vazi SAT(P), Γ |= M : ϕ naosnovu Tvrdjenja 4.1.11. Posmatrajmo ρ takvo da

ρ(y) ≡ y za sve y ∈ var.

Za svako (x : σ) ∈ Γ vazi da ρ |= x : σ posto x ∈ [[σ]] na osnovu VAR(P).Zbog toga ρ |= Γ i ρ |= M : ϕ, sto znaci da

M = [[M ]]ρ ∈ [[ϕ]].

Dalje je potrebno pokazati da u ovom slucaju, iz uslova CLO+(P) sledida [[ϕ]] ⊆ P. Ovo cemo dokazati indukcijom po konstrukciji ϕ.

Slucaj ϕ ≡ α je tipska promenljiva. Kako je [[α]] = P , tvrdjenje sledi naosnovu pretpostavke.

Slucaj ϕ ≡ σ → τ . Neka M ∈ [[σ → τ ]] i pokazimo da M ∈ P. Naosnovu definicije interpretacije tipova [[−]] znamo da M ∈ [[σ]] → [[τ ]]. Naosnovu VAR(P) mozemo uzeti x ∈ [[σ]], pa sledi da Mx ∈ [[τ ]]. Na osnovuindukcijske pretpostavke Mx ∈ P. Tada M ∈ P zbog CLO+(P).

Slucaj ϕ ≡ σ ∩ τ . Na osnovu indukcijske pretpostavke je [[σ]] ⊆ P i[[τ ]] ⊆ P. Samim tim je [[ϕ]] = [[σ]] ∩ [[τ ]] ⊆ P. ⋄

Tvrdjenje 4.1.13 (Valjanost u ondosu na [[ ]]P i [[ ]]ω ) Neka je dat P ⊆Λ takav da vaze osobine VAR(P), SAT(P) i CLO(P). Tada

1. ako SN ⊆ P, onda

Γ ⊢ Q : ϕ⇒ Γ |=P Q : ϕ,

2. ako W ⊆ P, onda

Γ ⊢ω Q : ϕ⇒ Γ |=ω Q : ϕ.

Dokaz. Dokaz ovog tvrdjenja je analogan dokazu Tvrdjenja 4.1.11.Jedino sto se jos mora pokazati u slucaju 3 je da [[λx.M ]]ρ ∈ P. Na os-novu VAR(P), mozemo uzeti N ≡ x. Ponavljajuci postupak koriscen u

4.1. POSTUPAK REDUKCIJE ZA TIPSKE SISTEME SA PRESEKOM53

slucaju 3, sledi da (λx.M [x1 := ρ(x1), . . . , xn := ρ(xn)])x ∈ [[τ ]]P . Dakle,M [x1 := ρ(x1), . . . , xn := ρ(xn)] ∈ [[τ ]]P . U ovom slucaju jeM [x1 := ρ(x1), . . . , xn := ρ(xn)] =[[M ]]ρ(x := x), znaci da [[M ]]ρ(x := x) ∈ [[τ ]]P . Na osnovu Leme 4.1.4 [[M ]]ρ(x := x) ∈P . Prema tome λx.[[M ]]ρ(x := x) ∈ P na osnovu CLO(P), sto znaci da [[λx.M ]]ρ ∈P jer na osnovu Definicije 4.1.5 za svaku valuaciju ρ vazi λx.[[M ]]ρ(x := x) =[[λx.M ]]ρ. ⋄

Neposredna posledica valjanosti je sledece tvrdjenje.

Tvrdjenje 4.1.14 (i) Neka P zadovoljava VAR(P), SAT(P) i CLO(P).Ako je SN ⊆ P, onda

Γ ⊢M : ϕ⇒M ∈ P.

(ii) Neka P zadovoljava VAR(P), SAT(P) i CLO(P). Ako je W ⊆ P,onda

(∀ϕ ∈ typeω \ ω) Γ ⊢ω M : ϕ⇒M ∈ P.

Dokaz. (i) Neka Γ ⊢(ω) M : ϕ, tada Γ |=(ω)(P) M : ϕ na osnovu Tvrd-

jenja 4.1.13. Uzmimo valuaciju ρ takvu da ρ(y) ≡ y za svako y ∈ var. Za

svako (x : σ) ∈ Γ vazi ρ |=(ω)(P) x : σ jer x ∈ [[σ]]

(ω)(P) na osnovu VAR(P). Zbog

toga ρ |=(ω)(P) Γ i ρ |=(ω)

(P) M : ϕ, sto znaci da M ≡ [[M ]]ρ ∈ [[ϕ]](ω)(P). Na osnovu

Leme 4.1.4(i) i (ii) dobijamo da [[ϕ]](ω)(P) ⊆ P. Dakle M ∈ P. ⋄

Napomena 4.1.15 Primetimo da zeljena osobina, koja tvrdi da term kojiima tip pripada P, u Tvrdjenju 4.1.12 sledi iz uslova CLO+(P), dok u Tvrd-jenju 4.1.14 sledi iz uslova (I3) za obe razmatrane interpretacije tipova.

Da bismo pokazali da za dato P ⊆ Λ vaze osobine VAR(P) i SAT(P),koristicemo indukciju po konstrukciji tipa τ , ali tada su nam potrebne jaceindukcijske pretpostavke koje je lakse dokazati. Ove jace hipoteze zapravoobjedinjuju uslove za zasicene i P-zasicene skupove koji su razmatrani umetodu redukcije u Krivine [28], Barendregt [3], Gallier [16], i Koletsos iStavrinos [27].

Definicija 4.1.16 Neka je dat skup P ⊆ Λ Tada:

54 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

1. Skup X ⊆ Λ zadovoljava VAR(P ,X ) ako

(∀x ∈ var) (∀n ≥ 0) (∀M1, . . . ,Mn ∈ P) xM1 . . .Mn ∈ X .

2. Skup X ⊆ Λ je P-zasicen, sto oznacavamo sa SAT(P ,X ), ako

(∀M,N ∈ P) (∀n ≥ 0) (∀M1, . . . ,Mn ∈ P)

M [x :=N ]M1 . . .Mn ∈ X ⇒ (λx.M)NM1 . . .Mn ∈ X .

Lema 4.1.17 VAR(P ,P) ⇔ (∀ϕ ∈ type(ω)) VAR(P , [[ϕ]](ω)(P)).

Dokaz.Tvrdjenje cemo dokazati indukcijom po konstrukciji ϕ. Pretpostavimo davazi VAR(P ,P).

Slucaj ϕ ≡ α je tipska promenljiva. Kako je [[α]](ω)(P) = P , tvrdjenje sledi

na osnovu pretpostavke.

Slucaj ϕ ≡ τ → σ.Neka M1, . . . ,Mn ∈ P. Tada xM1 . . .Mn ∈ P na osnovu pretpostavke.Ostaje da se pokaze da xM1 . . .Mn ∈ [[τ ]]

(ω)(P) → [[σ]]

(ω)(P). Uzmimo proizvoljno

Mn+1 ∈ [[τ ]](ω)(P). Na osnovu Leme 4.1.4 Mn+1 ∈ P, pa xM1 . . .MnMn+1 ∈

[[σ]](ω)(P) sledi na osnovu indukcijske pretpostavke.

Slucaj ϕ ≡ τ ∩ σ.Neka M1, . . . ,Mn ∈ P. Na osnovu indukcijske pretpostavke xM1 . . .Mn ∈[[σ]]

(ω)(P) i xM1 . . .Mn ∈ [[τ ]]

(ω)(P). Ocigledno, xM1 . . .Mn ∈ [[σ]]

(ω)(P) ∩ [[τ ]]

(ω)(P).

Slucaj ϕ ≡ ω je ocigledan jer [[ω]]ω = Λ.

Dokaz u obrnutom smeru je trivijalan. ⋄

Neposredna posledica Leme 4.1.17 je sledece tvrdjenje.

Posledica 4.1.18 VAR(P ,P) ⇒ VAR(P).

Dokaz. Ako vazi VAR(P ,P), tada na osnovu Leme 4.1.17 VAR(P , [[ϕ]](ω)(P)

vazi za svako ϕ ∈ type(ω). Ocigledno, VAR(P , [[ϕ]](ω)(P)) implicira da var ⊆

[[ϕ]](ω)(P) za svaki (ω−)tip ϕ. ⋄

Slicno postupamo i za uslove SAT(P) i SAT(P ,P).

4.1. POSTUPAK REDUKCIJE ZA TIPSKE SISTEME SA PRESEKOM55

Lema 4.1.19 SAT(P ,P) ⇔ (∀ϕ ∈ type(ω))SAT(P , [[ϕ]](ω)(P)).

Dokaz. Indukcijom po konstrukciji ϕ. Pretpostavimo da vazi SAT(P ,P).

Slucaj ϕ ≡ α je tipska promenljiva. Posto [[α]](ω)P

= P , tvrdjenje sledi naosnovu pretpostavke.

Slucaj ϕ ≡ σ → τ .Neka M,N,M1, . . . ,Mn ∈ P i pretpostavimo da

M [x :=N ]M1 . . .Mn ∈ ([[σ]](ω)P→ [[τ ]]

(ω)P

) ∩ P.

Na osnovu SAT(P ,P) vazi da (λx.M)NM1 . . .Mn ∈ P. Ostaje da se pokaze

da (λx.M)NM1 . . .Mn ∈ [[σ]](ω)P→ [[τ ]]

(ω)P

. Uzmimo proizvoljno Mn+1 ∈

[[σ]](ω)P

. Tada M [x :=N ]M1 . . .MnMn+1 ∈ [[τ ]](ω)P

. Dakle, na osnovu indukci-

jske pretpostavke sledi da (λx.M)NM1 . . .MnMn+1 ∈ [[τ ]](ω)P. Kako je Mn+1

bilo proizvoljno, dobijamo

(λx.M)NM1 . . .Mn ∈ [[σ]](ω)P→ [[τ ]]

(ω)P.

Slucaj ϕ ≡ τ ∩ σ.Neka M,N,M1, . . . ,Mn ∈ P i pretpostavimo da

M [x :=N ]M1 . . .Mn ∈ [[τ ]](ω)P∩ [[σ]]

(ω)P.

TadaM [x :=N ]M1 . . .Mn ∈ [[τ ]](ω)P

iM [x :=N ]M1 . . .Mn ∈ [[σ]](ω)P. Na osnovu

indukcijske pretpostavke sledi da (λx.M)NM1 . . .Mn ∈ [[τ ]](ω)P

i (λx.M)NM1 . . .Mn ∈

[[σ]](ω)P

. Dakle,

(λx.M)NM1 . . .Mn ∈ [[τ ]](ω)P∩ [[σ]]

(ω)P.

Slucaj ϕ ≡ ω je ocigledan jer [[ω]]ω = Λ.

Dokaz u obrnutom smeru je trivijalan. ⋄

Posledica 4.1.20 SAT(P ,P) ⇒ SAT(P).

Dokaz. Na osnovu Leme 4.1.19 i Definicije 4.1.8 za SAT(P). ⋄

Ocigledno, uslovi VAR(P ,P) i SAT(P ,P) su uopstenja uslova VAR(P) iSAT(P), redom.

56 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

U sledecem tvrdjenju je dat opsti postupak redukcije. Pomocu ovog pos-tupka mogu se na uniforman nacin dokazati razlicite redukcione osobinelambda terma koji imaju tip u λ∩ i λ∩Ω. Ove osobine bice pokazane usledecim odeljcima.

Tvrdjenje 4.1.21 (Metod redukcije) (i) Neka je P ⊆ Λ takav da jeSN ⊆ P i neka vaze osobine VAR(P ,P), SAT(P ,P) i CLO+(P).Tada

Γ ⊢M : ϕ⇒M ∈ P;

(ii) Neka je P ⊆ Λ skup za koji vaze osobine VAR(P ,P), SAT(P ,P) iCLO(P). Tada

1. ako SN ⊆ P, onda

Γ ⊢M : ϕ⇒M ∈ P;

2. ako W ⊆ P, onda

(∀ϕ ∈ typeω \ ω) Γ ⊢ω M : ϕ⇒M ∈ P.

Dokaz.(i) Na osnovu Tvrdjenja 4.1.12 i Posledica 4.1.18 i 4.1.20.(ii) Na osnovu Tvrdjenja 4.1.14 i Posledica 4.1.18 i 4.1.20. ⋄

Redukcijske osobine sistema λ∩ se mogu dokazati primenom oba delametoda, dok se za redukcijske osobine sistema λ∩Ω koristi drugi deo metoda.

4.2 Kompletan metod u λ∩

U ovom odeljku cemo pokazati primenu opsteg postupka redukcije u dokazi-vanju sledecih osobina koje zadovoljavaju termi koji imaju tip u sistemu λ∩:postojanje normalne forme, jedinstvenost normalne forme, konacnost reduk-cije sa leve strane i jaku normalizaciju. Dokazi ovih osobina koje cemo datisu uniformni, jer su zasnovani na opstem postupku redukcije koji je dokazanu Tvrdjenju 4.1.21(i) i (ii)1.

Razmatracemo sledece skupove:

1. P = N = M ∈ Λ | ∃L ∈ Λ, M→→L, L je normalna forma,

4.2. KOMPLETAN METOD U λ∩ 57

2. P = U = M ∈ Λ | M ima jedinstvenu normalnu formu,

3. P = L = M ∈ Λ | redukcija sa leve strane za M je konacna,

4. P = SN = M ∈ Λ | ¬(∃M1,M2, . . . ∈ Λ)M→M1→M2→ . . ..

4.2.1 Postojanje normalne forme u λ∩

U ovom odeljku cemo posmatrati skup N svih lambda terma koji imajunormalnu formu. Pokazacemo da za dati skup vaze osobine VAR(N ,N ),SAT(N ,N ), CLO(N ) i CLO+(N ). Postojanje normalne forme za lambdaterme koji imaju tip u λ∩ je onda posledica opsteg metoda redukcije dokazanogu prethodnom poglavlju Tvrdjenjem 4.1.21(i) ili (ii)1.

Definisimo skup N svih lambda terma koji imaju normalnu formu.

Definicija 4.2.1

N = M ∈ Λ | ∃L ∈ Λ, M→→L, L je normalna forma.

Lema 4.2.2 VAR(N ,N ).

Dokaz. Neka M1, . . . ,Mn ∈ N . Tada postoje termi M ′i , 1 ≤ i ≤ n takvi

daMi→→M ′i iM ′

i su normalne forme, 1 ≤ i ≤ n. Na osnovu Teoreme 2.1.9(2),xM ′

1 . . .M′n je takodje normalna forma. Ali xM1 . . .Mn→→ xM ′

1 . . .M′n tako

daxM1 . . .Mn ∈ N . ⋄

Lema 4.2.3 SAT(N ,N ).

Dokaz. Pretpostavimo daM,N,M1, . . . ,Mn ∈ N iM [x :=N ]M1 . . .Mn ∈N . Pri redukciji terma (λx.M)NM1, . . . ,Mn, pocetni redeks (λx.M)N morabiti redukovan da bi se dobila normalna forma. Kako termiM,N,M1, . . . ,Mn

imaju normalne forme, oni mogu biti redukovani do njihovih normalnih formiM ′, N ′,M ′

1, . . . ,M′n, redom. Tada

(λx.M)NM1, . . . ,Mn→→(λx.M ′)N ′M ′

1, . . . ,M′

n→→M ′[x :=N ′]M ′

1 . . .M′

n.

Ali

M [x :=N ]M1 . . .Mn→→M ′[x :=N ′]M ′

1 . . .M′

n i M [x :=N ]M1 . . .Mn ∈ N ,

tako da(λx.M)NM1, . . . ,Mn ∈ N . ⋄

58 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

Lema 4.2.4 (CLO(N )) M ∈ N ⇒ λx.M ∈ N .

Dokaz. Neka M ∈ N i pretpostavimo da je N normalna forma termaM . Na osnovu Teoreme 2.1.9(3), λx.N je takodje normalna forma, i to jenormalna forma za term λx.M , sto znaci da

λx.M ∈ N . ⋄

Lema 4.2.5 (CLO+(N )) Mx ∈ N ⇒M ∈ N .

Dokaz. Pretpostavimo da Mx ∈ N i M 6∈ N . Dakle, M nema nor-malnu formu, sto znaci da su sve redukcije od M beskonacne i sve su oblikaM→M1→M2→ . . ., za neke M1,M2, . . .. Razlikujemo dva slucaja:

• Ako nijedan od Mi nije apstrakcija, tada su sve redukcije terma Mxoblika Mx→M1x→M2x→ . . ., sto bi znacilo da Mx 6∈ N . Kontradik-cija.

• Neka je na primer, Mi ≡ λy.Pi. Tada su Mj ≡ λy.Pj za svako j ≥ i.Znaci da je data redukcija od M oblika

M→M1→M2→ . . .→λy.Pi→λy.Pi+1→ . . . .

Ali je tada odgovarajuca redukcija terma Mx oblika

Mx→M1x→ . . .→(λy.Pi)x→P ′

i [y :=x]→ . . . ,

gde Pi→→P ′i . Dobijamo da je i ova redukcija terma Mx beskonacna,

sto je u kontradikciji sa Mx ∈ N . ⋄

Tvrdjenje 4.2.6 Neka je dat term M ∈ Λ. Ako postoje baza Γ i tip ϕ ∈type, takvi da Γ ⊢M : ϕ, tada M ima normalnu formu.

Dokaz. Na osnovu Tvrdjenja 4.1.21(i) i Lema 4.2.2, 4.2.3 i 4.2.5 ili naosnovu Tvrdjenja 4.1.21(ii)1 i Lema 4.2.2, 4.2.3 i 4.2.4. ⋄

4.2. KOMPLETAN METOD U λ∩ 59

4.2.2 Jedinstvenost normalne forme u λ∩

U ovom odeljku posmatracemo skup U svih lambda terma koji imaju jed-nistvenu normalnu formu, pri cemu se posmatra jedinstvena normalna formau odnosu na α−konverziju, odnosno preimenovanje vezanih promenljivih.Jedinstvenost normalne forme sledi iz postojanja normalne forme i konflu-encije, ali ce ovde biti dat direktan dokaz ove osobine. Pokazacemo da zaskup U vaze osobine VAR(U ,U), SAT(U ,U), CLO(U) i CLO+(U) . Kaoposledicu, dobijamo da svaki lambda term koji ima tip u λ∩ ima jedinstvenunormalnu formu (Posledica 2.1.11(1)).

Definicija 4.2.7

U = M ∈ Λ | M ima jedinstvenu normalnu formu.

Lema 4.2.8 VAR(U ,U).

Dokaz. Neka M1, . . . ,Mn ∈ U i pretpostavimo da su P1 i P2 dve razlicitenormalne forme terma P ≡ xM1 . . .Mn. Tada P1←←P →→P2 i P1 i P2 morajubiti oblika P1 ≡ xM ′

1 . . .M′n i P2 ≡ xM ′′

1 . . .M′′n , gde su M ′

i i M ′′i normalne

forme za Mi, 1 ≤ i ≤ n. Posto Mi ∈ U , 1 ≤ i ≤ n, sledi da M ′i ≡ M ′′

i .Dakle, P1 ≡ P2, odnosno

xM1 . . .Mn ∈ U . ⋄

Lema 4.2.9 SAT(U ,U).

Dokaz. Neka M,N,M1, . . . ,Mn ∈ U i neka M [x :=N ]M1 . . .Mn ∈ U .Oznacimo sa P1 i P2 dve razlicite normalne forme terma

P ≡ (λx.M)NM1, . . . ,Mn.

Tada

P1←←P →→P2,

P1 ≡M ′[x :=N ′]M ′

1 . . .M′

n

i

P2 ≡M ′′[x :=N ′′]M ′′

1 . . .M′′

n ,

60 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

gde su M ′, M ′′, N ′, N ′′, M ′i , M

′′i normalne forme za M, N, Mi, 1 ≤ i ≤ n

redom. Pocetni redeks (λx.M)N terma P mora biti redukovan da bi se dobilenormalne forme. Ali

M ′[x :=N ′]M ′

1 . . .M′

n←←M [x :=M ]M1 . . .Mn→→M ′′[x :=N ′′]M ′′

1 . . .M′′

n

i M [x :=N ]M1 . . .Mn ∈ U odakle dobijamo da je P1 ≡ P2, sto znaci da

(λx.M)NM1, . . . ,Mn ∈ U . ⋄

Lema 4.2.10 (CLO(U)) M ∈ U ⇒ λx.M ∈ U .

Dokaz. Pretpostavimo da M ∈ U i oznacimo sa P1 i P2 dve razlicitenormalne forme terma P ≡ λx.M . Jedini nacin da se redukuje P je

P1 ≡ λx.M1←←λx.M→→λx.M2 ≡ P2

gde M1←←M→→M2 i M1 i M2 su normalne forme. Ali M ∈ U , odakle sledida je M1 ≡M2. Znaci λx.M1 ≡ λx.M2 i

λx.M ∈ U . ⋄

Lema 4.2.11 (CLO+(U)) Mx ∈ U ⇒M ∈ U .

Dokaz. Pretpostavimo da M ima dve normalne forme

N1 = λx1 . . . xn.yP1 . . . Pk,

N2 = λy1 . . . yl.zQ1 . . . Qs.

Tada i term Mx ima dve normalne forme λx2 . . . xn.yP1 . . . Pk[x1 := x] iλy2 . . . yl.zQ1 . . . Qs[y1 := x], sto je suprotno pretpostavci. ⋄

Tvrdjenje 4.2.12 Neka je dato M ∈ Λ. Ako postoji baza Γ i tip ϕ ∈ type

takvi da Γ ⊢M : ϕ, tada M ima jedinstvenu normalnu formu.

Dokaz. Na osnovu Tvrdjenja 4.1.21(i) i Lema 4.2.8, 4.2.9 i 4.2.17 ili naosnovu Tvrdjenja 4.1.21(ii)1 i Lema 4.2.8, 4.2.9 i 4.2.10. ⋄

4.2. KOMPLETAN METOD U λ∩ 61

4.2.3 Konacnost redukcije sa leve strane u λ∩

Podsetimo se da redukcija sa leve strane,→→ℓ, redukuje najpre redeks sa levestrane (Definicija 2.1.8).

Za skup L svih lambda terma za koje redukcija sa leve strane ima osobinunormalizacije, pokazacemo da vaze osobine VAR(L,L), SAT(L,L), CLO(L)i CLO+(L). Kao posledicu, dobijamo da za lambda terme koji imaju tip usistemu λ∩, redukcija sa leve strane je konacna (Teorema 2.1.15).

Definicija 4.2.13 Definisimo L sa:

L = M ∈ Λ | redukcija sa leve strane za M je konacna.

Lema 4.2.14 VAR(L,L).

Dokaz. Neka M1, . . . ,Mn ∈ L. Jedini nacin da se redukuje xM1 . . .Mn

koristeci redukciju sa leve strane je

xM1 . . .Mn→→ℓ xM′

1 . . .M′

n,

gde Mi→→ℓM′i , 1 ≤ i ≤ n. Posto Mi ∈ L, 1 ≤ i ≤ n, sledi da su sve ove

redukcije konacne, sto znaci da je i prva redukcija konacna, tako da

xM1 . . .Mn ∈ L. ⋄

Lema 4.2.15 SAT(L,L).

Dokaz. Pretpostavimo daM,N,M1, . . . ,Mn ∈ L i M [x :=N ]M1 . . .Mn ∈L. Treba pokazati da (λx.M)NM1 . . .Mn ∈ L. Redukcija sa leve straneterma (λx.M)NM1 . . .Mn mora poceti sa redukcijom pocetnog redeksa (λx.M)N .Dakle, prvi korak u ovoj redukciji je sledeci:

(λx.M)NM1 . . .Mn→→ℓM [x :=N ]M1 . . .Mn.

Kako M [x :=N ]M1 . . .Mn ∈ L, sledi da

(λx.M)NM1 . . .Mn ∈ L. ⋄

Lema 4.2.16 (CLO(L)) M ∈ L ⇒ λx.M ∈ L.

62 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

Dokaz. Ako M ∈ L, onda i λx.M ∈ L, jer se prilikom ove lambdaapstrakcije ne formiraju novi redeksi. ⋄

Lema 4.2.17 (CLO+(L)) Mx ∈ L ⇒M ∈ L.

Dokaz. Neka Mx ∈ L i pretpostavimo M /∈ L. Ako M ne pocinje saapstrakcijom, onda znaci da i Mx 6∈ L, jer je krajnje leva redukcija termaMx, upravo krajnje leva redukcija terma M , sto je suprotno pretpostavci.Ako M pocinje sa apstrakcijom, onda dobijamo novi krajnje levi redeks, kojikada redukujemo stizemo do prvog krajnje levog redeksa terma M , dakle iovog puta mozemo zakljuciti da Mx 6∈ L. ⋄

Tvrdjenje 4.2.18 Neka je dato M ∈ Λ. Ako postoji baza Γ i tip ϕ ∈ type

takvi da Γ ⊢M : ϕ, tada je redukcija sa leve strane terma M konacna.

Dokaz. Na osnovu Tvrdjenja 4.1.21(i) i Lema 4.2.14, 4.2.15 i ??, ili naosnovu Tvrdjenja 4.1.21(ii)1 i Lema 4.2.14, 4.2.15 i 4.2.16. ⋄

4.2.4 Jaka normalizacija u λ∩

Svi termi koji imaju tip u D i λ∩ imaju osobinu jake normalizacije (Teo-rema 2.3.9).

U ovom delu cemo pokazati da, u slucaju jake normalizacije, mogu bitiprimenjena oba dela opsteg postupka redukcije (Tvrdjenje 4.1.21(i)1 i (ii)1).Zapravo, pokazacemo da za skup SN svih lambda terma koji imaju osobinujake normalizacije, vaze osobine VAR(SN ,SN ), SAT(SN ,SN ), CLO(SN )i CLO+(SN ). Tada je jaka normalizacija svih lambda terma koji imaju tipu sistemu λ∩ direktna posledica Tvrdjenja 4.1.21.

Definicija 4.2.19 Skup svih lambda terma koji imaju osobinu jake normal-izacije se definise na sledeci nacin.

SN = M ∈ Λ | ¬(∃M1,M2, . . . ∈ Λ)M→M1→M2→ . . ..

Lema 4.2.20 VAR(SN ,SN ).

Dokaz. Neka x ∈ var i M1, . . . ,Mn ∈ SN . Ako xM1 . . .Mn→→Z, tadamora biti Z ≡ xM ′

1 . . .M′n. Posto su redukcije Mi→→M ′

i konacne, mora bitikonacna i redukcija xM1 . . .Mn→→Z. ⋄

4.2. KOMPLETAN METOD U λ∩ 63

Lema 4.2.21 SAT(SN ,SN ).

Dokaz. Neka M,N,M1 . . .Mn ∈ SN i M [x :=M ]M1 . . .Mn ∈ SN .Pretpostavimo da postoji beskonacna redukcija terma (λx.M)NM1 . . .Mn.Razlikujemo dva slucaja. Ako se pocetni redeks ne redukuje, onda imamobeskonacnu redukciju

(λx.M)NM1 . . .Mn→→(λx.M ′)N ′M ′

1 . . .M′

n→→(λx.M ′′)N ′′M ′′

1 . . .M′′

n

gde M→→M ′,M→→N ′ i Mi→→M ′i za 1 ≤ i ≤ n. Odatle sledi da postoji

bekonacna redukcija jednog ili svih terma M,N,M1 . . .Mn sto je u suprot-nosti sa pretpostavkom da M,N,M1 . . .Mn ∈ SN . Ako se nakon konacnogbroja koraka pocetni redeks redukuje:

(λx.M)NM1 . . .Mn→→(λx.M ′)N ′M ′

1 . . .M′

n→M ′[x :=N ′]M ′

1 . . .M′

n,

gdeM→→M ′,M→→N ′ iMi→→M ′i za 1 ≤ i ≤ n, dobijamo da termM ′[x :=N ′]M ′

1 . . .M′n

moze biti beskonacno redukovan, a samim tim to vazi i za termM [x :=N ]M1 . . .Mn,jer M [x :=N ]M1 . . .Mn→→M ′[x :=N ′]M ′

1 . . .M′n. Ovo je u suprotnosti sa

cinjenicom da M [x :=N ]M1 . . .Mn ∈ SN . ⋄

Lema 4.2.22 (CLO(SN )) M ∈ SN ⇒ λx.M ∈ SN .

Dokaz. Ako bi term λx.M mogao biti beskonacno redukovan, tada biova redukcija bila oblika

λx.M→λx.M1→λx.M2→ . . . ,

sa beskonacnom redukcijom M→M1→M2→ . . .. Dobijamo kontradikcijusa cinjenicom da M ∈ SN . ⋄

Lema 4.2.23 (CLO+(SN )) Mx ∈ SN ⇒M ∈ SN .

Dokaz. Pretpostavimo da Mx ∈ SN i da M /∈ SN . Tada postojibeskonacna redukcija M→M1→M2→ . . .. Kao posledicu dobijamo da je

Mx→M1x→M2x→ . . .

takodje beskonacna redukcija. Ovo je u kontradikciji sa cinjenicom da Mx ∈SN . ⋄

Tvrdjenje 4.2.24 Neka je dat term M ∈ Λ. Ako postoji baza Γ i tip ϕ ∈type takvi da Γ ⊢M : ϕ, tada M ima osobinu jake normalizacije.

Dokaz. Na osnovu Tvrdjenja 4.1.21(i) i Lema 4.2.20, 4.2.21 i 4.2.23, ilina osnovu Tvrdjenja 4.1.21(ii)1 i Lema 4.2.20, 4.2.21 i 4.2.22. ⋄

64 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

4.3 Prvi deo metoda

Prednost prvog dela opsteg postupka redukcije pokazanog Tvrdjenjem 4.1.21(i)je u definicije interpretacije tipova (Definicija 4.1.3). U ovom slucaju, defini-cija interpretacije tipova ne postavlja nikakva ogranicenja u odnosu na pos-matrani skup P ⊆ Λ. Ali tada moramo uvesti jaci uslov CLO+(P) za P ⊆ Λ.Tako dobijamo zeljenu posledicu da term koji ima tip u sistemima sa pre-sekom pripada P , kao sto je primeceno u Napomeni 4.1.15. U ovom delu cemopokazati da je opsti postupak redukcije dat Tvrdjenjem 4.1.21(i) primenljivkada je skup P jedan od sledecih skupova:

1. P = CE = M ∈ Λ | βη-redukcija je konfluentna za M,

2. P = UE = M ∈ Λ |M ima jedinstvenu βη-normalnu formu,

U Koletsos i Stavrinos [27] ovaj metod je primenjen da bi se pokazalaTeorema o zatvaranju koja kaze da svi ΛI termi koji imaju normalnu formu,imaju osobinu jake normalizacije.

4.3.1 Konfluencija relacije →→βη u λ∩

Posmatrajmo skup CE svih lambda terma za koje je βη-redukcija konflu-entna. Da bi pokazali da je βη-redukcija konfluentna (Teorema 2.1.12) za svelambda terme koji imaju tip u λ∩, pokazacemo da vaze osobine VAR(CE , CE),SAT(CE , CE) i CLO+(CE) i primeniti Tvrdjenje 4.1.21(i). Ova osobina jepokazana u Mitchell [31] i [32] i Statman [35] za lambda terme koji imaju tipu osnovnom tipskom sistemu.

Definicija 4.3.1

CE = M ∈ Λ | P ←←βηM→→

βηR ⇒ ∃S ∈ Λ (P →→

βηS←←

βηR).

Lema 4.3.2 VAR(CE , CE).

Dokaz.

4.3. PRVI DEO METODA 65

Pretpostavimo da M1, . . . ,Mn ∈ CE i

xM ′

1 . . .M′

n←←βηxM1 . . .Mn→→

βηxM ′′

1 . . .M′′

n .

Na osnovu indukcijske pretpostavke sledi da ∃Ni takvi da M ′i→→

βηNi←←

βηM ′′

i ,

1 ≤ i ≤ n. Ali tada

xM ′

1 . . .M′

n→→βηxN1 . . . Nn←←

βηxM ′′

1 . . .M′′

n .

Odavde sledi daxM1 . . .Mn ∈ CE . ⋄

Lema 4.3.3 SAT(CE , CE).

Dokaz.Neka M,N,M1, . . . ,Mn ∈ CE i neka M [x :=N ]M1 . . .Mn ∈ CE . Pokaza-

cemo da P ≡ (λx.M)NM1 . . .Mn ∈ CE .Pretpostavimo da

Q←←βηP →→

βηR.

U zavisnosti od toga da li se redukuje pocetni redeks terma P , razlikujemosledece slucajeve:

Slucaj

(λx.M ′)N ′M ′

1 . . .M′

n←←βηP →→

βη(λx.M ′′)N ′′M ′′

1 . . .M′′

n ,

gde M ′←←βηM→→

βηM ′′, N ′←←

βηN→→

βηN ′′ i M ′

i←←βηMi→→

βηM ′′

i , 1 ≤ i ≤ n. Kako

M,N,Mi ∈ CE , sledi da

∃S takvo da M ′→→βηS←←

βηM ′′;

∃Si takvi da M ′

i→→βηSi←←

βηM ′′

i , 1 ≤ i ≤ n;

∃Z takvo da N ′→→βηZ←←

βηN ′′.

Ali tada

(λx.M ′)N ′M ′

1 . . .M′

n→→βη

(λx.S)ZS1 . . . Sn←←βη

(λx.M ′′)N ′′M ′′

1 . . .M′′

n ,

66 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

pa dobijamo da(λx.M)NM1 . . .Mn ∈ CE .

Slucaj

Q←←βηM ′[x :=N ′]M ′

1 . . .M′

n←←βηP →→

βηM ′′[x :=N ′′]M ′′

1 . . .M′′

n→→βηR,

gde M ′←←βηM→→

βηM ′′, N ′←←

βηN→→

βηN ′′ i M ′

i←←βηMi→→

βηM ′′

i , 1 ≤ i ≤ n. Ali

Q←←βηM ′[x :=N ′]M ′

1 . . .M′

n←←βηM [x :=N ]M1 . . .Mn→→

βη

→→βηM ′′[x :=N ′′]M ′′

1 . . .M′′

n→→βηR

tako da rezultat sledi iz cinjenice da P →→βηM [x :=N ]M1 . . .Mn ∈ CE .

Slucaj

Q←←βηM ′[x :=N ′]M ′

1 . . .M′

n←←βηP →→

βη(λx.M ′′)N ′′M ′′

1 . . .M′′

n ,

gde

M ′←←βηM→→

βηM ′′, N ′←←

βηN→→

βηN ′′ i M ′

i←←βηMi→→

βηM ′′

i , 1 ≤ i ≤ n.

Posto M,N,Mi ∈ CE , 1 ≤ i ≤ n sledi da

∃S takvo da M ′→→βηS←←

βηM ′′

∃Si takvi da M ′

i→→βηSi←←

βηM ′′

i , 1 ≤ i ≤ n

∃Z takvo da N ′→→βηZ←←

βηN ′′

Tada

Q←←βηM ′[x :=N ′]M ′

1 . . .M′

n←←βηM [x :=N ]M1 . . .Mn→→

βηS[x :=Z]S1 . . . Sn.

Ali M [x :=N ]M1 . . .Mn ∈ CE pa postoji term R ∈ Λ takav da

Q→→βηR←←

βηS[x :=Z]S1 . . . Sn.

TadaM ′′[x :=N ′′]M ′′

1 . . .M′′

n→→βηS[x :=Z]S1 . . . Sn→→

βηR. ⋄

4.3. PRVI DEO METODA 67

Lema 4.3.4 (CLO+(CE)) Mx ∈ CE ⇒M ∈ CE .

Dokaz. Neka Mx ∈ CE i M1←←M→→M2. Tada M1x←←Mx→→M2x.Posto Mx ∈ CE sledi da ∃S1, S2 ∈ Λ takvo da M1x→→S1, M2x→→S2, iS1 =η S2. Poslednje dve redukcije se dalje mogu redukovati na dva nacina.Slucaj 1.

S1 ≡ M3x, S2 ≡ M4x. Tada M1x→→M3x, M2x→→M4x i M3x =η M4x.Dakle, dobijamo da M1→→M3, M2→→M4 i M3 =η M4, sto znaci da M ∈ CE .

Slucaj 2.M1x ≡ (λy.N1)x→→N ′

1[y :=x], N1→→N ′1

M2x ≡ (λz.N2)x→→N ′2[z :=x], N2→→N ′

2, iN ′

1[y :=x] =η N′2[z :=x]. Tada λy.N1 =η λz.N2 do na preimenovanje vezanih

promenljivih. Zbog toga, M1 ≡ λy.N1→→λy.N ′1, M2 ≡ λy.N2→→λy.N ′

2 iλy.N1 =η λy.N2, tako da M ∈ CE . ⋄

Tvrdjenje 4.3.5 Neka je dat lambda term M ∈ Λ. Ako postoji baza Γ i tipϕ ∈ typeω, takvi da Γ ⊢M : ϕ, tada je βη-redukcija konfluentna na M .

Dokaz. Na osnovu Tvrdjenja 4.1.21(i) i Lema 4.3.2, 4.3.3 i 4.3.4. ⋄

4.3.2 Jedinstvenost βη-normalne forme u λ∩

U ovom delu posmatracemo skup UE svih lambda terma koji imaju jedin-stvenu βη-normalnu formu. Za ovaj skup cemo dokazati osobine VAR(UE ,UE),SAT(UE ,UE) i CLO+(UE). Tada je posledica opsteg postupka redukcijepokazanog u Poglavlju 3.1 cinjenica da svi lambda termi koji imaju tip u λ∩,imaju jedinstvenu βη-normalnu formu.

Definicija 4.3.6

UE = M ∈ Λ | M ima jedinstvenu βη-normalnu formu.

Lema 4.3.7 VAR(UE ,UE).

68 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

Dokaz.Neka M1, . . . ,Mn ∈ UE i pretpostavimo da su P1 i P2 dve razlicite βη-

normalne forme za P ≡ xM1 . . .Mn. Tada

P1←←βηP →→

βηP2

i P1 i P2 moraju biti oblika

P1 ≡ xM ′

1 . . .M′

n

iP2 ≡ xM ′′

1 . . .M′′

n ,

gde su M ′i i M ′′

i βη-normalne forme za Mi, 1 ≤ i ≤ n. Ali Mi ∈ UE , 1 ≤i ≤ n, tako da su ove βη-normalne forme jedinstvene. Dakle, P1 ≡ P2 i to jeβη-normalna forma za xM1 . . .Mn, odnosno

xM1 . . .Mn ∈ UE . ⋄

Lema 4.3.8 SAT(UE ,UE).

Dokaz.Neka M,N,M1, . . . ,Mn ∈ UE i neka M [x :=N ]M1 . . .Mn ∈ UE . Treba

da pokazemo da P ≡ (λx.M)NM1, . . . ,Mn ima jedinstvenu βη-normalnuformu. Pretpostavimo da su P1 i P2 dve razlicite βη-normalne forme za P .Tada

P1 ≡M ′[x :=N ′]M ′

1 . . .M′

n

iP2 ≡M ′′[x :=N ′′]M ′′

1 . . .M′′

n

jer pocetni redeks (λx.M)N mora biti redukovan da bi se dobila normalnaforma. Pri tome

M ′←←βηM→→

βηM ′′, N ′←←

βηN→→

βηN ′′, M ′

i←←βηMi→→

βηM ′′

i

i M ′, M ′′, N ′, N ′′, M ′i , M

′′i su normalne forme za M, N, Mi, 1 ≤ i ≤ n

redom. Kako M,N,M1, . . . ,Mn ∈ UE , sledi da je P1 ≡ P2, sto implicira da(λx.M)NM1, . . . ,Mn ima jedinstvenu βη-normalnu formu, odnosno

(λx.M)NM1, . . . ,Mn ∈ UE . ⋄

4.4. DRUGI DEO METODA 69

Lema 4.3.9 (CLO+(UE)) Mx ∈ UE ⇒ x ∈ UE.

Dokaz. Neka Mx ∈ UE i pretpostavimo da M 6∈ UE . Tada M ima dverazlicite βη-normalne forme, oznacimo ih sa N1 i N2. Ako bilo koja od njihpocinje sa promenljivom, odmah dobijamo kontradikciju. Ako obe pocinjuapstrakcijom, odnostno N1 ≡ λy.P1 i N2 ≡ λz.P2, i P1 i P2 su dve razliciteβη-normalne forme, tada Mx→β P1[y :=x] i Mx→β P2[z :=x]. Dakle, Mxima dve razlicite βη-normalne forme, sto je kontradikcija sa cinjenicom daMx ∈ UE . ⋄

Tvrdjenje 4.3.10 Neka je dat lambda term M ∈ Λ. Ako postoji baza Γ i tipϕ ∈ type takvi da Γ ⊢ M : τ ⇒ M , tada M ima jedinstvenu βη-normalnuformu.

Dokaz. Na osnovu Tvrdjenja 4.1.21(i) i Lema 4.3.7, 4.3.8 i 4.3.9. ⋄

4.4 Drugi deo metoda

U ovom odeljku cemo pokazati da termi koji imaju tip u sistemu λ∩Ωimaju osobinu konfluentnosti, standardizacije i konacnosti razvoja. Ove os-obine cemo dokazati primenom drugog dela opsteg postupka redukcije kojije dokazan u Tvrdjenju 4.1.21(ii)2. Razmatracemo sledece skupove:

1. P = C = M ∈ Λ | β-redukcija je konfluentna na M,

2. P = S = M ∈ Λ | svaka redukcija od M moze biti izvedena nastandardan nacin,

3. P = F = M ∈ Λ |M∗ ima osobinu jake normalizacije .(M∗ predstavlja oznaceni lambda term, vidi Definiciju 4.4.16.)

Znacaj drugog dela metoda je u tome sto je primenjiv na sistem λ∩Ω,sto za posledicu ima da se tri navedene osobine koje vaze u λ∩Ω mogujednostavno uopstiti i pokazati da vaze za sve lambda terme, sto znaci za ceoskup Λ.

70 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

4.4.1 Konfluencija relacije →→ u Λ

Neka je C skup svih lambda terma za koje je β-redukcija konfluentna (imaChurch-Rosser-ovu osobinu). Pokazacemo da za dati skup vaze osobineVAR(C, C), SAT(C, C) i CLO(C). Tada je konfluencija β-redukcije za lambdaterme koji imaju odgovarajuci tip u λ∩Ω direktna posledica opsteg metodaredukcije datog u prethodnom poglavalju Tvrdjenjem 4.1.21(ii)2. Zatim jemoguce dokazati konfluenciju β-redukcije za skup Λ svih lambda terma (Teo-rema 2.1.10).

Definisimo najpre skup C svih lambda terma koji imaju Churh-Rosser-ovuosobinu.

Definicija 4.4.1

C = M ∈ Λ |M1←←M→→M2 ⇒ (∃M3 ∈ Λ) M1→→M3←←M2.

Lema 4.4.2 VAR(C, C).

Dokaz. Pretpostavimo da

xM ′

1 . . .M′

n←← xM1 . . .Mn→→ xM ′′

1 . . .M′′

n .

Jedina mogucnost da se term xM1 . . .Mn redukuje je da se izvrse redukcijeM ′

i←←Mi→→M ′′i , 1 ≤ i ≤ n. Posto Mi ∈ C, znaci da postoje termi M ′′′

i , 1 ≤i ≤ n, takvi da M ′

i→→M ′′′i ←←M ′′

i , 1 ≤ i ≤ n. Tada

xM ′

1 . . .M′

n→→ xM ′′′

1 . . .M ′′′

n ←← xM ′′

1 . . .M′′

n ,

sto znaci daxM1 . . .Mn ∈ C. ⋄

Lema 4.4.3 SAT(C, C).

Dokaz.Neka M,N,M1, . . . ,Mn ∈ C i M [x :=N ]M1 . . .Mn ∈ C. Oznacimo sa

P ≡ (λx.M)NM1 . . .Mn

i pretpostavimo daR←←P →→S.

4.4. DRUGI DEO METODA 71

U zavisnosti od toga da li se pocetni redeks terma P redukuje, razlikujemosledece slucajeve:

Slucaj

(λx.M ′)N ′M ′

1 . . .M′

n←←P →→(λx.M ′′)N ′′M ′′

1 . . .M′′

n ,

gde M ′←←M→→M ′′, N ′←←N→→N ′′, i M ′i←←Mi→→M ′′

i , 1 ≤ i ≤ n. PostoM,N,Mi ∈ C, sledi da postoje termi M ′′′, N ′′′ i M ′′′

i , 1 ≤ i ≤ n takvi daM ′→→M ′′′←←M ′′, N ′→→N ′′′←←N ′′, i M ′

i→→M ′′′i ←←M ′′

i , 1 ≤ i ≤ n. Dakle,

(λx.M ′)N ′M ′

1 . . .M′

n→→(λx.M ′′′)N ′′′M ′′′

1 . . .M ′′′

n ←←(λx.M ′′)N ′′M ′′

1 . . .M′′

n .

odnosno P ∈ C.

Slucaj

R←←M ′[x :=N ′]M ′

1 . . .M′

n←←P →→M ′′[x :=N ′′]M ′′

1 . . .M′′

n→→S,

gde M ′←←M→→M ′′, N ′←←N→→N ′′ i M ′i←←Mi→→M ′′

i za 1 ≤ i ≤ n. Tada

R←←M ′[x :=N ′]M ′

1 . . .M′

n←←M [x :=N ]M1 . . .Mn

→→M ′′[x :=N ′′]M ′′

1 . . .M′′

n→→S,

pa rezultat sledi iz cinjenice da

P →→M [x :=N ]M1 . . .Mn ∈ C.

Slucaj

R←←M ′[x :=N ′]M ′

1 . . .M′

n←←P →→(λx.M ′′)N ′′M ′′

1 . . .M′′

n ,

gde M ′←←M→→M ′′, N ′←←N→→N ′′ i M ′i←←Mi→→M ′′

i za 1 ≤ i ≤ n. NekaM ′→→M ′′′←←M ′′, N ′→→N ′′′←←N ′′ i M ′

i→→M ′′′i ←←M ′′

i za 1 ≤ i ≤ n. Tada

R←←M ′[x :=N ′]M ′

1 . . .M′

n←←M [x :=N ]M1 . . .Mn→→M ′′′[x :=N ′′′]M ′′′

1 . . .M′′′

n .

Kako M [x :=N ]M1 . . .Mn ∈ C, znaci da postoji term Z ∈ Λ takav daR→→Z←←M ′′′[x :=N ′′′]M ′′′

1 . . .M ′′′n . Ali tada takodje

R→→Z←←M ′′′[x :=N ′′′]M ′′′

1 . . .M ′′′

n ←←(λx.M ′′)N ′′M ′′

1 . . .M′′

n

pa opet sledi da P ∈ C. ⋄

72 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

Lema 4.4.4 (CLO(C)) M ∈ C ⇒ λx.M ∈ C.

Dokaz. Neka M ∈ C. Pretpostavimo da

R←←λx.M→→S.

Tada je R ≡ λx.R′, S ≡ λx.S ′ i R′←←M→→S ′. Dakle, postoji term Z ∈ Λtakav da R′→→Z←←S ′ jer M ∈ C. Tada λx.R′→→λx.Z←←λx.S ′, odakle sledida

λx.M ∈ C. ⋄

Tvrdjenje 4.4.5 Neka je dato M ∈ Λ. Ako postoji baza Γ i tip ϕ ∈ typeω \ω takvi da Γ ⊢ω M : ϕ, tada je β-redukcija konfluentna na M .

Dokaz. Na osnovu Tvrdjanja 4.1.21(ii)2 i Lema 4.4.2, 4.4.3 i 4.4.4. ⋄

Izuzetno vazna posledica Tvrdjenja 4.4.5 je konfluencija β-redukcije uskupu Λ svih lambda terma. Da bi dokazali ovo tvrdjenje, dokazimo najprejednu pomocnu lemu.

Lema 4.4.6 Neka M ∈ Λ. Tada:

λx.M ∈ C ⇒M ∈ C.

Dokaz. Pretpostavimo da λx.M ∈ C. Jedini nacin da se β-redukujeλx.M je da se β-redukuje M . Dakle, M ∈ C. ⋄

Primetimo da prethodna lema ne vazi za skup CE svih terma na kojimaje βη-redukcija konfluentna.

Posledica 4.4.7 (Konfluencija β-redukcije) Ako M ∈ Λ, tada M ∈ C.

Dokaz. Za svako M ∈ Λ, term λx.M je term koji ima slabu pocetnunormalnu formu, odnosno λx.M ∈ W. Lako je pokazati da postoji baza Γtakva da Γ ⊢ω λx.M : ω → ω. Na osnovu Tvrdjenja 4.4.5 sledi da λx.M ∈ C.Na osnovu Leme 4.4.6 sledi da M ∈ C. ⋄

4.4. DRUGI DEO METODA 73

4.4.2 Standardizacija u Λ

Osobina da se svaka redukcija moze razloziti na pocetnu redukciju nakonkoje sledi unutrasnja redukcija se naziva standardizacija (Definicija 2.1.7).

Neka S oznacava skup svih lambda terma za koje svaka redukcija mozebiti rastavljena na pocetnu redukciju nakon koje sledi unutrasnja redukcija.Pokazacemo da za ovaj skup vaze osobine VAR(S,S), SAT(S,S) i CLO(S).Kao posledicu, dokazacemo Teoremu o standardizaciji za lambda terme kojiimaju odredjeni tip u λ∩Ω a zatim i teoremu o standardizaciji u celom skupuΛ (Teorema 2.1.14).

Definicija 4.4.8

S = M |M→→Z ⇒ (∃N ∈ Λ) M→→hN→→i Z.

Lema 4.4.9 VAR(S,S).

Dokaz. Ako xM1 . . .Mn→→Z, tada xM1 . . .Mn→→i Z posto ovaj termnema pocetni redeks. ⋄

Lema 4.4.10 SAT(S,S).

Dokaz. Neka M,N,M1 . . .Mn ∈ S i neka M [x :=N ]M1 . . .Mn ∈ S.Pretpostavimo da P ≡ (λx.M)NM1 . . .Mn→→Z.

SlucajZ ≡ (λx.M ′)N ′M ′

1 . . .M′

n,

M→→M ′, N→→N ′ i Mi→→M ′i za 1 ≤ i ≤ n. Redukcija je tada unutrasnja

P →→h P →→i Z.

Slucaj

P →→(λx.M ′)N ′M ′

1 . . .M′

n→M ′[x :=N ′]M ′

1 . . .M′

n→→Z,

M→→M ′, N→→N ′ i Mi→→M ′i za 1 ≤ i ≤ n. Tada

M [x :=N ]M1 . . .Mn→→M ′[x :=N ′]M ′1 . . .M

′n. Kako M [x :=N ]M1 . . .Mn ∈

S, imamo da (λx.M)NM1 . . .Mn→hM [x :=N ]M1 . . .Mn→→h Z′→→i Z, sto

znaci da(λx.M)NM1 . . .Mn ∈ S. ⋄

74 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

Lema 4.4.11 (CLO(S)) M ∈ S ⇒ λx.M ∈ S.

Dokaz. Pretpostavimo da M ∈ S i λx.M→→Z. Tada Z mora bitioblika Z ≡ λx.M ′ gde M→→M ′. M ∈ S, M→→hN→→iM

′. Ali pocetniredeks terma M je takodje pocetni redeks terma λx.M i obrnuto, tako daλx.M→→h λx.N →→i λx.M

′, odakle sledi da

λx.M ∈ S. ⋄

Ponovo, primetimo da osobina CLO+(S) ne moze biti dokazana bez η-redukcije.

Tvrdjenje 4.4.12 Neka je dato M ∈ Λ. Ako postoji baza Γ i tip ϕ ∈typeω \ ω takvi da Γ ⊢ω M : ϕ, tada M ∈ S.

Dokaz. Na osnovu Tvrdjenja 4.1.21(ii)2 i Lema 4.4.9, 4.4.10 i 4.4.11. ⋄

Kao vaznu posledicu Tvrdjenja 4.4.12 dobijamo standardizaciju u skupuΛ. Kao i u slucaju konfluencije, i ovde cemo najpre dokazati analognupomocnu lemu.

Lema 4.4.13 Neka M ∈ Λ. Tada:

λx.M ∈ S ⇒M ∈ S.

Dokaz. Jedini nacin da se redukuje pocetni redeks terma λx.M je reduk-cija pocetnog redeksa terma M . Dakle, standardna redukcija terma λx.M jestandardna reduckcija terma M , sto znaci da M ∈ S. ⋄

Posledica 4.4.14 (Standardizacija u Λ) Ako M ∈ Λ, tada M ∈ S.

Dokaz. Analognim zakljucivanjem kao u dokazu Posledice 4.4.7, dolaz-imo do zakljucka da na osnovu Tvrdjenja 4.4.12 sledi da λx.M ∈ S. Naosnovu Leme 4.4.13 sledi da M ∈ S. ⋄

4.4. DRUGI DEO METODA 75

4.4.3 Konacnost razvoja u Λ

Podsetimo se najpre nekih oznaka i pojmova koji ce nam biti potrebni dadokazemo Teoremu o konacnosti razvoja. Pre svega, potreban nam je pojamoznacenog lambda terma. Ako M ∈ Λ, tada se oznacen lambda term M∗

dobija od M oznacavajuci sve redekse u M . Teorema o konacnosti razvojatvrdi da svi oznaceni lambda termi imaju osobinu jake normalizacije.

Definisimo najpre alfabet koji cemo koristiti.

Definicija 4.4.15 1. Prebrojiv skup promenljivih V = x, y, z, x1, . . .;

2. lambde λ0, λ1, . . .;

3. operacija aplikacije ·;

4. zagrade (, ).

Skup Λ∗ svih oznacenih lambda terma se tada induktivno definise.

Definicija 4.4.16 1. x ∈ V ⇒ x ∈ Λ∗;

2. M ∈ Λ∗, x ∈ V ⇒ (λx.M) ∈ Λ∗;

3. M,N ∈ Λ∗ ⇒ (MN) ∈ Λ∗;

4. M,N ∈ Λ∗ ⇒ ((λix.M)N) ∈ Λ∗, za sve i ∈ N.

Termi oblika (λix.M)N se nazivaju oznaceni redeksi.

Uvedimo zatim pojam redukcije na ovim termima. Supstitucija se definisena uobicajen nacin. Redukcija na oznacenim lambda termima se naziva β0-redukcija i definisana je sa

(λix.M)N→β0

M [x :=N ].

Dalje, definisimo skup F svih lambda terma za koje oznaceni termi imajuosobinu jake normalizacije. Za skup F cemo pokazati da vaze osobine VAR(F ,F),SAT(F ,F) i CLO(F). Teorema o konacnosti razvoja je onda direktna posled-ica opsteg metoda redukcije pokazanog u prethodnom poglavlju.

Definicija 4.4.17F = M ∈ Λ |M∗ ∈ SN.

76 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

Lema 4.4.18 VAR(F ,F).

Dokaz. Neka x ∈ var i M1, . . . ,Mn ∈ F . Tada M∗1 , . . . ,M

∗n imaju

osobinu jake normalizacije, odnosno M∗1 , . . . ,M

∗n ∈ SN . Posmatracemo term

P ≡ xM1 . . .Mn i pokazati da P ∗ ∈ SN . Oznaceni redeksi terma P suzapravo jedino oznaceni redeksi terma M1, . . . ,Mn, 1 ≤ i ≤ n, odnosno P ∗ =xM∗

1 . . .M∗n. Kako je jedini nacin da se redukuje term P zapravo redukcija

oznacenih redeksa terma M∗i , 1 ≤ i ≤ n, a redukcije M∗

i →→β0M ′

i su konacne,dobijamo da je konacna i redukcija P →→β0

xM ′1 . . .M

′n, sto znaci da P ∈ F . ⋄

Lema 4.4.19 SAT(F ,F).

Dokaz. Neka M,N,M1 . . .Mn ∈ F i M [x :=N ]M1 . . .Mn ∈ F . TadaM∗, N∗,M∗

1 . . .M∗n ∈ SN i (M [x :=M ]M1 . . .Mn)∗ ∈ SN . Potrebno je

pokazati da za P ≡ (λx.M)NM1 . . .Mn, vazi P ∗ ∈ SN . Uocimo najpre da jeP ∗ = (λ0x.M

∗)N∗M∗1 . . .M

∗n. Pretpostavimo da postoji beskonacna reduk-

cija od P . Posto pocetni redeks mora biti oznacen, on mora biti redukovan.Dakle, posle odredjenog broja koraka dobijamo:

(λ0x.M∗)N∗M∗

1 . . .M∗

n→→β0

(λ0x.M′)N ′M ′

1 . . .M′

n→β0

M ′[x :=N ′]M ′

1 . . .M′

n,

gde se termiM ′, N ′,M ′i , 1 ≤ i ≤ n dobijaju od termaM∗, N∗, M∗

i , 1 ≤ i ≤ nredom, redukujuci oznacene redekse, odnosno

M∗→→β0

M ′, N∗→→β0

N ′ i M∗

i →→β0

M ′

i , 1 ≤ i ≤ n.

Odavde sledi da term M ′[x :=N ′]M ′1 . . .M

′n moze biti beskonacno redukovan,

a samim tim beskonacno redukovan moze biti i term M∗[x :=N∗]M∗1 . . .M

∗n,

jer M∗[x :=N∗]M∗1 . . .M

∗n→→β0

M ′[x :=N ′]M ′1 . . .M

′n. Kako je

(M [x :=N ]M1 . . .Mn)∗ = M∗[x :=N∗]M∗

1 . . .M∗

n,

dobijamo kontradikciju sa cinjenicom da (M [x :=N ]M1 . . .Mn)∗ ∈ SN . ⋄

Lema 4.4.20 (CLO(F)) M ∈ F ⇒ λx.M ∈ F .

Dokaz. Pretpostavimo da M ∈ F . Tada M∗ ∈ SN . Posmatrajmo termλx.M . Uocimo da (λx.M)∗ = λx.M∗ posto ova apstrakcija ne formira noveoznacene redekse osim onih vec postojecih u M . Kako M∗ ∈ SN sledi daλx.M∗ ∈ SN , odnosno

λx.M ∈ F . ⋄

4.5. OPSTI METOD REDUKCIJE ZA OSNOVNI TIPSKI SISTEM λ→77

Tvrdjenje 4.4.21 Neka je dato M ∈ Λ. Ako postoji baza Γ i tip ϕ ∈typeω \ ω takvi da Γ ⊢ω M : ϕ, tada SN (β0).

Dokaz. Na osnovu Tvrdjenja 4.1.21(i)2 i Lema 4.4.18, 4.4.19 i 4.4.20. ⋄

Jos jedna teorema koja vazi u celom skupu Λ se dobija kao posledicaTvrdjenja 4.4.21, a to je konacnost razvoja. Dokazimo najpre jednu pomocnulemu.

Lema 4.4.22 Neka M ∈ Λ. Tada:

λx.M ∈ F ⇒M ∈ F .

Dokaz. Pretpostavimo da λx.M ∈ F . Tada (λx.M)∗ = λx.M∗ ∈ SN .Kako je jedini nacin da se redukuje λx.M∗ redukcija terma M∗, dobijamoda se term M∗ ne moze beskonacno redukovati. Dakle, M∗ ∈ SN , odnosnoM ∈ F ⋄.

Posledica 4.4.23 (Konacnost razvoja) Ako M ∈ Λ, tada M∗ ∈ SN .

Dokaz. Za svako M ∈ Λ, term λx.M je term koji ima slabu pocetnunormalnu formu, odnosno λx.M ∈ W. Za ovaj term postoji baza Γ takva daΓ ⊢ω λx.M : ω → ω. Na osnovu Tvrdjenja 4.4.21 sledi da λx.M ∈ F . Naosnovu Leme 4.4.22 sledi da M ∈ F . ⋄

4.5 Opsti metod redukcije za osnovni tipski

sistem λ→

Osnovni tipski sistem λ→ je prosiren tipovima sa presekom da bi se moglaokarakterisati veca klasa terma. Zbog toga, ovaj sistem se moze posmatratikao restrikcija tipskog sistema sa presekom λ∩.

Definicija 4.5.1 Skup tipova type se definise na sledeci nacin:

1. V = α, β, γ, α1, . . . ⊂ type (V je prebrojiv skup iskaznih promenljivih);

2. Ako σ, τ ∈ type, onda (σ→ τ) ∈ type;

78 GLAVA 4. OPSTI POSTUPAK REDUKCIJE

Definicija 4.5.2 Osnovni tipski sistem λ→ je definisan sledecim pravilima:

(ax) Γ, x : σ ⊢ x : σ

(→ E)Γ ⊢M : σ → τ Γ ⊢ N : σ

Γ ⊢MN : τ

(→ I)Γ, x : σ ⊢M : τ

Γ ⊢ (λx.M) : σ → τ

U ovom sistemu, opsti postupak redukcije se takodje moze primeniti. Sveosobine dokazane u Odleljcima 4.3, 4.2.4 i 4.4 vaze za osnovni tipski sistemλ→.

Glava 5

Primena tipova sa presekom imetoda redukcije

U ovom delu su dati primeri primene tipova sa presekom i metoda redukcije.U prvom poglavlju je pokazano kako se tipovi sa presekom mogu iskoristitida bi se konstruisali lambda modeli koji karakterisu grupe lambda terma saodredjenim osobinama. Analiziran je rad ”A lambda model characterizingcomputational behaviours of terms” (Dezani i Ghilezan [12]) kao jednos-tavniji primer, dok se slozenija analiza moze naci u Dezani i dr. [13]. Udrugom poglavlju je analiziran rad ”Intersection types and computationaleffects” (Davis i Pfenning [11]).

5.1 Karakterizacija ponasanja lambda terma

pomocu lambda modela

Metod redukcije je dobro poznat metod koji se koristi za dokazivanje raznihosobina lambda terma. U vecini dosadasnjih radova, razne osobine se karak-terisu u raznim tipskim sistemima. Medjutim odredjene osobine lambdaterma se mogu okarakterisati u jedinstvenom tipskom sistemu koji definiselambda model D∞. U ovom radu [12] posmatrani su lambda termi kojiimaju osobinu normalizacije, pocetne normalizacije, slabe pocetne normal-izacije i njihove perzistentne verzije. Za ove skupove lambda terma je mogucekonstruisati lambda model koji u potpunosti karakterise navedene osobinelambda terma. Ovde je konstruisan inverzni lambda model D∞, u kojem zasvaki od navedenih skupova lambda terma, postoji odgovarajuci elemenat u

79

80GLAVA 5. PRIMENA TIPOVA SA PRESEKOM I METODA REDUKCIJE

modelu takav da term pripada skupu ako i samo ako je njegova interpretacijaveca ili jednaka tom elementu.

Ovo se moze pokazati pomocu konacnog logickog opisa modela D∞, kojise dobija definisanjem tipskog sistema sa presekom na sledeci nacin. Najprese konstruise skup tipova type koji su generisani od osnovnih tipova kojiodgovaraju elementima iz D0, zatvarajuci ih sa strelicom → i presekom ∩.Zatim se definise skup filtera F na skupu type. Skup filtera F i inverznimodel D∞ su izomorfni kao ω-algebarske mreze. Dakle, term pripada jednomod pomenutih skupova lambda terma ako i samo ako ima odredjeni tip udatom tipskom sistemu.

Definisimo najpre tipski sistem koji se koristi.

Definicija 5.1.1 (Skup tipova type) Skup tipova se definse na sledeci nacin:

type = ν | ν | µ | µ | Ω | type→ type | type ∩ type

Definisimo zatim skupove lambda terma koji su posmatrani.

Definicija 5.1.2 1. Term M ima osobinu normalizacije, M ∈ N , ako seM redukuje na normalnu formu;

2. Term M ima osobinu pocetne normalizacije, M ∈ HN , ako se Mredukuje na term oblika λ−→x .y

−→M gde y moze da se pojavi u −→x ;

3. Term M ima osobinu slabe pocetne normalizacije, M ∈ WN , ako se Mredukuje do apstrakcije ili do terma koji pocinje slobodnom promenljivom;

4. Term M ima osobinu perzistentne normalizacije, M ∈ PN , ako M−→N ∈

N za sve terme−→N ∈ N ;

5. Term M ima osobinu perzistentne pocetne normalizacije, M ∈ PHN ,ako M

−→N ∈ HN za sve terme

−→N ;

6. Term M ima osobinu perzistentne slabe pocetne normalizacije, M ∈PWN , ako M

−→N ∈ WN za sve terme

−→N .

Tvrdjenje 5.1.3 Medju datim skupovima lambda terma vaze sledece striktneinkluzije:

PN N HN WN ΛPN PHN PWN WNPHN HN .

5.1. KARAKTERIZACIJA PONASANJA LAMBDA TERMA POMOCU LAMBDA MODELA81

Odnos medju datim skupovima se moze graficki prikazati na sledeci nacin:

Λ↑WN

ր տPWN HN

տ ր տPHN N

տ րPN

Neka su n, n, h, h elementi modela D0 koji odgovaraju redom skupovimaN ,PN ,HN ,PHN .

Potrebno je diskutovati funkcionalno ponasanje terma koji pripadaju ovimskupovima, pogotovo u odnosu na “step” funkciju a⇒ b definisanu sa:

λd. ako a ⊑ d tada b inace ⊥.

Analizom ponasanja terma iz ovih skupova, dolazi se do sledece definicije.

Definicija 5.1.4 Neka je mreza D0 data kao na slici.

nւ ց

h nց ւ

h↓⊥

Neka je D∞ inverzni lambda model koji se dobija na sledeci fnacin. ZaD0 uzmimo mrezu sa slike, za D1 mrezu [D0 → D0]⊥. Zatim definisimoprojekciju i0 : D0 → [D0 → D0]⊥ na sledeci nacin:

i0(n) = (⊥ ⇒ h) ⊔ (n⇒ n), i0(n) = (h⇒ h) ⊔ (n⇒ n),

i0(h) = ⊥ ⇒ h, i0(h) = h⇒ h, i0(⊥) = ⊥.

82GLAVA 5. PRIMENA TIPOVA SA PRESEKOM I METODA REDUKCIJE

Teorema 5.1.5 (Osnovna teorema, I) Neka je D∞ inverzni model defin-isan u Definiciji 5.1.4 i neka je ρn okolina definisana sa ρn(x) = n za svex ∈ Var. Tada:

1. M ∈ PN ako i samo ako [[M ]]D∞

ρn

⊒ n;

2. M ∈ N ako i samo ako [[M ]]D∞

ρn

⊒ n;

3. M ∈ PHN ako i samo ako [[M ]]D∞

ρn

⊒ h;

4. M ∈ HN ako i samo ako [[M ]]D∞

ρn

⊒ h;

5. M ∈ PWN ako i samo ako [[M ]]D∞

ρn

⊒⊔

n∈N⊥ ⇒ . . .⇒ ⊥︸ ︷︷ ︸

n

⇒ ⊥);

6. M ∈ WN ako i samo ako [[M ]]D∞

ρn

⊒ ⊥ ⇒ ⊥.

Definicija 5.1.6 (Preslikavanje m) Preslikavanje m : T → D∞ se definisena sledeci nacin:

m(ν) = n m(ν) = n m(µ) = h m(µ) = h m(Ω) = ⊥

m(σ → τ) = m(σ)⇒ m(τ) m(σ ∩ τ) = m(σ) ⊔m(τ)

Definicija 5.1.7 (Skup filtera F ) 1. Filter je skup X ⊆ type takav da:

(a) Ω ∈ X;

(b) Ako σ ≤ τ i σ ∈ X, tada τ ∈ X;

(c) Ako σ, τ ∈ X, tada σ ∩ τ ∈ X;

2. F oznacava skup filtera na skupu type;

3. Ako X ⊆ type, ↑ X oznacava filter generisan sa X;

4. Filter je osnovni ako je oblika ↑ σ, za neki tip σ, u oznaci ↑ σ ili↑ σ.

Skup filtera F , uredjen skupovnom inkluzijom, je ω-algebarska kompletnamreza.

Koristeci preslikavanje m, moze se pokazati da su F i D∞ izomorfni dona filtere tipova koji se mogu izvesti u datom tipskom sistemu.

5.2. TIPOVI SA PRESEKOM I COMPUTATIONAL EFFECTS 83

Teorema 5.1.8 (Izomorfizam) Preslikavanje m∗ : F → D∞ definisano sa

m∗(X) =⊔

σ∈X

m(σ)

je izomorfizam izmedju mreza F i D∞.

Primetimo da m∗(↑ σ) = m(σ).

Teorema 5.1.9 (Osnovna teorema, II) Neka je Γν baza definisana sa Γν =x : ν | ∀x ∈ Var. Tada:

1. M ∈ PN ako i samo ako Γν ⊢M : ν;

2. M ∈ N ako i samo ako Γν ⊢M : ν;

3. M ∈ PHN ako i samo ako Γν ⊢M : µ;

4. M ∈ N ako i samo ako Γν ⊢M : µ;

5. M ∈ PWN ako i samo ako Γν ⊢M : Ωn → Ω za svako n ∈ N ;

6. M ∈ WN ako i samo ako Γν ⊢M : Ω→ Ω.

Dokazi (⇒) delova teoreme su vecinom jednostavne indukcije. Medjutimu dokazima (⇐) delova se koristi metod redukcije, koji je prilagodjen na tajnacin sto se zahteva da termi koji imaju tipove navedene u Teoremi 5.1.9pripadaju odgovarajucim skupovima.

Ovaj rad pokazuje jednu od mnogih primena tipova sa presekom i metodaredukcije. U ovom slucaju, ovaj tipski sistem je koriscen da bi se izgra-dio lambda model koji u potpunosti karakterise neke vazne osobine lambdaterma.

5.2 Tipovi sa presekom i computational ef-

fects

Standardna formulaciija tipova sa presekom nije postojana u prisustvu bocnih-efekata. U ovom radu [11] predlozeno je resenje slicno restrikciji vrednostiza polimorfizam koja se koristi u Standard ML-u. Osim toga, tipski sistem

84GLAVA 5. PRIMENA TIPOVA SA PRESEKOM I METODA REDUKCIJE

moze biti dopunjen sa parametarskim polimorfizmom. Ovaj sistem, i njemuodgovarajuci algoritam za proveru tipova su jedan od znacajnih koraka uuvodjenju tipova sa presekom u realne programske jezike. Novodobijenekarakteristike omogucavaju da mnoge odlike programa uvede programer istaticki proveri kompajler.

Jezik koji je posmatran je standardni “call by value” jezik sa funkcijama,promenljivim referencama i tipovima sa presekom. Uvodi se restrikcija nauvodjenje tipova sa presekom (presek se moze uvesti samo ako su polaznitermi vrednosti) i iskljucuje distributivni zakon u uvodjenju podtipova. Sin-taksa je slicna sintaksi jezika iz familije ML jezika:

Tipovi A ::= A1 → A2 | A ref | unit | bits | nat | pos | A1 ∧ A2

Termi M ::= x | λx.M |M1M2 | let x = M1 in M2 | u | fix u.M| l | ref M |! M |M1 := M2 | () | ǫ |M 0 |M 1| case M of ǫ⇒M1 | x 0⇒M2 | y 1⇒M3

Razlikujemo dve vrste promenljivih: promenljive vezane u λ, let i refizrazima, koje predstavljaju vrednosti i oznacavaju se sa x, i promenljivevezane u fix izrazima koje predstavljaju proizvoljne terme i oznacavaju sesa u. Identifikatori, oznaceni sa l, se koriste za pristup celijama u memorijiu toku evaluacije preograma.

Vrednosti se definisu kao:

Vrednosti V ::= x | λx.M | l | () | ǫ | V 0 | V 1

Zbog provere tipova, potrebno je dodeliti tipove promenljivim i celijamau bazama Γ i ∆. Osim toga, tokom izvrsenja programa potrebno je odrzavatimemoriju C. Dakle uvode se sledeci pojmovi.

Baze promenljivih Γ ::= · | Γ, x : A | Γ, u : ABaze celija ∆ ::= · | ∆, l : A

Memorija C ::= · | C, (l = V )Programska stanja P ::= C ⊲ M

Pojam podtipa i relacija ≤ se uvode na standardan nacin, osim sto jeizbacen distributivni zakon

(A→ B) ∧ (A→ B′) ≤ A→ (B ∧B′)

koji dovodi do nepostojanosti kada funkcije ukljucuju bocne efekte.

5.2. TIPOVI SA PRESEKOM I COMPUTATIONAL EFFECTS 85

Zatim se umesto uobicajene relacije poretka ≤ na skupu tipova, uvodirelacija algoritamskog podtipa E i moze se pokazati da

A ≤ B ako i samo ako A E B.

Izraz∆; Γ ⊢M : A

oznacava da term M ima tip A u bazi celija ∆ i bazi promenljivih Γ.Dodeljivanje tipova je standardno za funkcije, reference i tipove sa pre-

sekom, sa ogranicenjem uvodjenja preseka na vrednosti. Za ovaj sistem nepostoje osnovni tipovi.

Dodeljivanje tipova programskim stanjima se definise izrazom

⊢ (C ⊲ M) : (∆ ⊲ A),

i znaci da stanje (C ⊲ M) zadovoljava bazu celija ∆ i tip A.(C ⊲ M) 7→ (C ′ ⊲ M ′) oznacava jedan korak u evaluaciji programa, pri

cemu su pravila redukcije data sa:

C ⊲ E[(λx.M)V ] 7→ C ⊲ E[V/xM ]C ⊲ E[let x = V in M ] 7→ C ⊲ E[V/xM ]

C ⊲ E[fix u.M ] 7→ C ⊲ E[fix u.M/uM ]C ⊲ E[(ref V )] 7→ C, (l = V ) ⊲ E[l]

C1, (l = V ), C2 ⊲ E[!l] 7→ C1, (l = V ), C2 ⊲ E[V ]C1, (l = V1), C2 ⊲ E[l := V2] 7→ C1, (l = V2), C2 ⊲ E[()]

C ⊲ E[case ǫ of ǫ⇒M1 | x 0⇒M2 | y 1⇒M3] 7→ C ⊲ E[M1]C ⊲ E[case V 0 of ǫ⇒M1 | x 0⇒M2 | y 1⇒M3] 7→ C ⊲ E[V/xM2]C ⊲ E[case V 1 of ǫ⇒M1 | x 0⇒M2 | y 1⇒M3] 7→ C ⊲ E[V/xM3]

Moguce je dokazati sledecu teoremu.

Teorema 5.2.1 (Teorema o progresu i ocuvanju tipova) Ako ⊢ (C ⊲

M) : (∆ ⊲ A) tada vazi jedno od sledecih tvrdjenja:

1. M je vrednost;

2. (C ⊲ M) 7→ (C ′ ⊲ M ′) za neke C ′, M ′ i ∆′ koji zadovoljavaju ⊢ (C ′ ⊲

M ′) : (∆,∆′ ⊲ A).

86GLAVA 5. PRIMENA TIPOVA SA PRESEKOM I METODA REDUKCIJE

Ova teorema ne vazi ako se ne uvede ogranicenje na uvodjenje preseka.Za ovaj sistem je moguce konstruisati bi-direkcioni algoritam za proveru

tipova koji je valjan u odnosu na malo modifikovan tipski sistem.Parametarski polimorfizam moze biti dodat posmatrajuci ga kao beskonacnu

analogiju polimorfizmu sa presekom. Dakle, tipovima se dodaju tipske promenljivei univerzalni kavantifikator, α i ∀α.A, redom. Uvodi se restrikcija na uvod-jenje polimorfizma. Opet se iskljucuje distributivni zakon

∀α.(A→ B) ≤ A→ ∀α.B.

I u ovom slucaju moze se dokazati da A ≤ B ako i samo ako A E B i Teoremao progresu i ocuvanju tipova.

Uvodjenjem tipova sa presekom u programske jezike, omogucava se do-deljivanje tipova vecoj kolekciji programa, jer tipovi sa presekom mogu pred-staviti vise odlika programa u isto vreme. Varijanta tipova sa presekom,poznata kao ”refinment types”, omogucava lakse otrkivanje programerskihgresaka, i vec se koristi u proveri tipova u ML-u.

Glava 6

Zakljucak

U radu je analiziran opsti metod redukcije u lambda racunu sa tipovima injegova primena na dokaze nekih vaznih osobina lambda terma sa tipovimasa presekom.

Na pocetku rada je dat uvod u lambda racun bez tipova, osnovni pojmovi,sintaksa, relacije redukcije i osnovne teoreme. Zatim su navedeni osnovnipojemovi i osobine lambda racuna sa tipovima i tipskih sistema. Osim toga,dat je kratak osvrt na teoriju kombinatora.

Zatim je analizirana osobina jake normalizacije i tipiziranje terma u ra-zlicitim tipskim sistemima sa presekom. Pokazano je da term ima osobinujake normalizacije ako i samo ako ima tip u sistemima D i λ∩.

Najznacajniji doprinos rada je razvoj opsteg postupka redukcije u lambdaracunu sa tipovima i njegova primena na dokaze nekih vaznih osobina lambdaterma sa tipovima sa presekom. Tipovi se interpretiraju kao odgovarajuciskupovi lambda terma koji zadovoljavaju odgovarajuce osobine.

Razlikujemo dve razlicite vrste interpretacije tipova u odnosu na datiskup P ⊆ Λ u odsustvu η-redukcije i dve razlicite vrste uslova koje dati skupP ⊆ Λ treba da zadovoljava. Kombinujuci razlicite interpretacije tipovasa odgovarajucim uslovima za skup P ⊆ Λ dobija se semantika i moze sedokazati valjanost u oba slucaja.

Primena kompletnog metoda dovodi do dokaza postojanja normalne forme,jedinstvenosti normalne forme, konacnosti redukcije sa leve strane i jake nor-malizacije u sistemu λ∩. Metod sa jacim uslovima za P i odgovarajucom in-terpretacijom tipova je primenjen u dokazu konfluencije βη-redukcije i jedin-

87

88 GLAVA 6. ZAKLJUCAK

stvenosti βη-normalne forme u sistemu λ∩. Metod sa slabijim uslovim za Pi odgovarajucom jakom interpretacijom tipova je primenjen na dokaz konflu-encije β-redukcije, standardizacije i konacnosti razvoja u sistemu λ∩Ω i ucelom skupu Λ.

Na kraju su pokazane neke od primena tipova sa presekom.

Analiza lambda racuna, sa i bez tipova, je samo jedan deo sveta teoretskogracunarstva, oblasti vrlo vazne za razvoj kako matematike, tako i racunarsketehnike. Pomocu lambda racuna, mnogi koncepti se mogu proucavati u svojojnajosnovnijoj formi.

Lambda racun je moguce prosiriti razlicitim sintaktickim izrazima kojisluze za modeliranje raznih karakteristika programskih jezika (pogledati [6,5, 7, 30]). Samim tim je potrebno prosiriti postojece tipske sisteme kako bise mogli dodeliti tipovi svim postojecim izrazima u racunu. Tako se dobijamocna osnova za razumevanje semantike programskih jezika i njihov daljirazvoj zasnovan na matematickim osnovama.

Literatura

[1] Amadio, R.M. i Curien, P.L.: Domains and lambda calculi. CambridgeUniversity Press, Cambridge (1998).

[2] Barendregt, H.P.: The Lambda Calculus - Its Syntax and Semantics.North-Holland, Amsterdam (1984).

[3] Barendregt, H.P.: Lambda calculi with types. U: Abramsky, S., Gab-bay, D.M., Maibaum, T.S.E. (eds.): Handbook of Logic in ComputerScience, Vol. 2. Oxford University Press, Oxford (1992) 117–309.

[4] Barendregt, H.P., Coppo, M. i Dezani-Ciancaglini, M.: A filter modeland the completeness of type assignment. Journal of Symbolic Logic 48(1983) 931–940.

[5] Bettini, L., Bono, V. i Likavec, S.: A Core Calculus of Mixin-BasedIncomplete Objects. Proceedings of the 11th International Workshop onFoundations of Object-Oriented Languages (FOOL 11), Venice, Italy(2004) 29–41.

[6] Bettini, L., Bono, V. i Likavec, S.: A Core Calculus of Higher-Order Mix-ins and Classes. Post-Proceedings of International Workshop TYPES’03(Selected Papers) Lecture Notes in Computer Science 3085 (2004) 83–98.

[7] Bettini, L., Bono, V. i Likavec, S.: Safe and Flexible Objects. Proceedingsof the OOPS track at the 20th Annual ACM Symposium on AppliedComputing (SAC’05), Santa Fe, New Mexico, ACM Press, New York(2005) 1258–1263.

[8] Coppo, M., Dezani-Ciancaglini, M.: An extension of the basic function-ality theory for the λ-calculus. Notre Dame Journal of Formal Logic21(4) (1980) 685–693.

89

90 LITERATURA

[9] Coppo, M., Dezani-Ciancaglini, M. i Venneri, B.: Principal type schemesand λ−calculus semantics. U [34] 535–560.

[10] Coppo, M., Dezani-Ciancaglini, M. i Venneri, B.: Functional charactersof solvable terms. Zeitschrift fur mathematische Logik und Grundlagender Mathematik 27 (1981) 45–58.

[11] Davis, R. i Pfenning, F.: Intersection types and computational effects.Proceedings of the International Conference on Functional Programming(ICFP 2000), Montreal, Canada (2000) 198–208.

[12] Dezani-Ciancaglini, M i Ghilezan, S.: A lambda model characterizingcomputational behaviours of terms. Invited talk at The InternationalWorkshop on Rewriting in Proof and Computation (RPC’01), Sendai,Japan (2001) 100–118.

[13] Dezani-Ciancaglini, M, Ghilezan, S. i Likavec, S.: Behavioural inverselimit lambda models. Theoretical Computer Science 316(1) (2004) 49–74.

[14] Dezani-Ciancaglini, M., Ghilezan, S. i Venneri, B.: The “relevance” ofintersection and union types. Notre Dame Journal of Formal Logic 38(1997) 246–269.

[15] Dezani-Ciancaglini, M., Honsell, F. i Motohama, Y.: CompositionalCharacterizations of λ-terms using Intersection Types. Proceeding of the25th International Symposium on Mathematical Foundations of Com-puter Science (MFCS 2000), Bratislava, Slovakia Lecture Notes in Com-puter Science 1893 (2000) 304–313.

[16] Gallier, J.: Typing untyped λ-terms, or reducibility strikes again! An-nals of Pure and Applied Logic 91 (1998) 231–270.

[17] Ghilezan, S.: Intersection types in lambda calculus and logic. Doktorskateza, Prirodno-matematicki fakultet, Univerzitet u Novom Sadu (1993).

[18] Ghilezan, S.: Strong normalization and typability with intersectiontypes. Notre Dame Journal of Formal Logic 37 (1996) 44–53.

[19] Ghilezan, S.: Full Intersection Types and Topologies in Lambda Calcu-lus. Journal of Computer and System Sciences (2001) 1–14.

LITERATURA 91

[20] Ghilezan, S., Kuncak, V. i Likavec, S.: Reducibility method for termina-tion properties of typed lambda terms. Proceedings of the Fifth Interna-tional Workshop on Termination (WST ’01), Utrecht, The Netherlands(2001) 14–16.

[21] Ghilezan, S. i Likavec, S.: Reducibility: a ubiquitous methodin lambda calculus with intersection types. ElectronicalNotes in Theoretical Computer Science 70(1) (2003) Elsevier.http://www.elsevier.nl/locate/entcs/volume70.html

[22] Ghilezan, S. i Likavec, S.: Extensions of the reducibility method. Pro-ceedings of the 4th Panhellenic Logic Symposium (PLS4),Thessaloniki,Greece (2003) 107–112.

[23] Girard, J.-Y.: Une extension de l’interpretation de Godel a l’analyse, etson application a l’elimination des coupures dans l’analyse et la theoriedes types. U: Fenstad, J.E. (ed.): Proceedings of the 2nd ScandinavianLogic Symposium. North–Holland, Amsterdam (1971) 63–92.

[24] Gordon, M.J.C.: Programming Language Theory and its Implementa-tion. Springer-Verlag, Berlin (1979).

[25] Howard, W.A.: The formulae-as-types notion of construction. U [34]479–490.

[26] Koletsos, G.: Church-Rosser theorem for typed functionals. Journal ofSymbolic Logic 50 (1985) 782–790.

[27] Koletsos, G. i Stavrinos, G.: The structure of reducibility proofs. U:Kolaitis, Ph., Koletsos, G. (eds.): Proceedings of the Second PanhellenicLogic Symposium, Delphi, Greece (1999) 138–144.

[28] Krivine, J. L.: Lambda-calcul types et modeles. Masson, Paris (1990).

[29] Leivant, D.: Polymorphic type inference. U: Proceedings of the 10thACM Symposium on Principles of Programming Languages, Austin,Texas (1983) 88–98.

[30] Lescanne, P. i Likavec, S.: Understanding untyped λµµ calculus.Tehnicki izvestaj 2004-50, LIP, Ecole Normale Superieure de Lyon,France (2004).

92 LITERATURA

[31] Mitchell, J.C.: Type Systems for Programming Languages. U: vanLeeuwen, J. (ed.): Handbook of Theoretical Computer Science, Vol. B.Elsevire Science Publishers B.V., (1990) 415–431.

[32] Mitchell, J.C.: Foundations for Programming Lamguages. MIT Press(1996).

[33] Pottinger, G.: A type assignment for the strongly normalizableλ−terms. U [34] 561–577.

[34] Seldin J.P. i J.R. Hindley (eds.): To H.B. Curry: Essays on Combina-tory Logic, Typed Lambda Calculus and Formalism. Academic Press,London, (1980).

[35] Statman, R.: Logical relations and the simply typed lambda calculus.Information and Control 65 (1985) 85–97.

[36] Tait, W.W.: Intensional interpretation of functionals of finite type I.Journal of Symbolic Logic 32 (1967) 198-212.

[37] Tait, W.W.: A realizability interpretation of the theory of species. U:Logic Colloquium (Boston). Lecture Notes in Mathematics, Vol. 453.Springer-Verlag, Berlin (1975) 240-251.

[38] van Bakel, S.: Complete restrictions of the intersection type discipline.Theoretical Computer Science 102 (1992) 136–163.

[39] Venneri, B. (licna prepiska).