• Nie Znaleziono Wyników

1 Sk ladnia rachunku lambda

N/A
N/A
Protected

Academic year: 2021

Share "1 Sk ladnia rachunku lambda"

Copied!
120
0
0

Pełen tekst

(1)

Rachunek lambda

Pawe l Urzyczyn urzy@mimuw.edu.pl 21 wrze´snia 2020, godzina 18: 10

Rachunek lambda i logika kombinatoryczna powsta ly w latach trzydziestych dwudziestego wieku. Poczatkowo mia ly stanowi´, c alternatywne wobec teorii mnogo´sci podej´scie do pod- staw matematyki, w kt´orym funkcja (rozumiana intensjonalnie jako definicja) by la pojeciem, pierwotnym. Ten zamiar sie nie powi´, od l, ale szybko okaza lo sie, ˙ze rachunek lambda jest, niezwykle u˙zytecznym aparatem w teorii oblicze´n. Definicje funkcji obliczalnej sformu lowano, wcze´sniej za pomoca rachunku lambda, ni˙z w j, ezyku maszyn Turinga.,

P´o´zniej, w zwiazku z rozwojem informatyki, j, ezyk rachunku lambda okaza l si, e niezast, apionym, narzedziem w teorii jezyk´, ow programowania. A wreszcie i w praktyce, gdy pojawi ly sie jezyki, programowania funkcyjnego. Dzisiaj znajomo´s´c podstaw rachunku lambda jest niezbednym, elementem wykszta lcenia nowoczesnego informatyka.

Poprzez zwiazki z logik, a intuicjonistyczn, a, rachunek lambda odzyska l te˙z nale˙zne sobie miejsce, w podstawach matematyki, zw laszcza w teorii dowodu. Dlatego ta tematyka powinna by´c interesujaca tak˙ze dla student´, ow matematyki zainteresowanych logika.,

Te notatki obejmuja najwa˙zniejsze wiadomo´, sci z rachunku lambda bez typ´ow i podstawowe informacje o systemach z typami. Zrozumienie ich nie wymaga w zasadzie przygotowania wykraczajacego poza materia l wyk ladany na I roku. Jednak wcze´, sniejsze wys luchanie wy- k ladu z jezyk´, ow i automat´ow pozwoli na spojrzenie na pewne zagadnienia z szerszej perspek- tywy.

1 Sk ladnia rachunku lambda

W rachunku lambda rozwa˙zamy obiekty zwane lambda-termami . Tradycyjnie lambda-termy definiowane sa jako formalne wyra˙zenia pewnego j, ezyka, podobnie jak zwyk le termy w alge-, brze i logice pierwszego rzedu. Istotna r´, o˙znica polega na tym, ˙ze lambda-termy pozostajace, w pewnej relacji r´ownowa˙zno´sci (alfa-konwersji) sa ze sob, a uto˙zsamiane (uwa˙zane za iden-, tyczne). A wiec lambda-termy to w istocie nie wyra˙zenia, ale klasy abstrakcji lambda-wyra˙ze´, n (nazywanych te˙z pre-termami ), kt´ore teraz zdefiniujemy.

(2)

Przyjmijmy, ˙ze mamy pewien przeliczalny niesko´nczony zbi´or zmiennych przedmiotowych.

– Zmienne przedmiotowe sa lambda-wyra˙zeniami;, – Je´sli M i N sa lambda-wyra˙zeniami, to (M N ) te˙z;,

– Je´sli M jest lambda-wyra˙zeniem i x jest zmienna, to (λxM ) jest lambda-wyra˙zeniem., Wyra˙zenie postaci (M N ) nazywamy aplikacja, a wyra˙zenie postaci (λxM ) to λ-abstrakcja., Intuicyjny sens aplikacji (M N ) to zastosowanie operacji M do argumentu N . Abstrakcje, (λxM ) interpretujemy natomiast jako definicje operacji (funkcji), kt´, ora argumentowi x przy- pisuje M . Oczywi´scie x mo˙ze wystepowa´, c w M , tj. M zale˙zy od x. Narzuca sie analogia, z procedura (funkcj, a) o parametrze formalnym x i tre´, sci M .

Stosujemy nastepuj, ace konwencje notacyjne:, – opuszczamy zewnetrzne nawiasy;,

– aplikacja wia˙ze w lewo, tj. M N P oznacza (M N )P ;, – piszemy λx1. . . xn.M zamiast λx1(. . . (λxnM ) . . .).

Kropka w wyra˙zeniu λx1. . . xn. M oznacza to samo, co ujecie w nawiasy ca lego wyra˙ze-, nia M . Na przyk lad napis (λx. x(xx))y odczytamy jako ((λx(x(xx)))y). Czasem piszemy niepotrzebne kropki, np. λx. x zamiast λx x.

Operator lambda-abstrakcji λ wia˙ze zmienne, tj. wszystkie wyst, apienia x w wyra˙zeniu λxM, uwa˙za sie za zwi, azane (lokalne). Zmienne wolne (globalne) definiuje si, e tak:,

FV(x) = {x};

FV(M N ) =FV(M ) ∪FV(N );

FV(λxM ) =FV(M ) − {x}.

Alfa-konwersja

Wyb´or zmiennych u˙zywanych w wyra˙zeniu jako zwiazane jest spraw, a drugorz, edn, a. Takie, wyra˙zenia, jak na przyk lad λx.xy i λz.zy, intuicyjnie definiuja t, e sam, a operacj, e (,

”zaapli- kuj dany argument do y”) wiec z naszego punktu widzenia powinny by´, c uwa˙zane za takie same. Dlatego lambda-wyra˙zenia r´o˙zniace si, e tylko zmiennymi zwi, azanymi chcemy ze sob, a, uto˙zsamia´c. Uto˙zsamienie to nazywa sie alfa-konwersj, a.,

Pojecie alfa-konwersji mo˙zna ´, sci´sle zdefiniowa´c na wiele sposob´ow, my wybierzemy interpre- tacje grafow, a.,

Lambda-grafy

Przez drzewo rozumiemy poni˙zej sko´nczone drzewo etykietowane, w kt´orym wystepowa´, c moga, nastepuj, ace rodzaje wierzcho lk´, ow:

• wierzcho lki o etykiecie @, kt´ore maja zawsze dwa nast, epniki: lewy i prawy;,

• wierzcho lki o etykiecie λ, kt´ore maja zawsze jeden nast, epnik;,

• li´scie etykietowane zmiennymi przedmiotowymi;

• li´scie bez etykiet.

(3)

Przy tym ˙zadamy, aby ka˙zdy li´, s´c bez etykiety mia l cho´c jednego przodka z etykieta λ., Je´sli z ka˙zdego wierzcho lka bez etykiety poprowadzimy nowa kraw, ed´, z do kt´orego´s z poprzed- nik´ow tego wierzcho lka o etykiecie λ, to otrzymany graf skierowany nazwiemy lambda-drzewem.

Li´s´cmi lambda-drzewa nazywamy jego wierzcho lki ko´ncowe (ich etykietami sa zmienne)., Na przyk lad taki graf jest lambda-drzewem (wierzcho lki bez etykiet oznaczono przez ◦).

λ

@

λ @

@ λ ◦

pp

11

jj

@

44

y

Teraz dowolnemu lambda-wyra˙zeniu M przypiszemy lambda-drzewo G(M ).

• Je´sli x jest zmienna to G(x) sk lada si, e tylko z jednego wierzcho lka o etykiecie x.,

• Graf G(P Q) ma korze´n o etykiecie @. Jego lewym nastepnikiem jest korze´, n grafu G(P ) a prawym korze´n grafu G(Q).

• Graf G(λx P ) jest otrzymany z G(P ) poprzez – Dodanie nowego korzenia o etykiecie λ.

– Po laczenie go kraw, edzi, a z korzeniem grafu G(P ).,

– Dodanie krawedzi od wszystkich wierzcho lk´, ow z etykieta x do nowego korzenia., – Usuniecie etykiet x.,

Na przyk lad G(λz.(λu.zu)((λu.uy)z)) to lambda-drzewo na rysunku powy˙zej. Latwo widzie´c,

˙ze etykiety li´sci w G(M ) to dok ladnie zmienne wolne M . Na dodatek mamy:

Fakt 1.1 Je´sli T jest lambda-drzewem, to T = G(M ) dla pewnego lambda-wyra˙zenia M .

Dow´od: Indukcja ze wzgledu na liczb, e wierzcho lk´, ow grafu T . Je´sli jest tylko jeden wierz- cho lek, to jego etykieta jest pewna zmienna x i mamy T = G(x). Je´, sli etykieta korzenia, jest @, to T sk lada sie z korzenia i dw´, och roz lacznych podgraf´, ow T1 i T2, do kt´orych stosu- jemy za lo˙zenie indukcyjne. Mamy wiec T, 1 = G(M1) oraz T2 = G(M2). Oczywi´scie wtedy T = G(M1M2). Pozostaje przypadek gdy etykieta korzenia jest λ. Wtedy T sk lada si, e z ko-, rzenia, podgrafu T1 zaczepionego w nastepniku korzenia i pewnej liczby kraw, edzi prowadz, a-, cych do korzenia z wierzcho lk´ow bez etykiet. Przypisujac tym wierzcho lkom etykiet, e z, kt´, ora nie wystepuje w grafie T, 1, otrzymujemy z T1 lambda-drzewo T10. Z za lo˙zenia indukcyjnego T10 = G(M1) dla pewnego lambda-wyra˙zenia M1 i mo˙zemy napisa´c T = G(λz.M1).

(4)

Relacje alfa-konwersji (oznaczan, a przez =, α) definiujemy tak:

M =α N wtedy i tylko wtedy, gdy G(M ) = G(N ).

Od tej pory przez lambda-termy albo po prostu termy rozumiemy

”lambda-wyra˙zenia z dok lad- no´scia do alfa-konwersji”, czyli w istocie klasy abstrakcji relacji =, α. Ka˙zda taka klasa jest wyznaczona przez pewne lambda-drzewo, mo˙zemy wiec uwa˙za´, c, ˙ze lambda-termy to tak naprawde lambda-drzewa. Lambda-wyra˙zenia s, a tylko ich syntaktyczn, a reprezentacj, a, przy, czym dowolne dwie alfa-r´ownowa˙zne reprezentacje tego samego termu (lambda-drzewa) sa, tak samo dobre. Na przyk lad (λx.x(λx.xy))(λy.yx) to to samo co (λu.u(λx.xy))(λv.vx), ale nie to samo co (λy.y(λy.yx))(λx.xy). Od tej pory znak r´owno´sci oznacza r´owno´s´c lambda- term´ow (a nie ich reprezentacji), napiszemy wiec np. λx x = λy y.,

Podstawienie

Dla danych lambda-grafow G i T przez podstawienie G[x := T ] rozumiemy graf otrzymany z G przez zamiane ka˙zdego li´, scia z etykieta x na korze´, n odrebnej kopii grafu T . Ilustracja jest, chyba prostsza i bardziej zrozumia la ni˙z jakakolwiek formalna definicja. Je´sli mamy grafy

x x

@

@

@

@

@

@

@ G











 A

A A

A A

A T

to graf G[x := T ] wyglada tak jak na Obrazku 1 (etykiety x ju˙z nie ma):,











 A

A A

A A

A











 A

A A

A A

A

@

@

@

@

@

@

@ G

T T

Obrazek 1: Podstawienie G[x := T ]

Je´sli M i N sa lambda-wyra˙zeniami to notacja M [x := N ] oznacza lambda-term o grafie, G(M )[x := G(N )]. Zwykle m´owimy, ˙ze M [x := N ] to wynik podstawienia wyra˙zenia N na miejsce wszystkich wolnych wystapie´, n zmiennej x w M . Ale ta interpretacja nie zawsze

(5)

jest poprawna. Problem powstaje wtedy, gdy jaka´s zmienna z wolna w N przy

”naiwnym”

tekstowym podstawieniu znalaz laby sie w zasi, egu wi, azania λz. Na przyk lad wynikiem pod-, stawienia z na x w termie λz.x(xz) nie powinno by´c λz.z(zz). Chcemy bowiem podstawi´c z na miejsce x nie w napisie λz.x(xz) ale w grafie

λ

@

x @

x ◦

oo

w kt´orym w og´ole nie ma ˙zadnego z. A wiec zgodnie z nasz, a definicj, a, (λz.x(xz))[x := z] = λy.z(zy),

przy czym wyb´or zwiazanej zmiennej y jest nieistotny. Tekstowe podstawienie jest poprawne, tylko wtedy, gdy nie wystepuje konflikt nazw wolnych i zwi, azanych (globalnych i lokalnych)., Dlatego wcze´sniej nale˙zy dokona´c odpowiedniej wymiany zmiennych zwiazanych.,

Nastepuj, acy lemat stanowi syntaktyczn, a definicj, e podstawienia.,

Lemat 1.2 R´owno´s´c M [x := N ] = R ma miejsce wtedy i tylko wtedy, gdy zachodzi jeden z nastepuj, acych przypadk´, ow:

1. M = x, oraz R = N ;

2. M jest zmienna r´, o˙zna od x, oraz R = M ;, 3. M = P Q, oraz R = P [x := N ]Q[x := N ];

4. M = λy P , gdzie y 6∈ {x} ∪FV(N ), oraz R = λy.P [x := N ].

Dow´od: Ka˙zdy term M jest albo zmienna albo aplikacj, a albo abstrakcj, a. Ta ostatnia, mo˙zliwo´s´c to jedyny nieoczywisty przypadek, niech wiec M b, edzie abstrakcj, a. Je´, sli z lambda- drzewa termu M odrzucimy korze´n wraz z prowadzacymi do niego kraw, edziami, to otrzymamy, graf M0, w kt´orym niekt´ore wierzcho lki ko´ncowe nie maja etykiet. Nadaj, ac tym wierzcho lkom,

”nowa” etykiet, e y otrzymamy taki term P , ˙ze M = λy P . Poniewa˙z y nie wyst, epuje jako, etykieta w lambda-drzewie N , wiec nie ma znaczenia czy najpierw w termie P zamienimy x, na N , a potem dodamy lambde wi, a˙z, ac, a y, czy post, apimy w odwrotnej kolejno´, sci.

Zapiszmy tre´s´c lematu 1.2 w nieco prostszej postaci:

• x[x := N ] = N ;

• y[x := N ] = y, gdy y jest zmienn

a r´, o˙zna od x;,

• (P Q)[x := N ] = P [x := N ]Q[x := N ];

• (λy P )[x := N ] = λy.P [x := N ], gdy y 6= x oraz y 6∈FV(N ).

Powy˙zsze regu ly mo˙zna stosowa´c w dowodach indukcyjnych.

(6)

Lemat 1.3

1. FV(M [x := N ]) =

 (FV(M ) − {x}) ∪FV(N ), je´sli x ∈FV(M );

FV(M ), w przeciwnym przypadku.

2. Je´sli x 6∈FV(M ) to M [x := N ] = M . 3. M [x := x] = M .

4. Je´sli λx.P = λy.Q to P [x := y] = Q i Q[y := x] = P .

Latwy dow´od tego lematu pomijamy, udowodnimy za to nastepny.,

Lemat 1.4 (o podstawieniu) Je´sli x 6= y oraz albo x 6∈FV(R) albo y 6∈FV(M ), to M [x := N ][y := R] = M [y := R][x := N [y := R]].

Dow´od: Dow´od jest przez indukcje ze wzgl, edu na rozmiar M . Rozwa˙zamy r´, o˙zne przy- padki, w zale˙zno´sci od postaci tego termu.

Przypadek 1: Je˙zeli M = x, to M [x := N ][y := R] = x[x := N ][y := R] = N [y := R] = x[x := N [y := R]] = x[y := R][x := N [y := R]].

Przypadek 2: Je˙zeli M = y, to M [x := N ][y := R] = y[x := N ][y := R] = y[y := R] = R = R[x := N [y := R]] = y[y := R][x := N [y := R]], bo wtedy x 6∈FV(R).

Przypadek 3: Je˙zeli M jest jaka´,s inna zmienn, a z, to zar´, owno M [x := N ][y := R] jak te˙z M [y := R][x := N [y := R]] jest r´owne z.

Przypadek 4: Gdy M = P Q, to M [x:=N ][y:=R] = P [x:=N ][y:=R]Q[x:=N ][y:=R] = P [y:=R][x:=N [y:=R]]Q[y:=R][x:=N [y:=R]] = (P Q)[y:=R][x:=N [y:=R]], na mocy za lo˙zenia indukcyjnego.

Przypadek 5: Je˙zeli M jest abstrakcja to mo˙zna zak lada´, c, ˙ze M = λz Q, gdzie z 6= x, y.

Po lewej stronie mamy wtedy λz. Q[x := N ][y := R] i z za lo˙zenia indukcyjnego otrzymamy M [x := N ][y := R] = λz. Q[y := R][x := N [y := R]] = (λz. Q)[y := R][x := N [y := R]].

Wniosek 1.5 Je´sli y 6∈FV(M ) to M [x := y][y := R] = M [x := R].

Cwiczenia´

1. Jaki b lad pope lniono w tej definicji lambda-termu:,

M ::= x | M N | λx.M ? 2. Udowodni´c lemat 1.3.

3. Napis M (a|b) oznacza wyra˙zenie powsta le z M przez jednoczesna zamian, e wszystkich wyst, apie´, n symbolu a w M na wystapienia b i odwrotnie. Przez ≡, α oznaczmy najmniejsza relacj, e r´, owno- wa˙zno´sci w zbiorze lambda-wyra˙ze´n, spe lniajac, a nast, epuj, ace warunki:,

• λx.M ≡αλy.M (x|y), dla y 6∈ FV(M );

• je˙zeli M ≡αM0, to λx.M ≡αλx.M0;

• je˙zeli M ≡αM0 i N ≡αN0 to M N ≡αM0N0.

Udowodni´c, ˙ze M ≡αN wtedy i tylko wtedy, gdy M =αN .

(7)

2 Redukcje

Relacja beta-redukcji to najmniejsza relacja w zbiorze lambda-term´ow, spe lniajaca warunki:,

• (λxP )Q →β P [x := Q];

• je´sli M →β M0, to M N →β M0N , N M →β N M0 oraz λxM →β λxM0.

Inaczej m´owiac, M →, β M0 zachodzi gdy podterm termu M postaci (λxP )Q, czyli β-redeks, zostaje zastapiony w termie M, 0 przez P [x := Q]. Znakiem β lub →β oznaczamy domknie-, cie przechodnio-zwrotne relacji →β, a znakiem =β najmniejsza relacj, e r´, ownowa˙zno´sci zawie- rajac, a →, β, kt´ora nazywamy relacj, a beta-r´, owno´sci . Inne popularne oznaczenia to →+β na domkniecie przechodnie i →, =β na domkniecie zwrotne relacji →, β. Indeks β przy strza lkach bywa pomijany.

Z punktu widzenia grafowego, beta-redeks to krawed´, z od @ do λ:

(1)



@

| 

λ



(3)

(2)

Beta-redukcja polega na usunieciu tej kraw, edzi, tj. na,

”wyprostowaniu” drogi od (1) do (2).

Ka˙zda krawed´, z wchodzaca do λ (reprezentuj, aca wyst, apienie zmiennej zwi, azanej) zostaje przy, tym skierowana do osobnej kopii termu zaczepionego w (3). Inaczej, podgraf postaci

(1)



@

| 

λ



(3)

(2)

 

77

hh

(8)

zostaje zastapiony podgrafem postaci:,

(1)



(2)

 

(3) (3)

Uwaga: mo˙ze sie zdarzy´, c, ˙ze lambda nie wia˙ze ˙z, adnego wyst, apienia zmiennej (nie ma ˙zad-, nej krawedzi prowadz, acej do λ). Wtedy podgraf (3) znika. Odpowiada to redukcji postaci, (λx.M )N →β M , gdzie x 6∈FV(M ).

Nastepuj, acy latwy lemat stwierdza, ˙ze β-redukcja jest zgodna z operacj, a podstawienia., Lemat 2.1 Je´sli M β M0 i N β N0 to M [x := N ] β M0[x := N0].

Dow´od: Nale˙zy pokaza´c dwa prostsze stwierdzenia:

(1) Je´sli M →β M0, to M [x := N ] →β M0[x := N ];

(2) Je´sli N →β N0, to M [x := N ] β M [x := N0],

a nastepnie zastosowa´, c indukcje ze wzgl, edu na liczb, e krok´, ow redukcji. Zar´owno (1) jak (2) mo˙zna udowodni´c przez indukcje ze wzgl, edu na d lugo´, s´c termu M . Istotny przypadek w dowo- dzie cze´,sci (1) zachodzi wtedy, gdy M = (λy P )Q i M0 = P [y:=Q], dla pewnych P, Q. Przyj- mujac y 6∈, FV(N ), mamy M [x:=N ] = (λy.P [x:=N ])Q[x:=N ] →β P [x:=N ][y:=Q[x:=N ]] = P [y:=Q][x:=N ] = M0[x:=N ], na mocy lematu o podstawieniu 1.4. Szczeg´o ly pozostawiamy jako ´cwiczenie.

Teoria λ

Rachunek lambda bez typ´ow mo˙zna przedstawi´c jako teorie r´, owno´sciowa o aksjomatach i re-, gu lach jak na Obrazku 2. Je´sli w tym systemie mo˙zna wyprowadzi´c r´owno´s´c M = N , to napiszemy λ ` M = N . Latwo sprawdzi´c r´ownowa˙zno´s´c:

λ ` M = N wtedy i tylko wtedy, gdy M =β N .

Jednak˙ze dla nas wa˙zne sa te˙z w lasno´, sci beta-redukcji, a nie tylko beta-r´owno´sci. Term postaci (λxP )Q nazywamy beta-redeksem. Je´sli w termie M nie wystepuje ˙zaden beta-redeks, to dla,

˙zadnego N nie zachodzi M →β N . M´owimy wtedy, ˙ze M jest w postaci β-normalnej, lub po prostu w postaci normalnej. Nietrudno zauwa˙zy´c, ˙ze postaci normalne to dok ladnie termy kszta ltu λ~x. y ~N , gdzie ~N sa normalne.,

(9)

(β) (λx M )N = M [x := N ] x = x M = N

M P = N P

M = N

P M = P N (ξ) M = N

λx M = λx N M = N

N = M

M = N, N = P M = P

Obrazek 2: Rachunek lambda jako teoria r´owno´sciowa Przyk lad: Nastepuj, ace termy s, a w postaci normalnej:,

I = λx.x K = λxy.x

S = λxyz.xz(yz) ω = λx.xx

Natomiast term Ω = ωω nie jest w postaci normalnej, bo Ω →β Ω.

Je´sli M β N i N jest w postaci normalnej, to m´owimy, ˙ze M ma posta´c normalna, i ˙ze N jest, postacia normaln, a termu M . M´, owimy, ˙ze term M ma w lasno´s´c silnej normalizacji (jest silnie normalizowalny) je˙zeli nie istnieje niesko´nczony ciag redukcji M = M, 0β M1β M2β · · · Oczywi´scie term silnie normalizowalny musi mie´c posta´c normalna.,

Jeszcze jedno przydatne czasem oznaczenie. Piszemy M ↓β N , gdy istnieje taki term P , ˙ze M β Pβ N .

G l´ownym przedmiotem naszego zainteresowania jest beta-redukcja. Dlatego np. symbole → i  domy´slnie1 oznaczaja →, β i β. Ale czasami rozwa˙zamy tak˙ze relacje eta-redukcji. Jest, to najmniejsza relacja →η, spe lniajac, a warunki:,

• λx.M x →η M , gdy x 6∈FV(M );

• je´sli M →η M0, to M N →η M0N , N M →η N M0 oraz λxM →η λxM0.

Symbol →βηoznacza sume tych relacyj. U˙zywamy odpowiednio notacji np. , η, =βη, m´owimy o”postaciach η-normalnych” itd.

Je˙zeli do aksjomat´ow i regu l r´owno´sciowych rozwa˙zanych powy˙zej dodamy nowy aksjomat (η) λx.M x = M,

dla x 6∈ FV(M ), to oczywi´scie otrzymamy system wnioskowania, pozwalajacy na wyprowa-, dzenie r´owno´sci M = N wtedy i tylko wtedy gdy M =βη N . Mniej oczywiste jest to, ˙ze aksjomat (η) mo˙zna r´ownowa˙znie zastapi´, c przez nastepuj, ac, a regu l, e ekstensjonalno´, sci:

(ext) M x = N x

M = N (x 6∈FV(M ) ∪FV(N ))

1W odniesieniu do znaku r´owno´sci nie stosujemy tej konwencji (ale spotyka sie to cz, esto w literaturze).,

(10)

Regu la ekstensjonalno´sci wyra˙za taka my´, sl: funkcje, kt´ore dla tych samych argument´ow daja, te same wyniki, sa r´, owne.

Dygresja: Zauwa˙zmy, ˙ze beta- i eta-redukcja sa w pewnym sensie dualne do siebie. Beta-, redeks to term, w kt´orym najpierw utworzyli´smy funkcje, tj. wprowadzili´, smy abstrakcje (czyli, zapytanie o argument, prompt), a potem ja eliminujemy przez dostarczenie argumentu. Eta-, redeks odpowiada odwrotnej kolejno´sci: najpierw eliminujemy prompt, dostarczajac zmiennej, jako argumentu, a potem wprowadzamy abstrakcje ze wzgl, edu na t, e zmienn, a.,

Cwiczenia´

1. Napisa´c program, kt´ory drukuje w lasny tekst. (Nie wolno odwo lywa´c sie do nazwy pliku, miejsca, w pamieci itp.) Zadanie latwe w Lispie, trudne w Pascalu.,

2. Udowodni´c, ˙ze je´sli (λxP )Q = (λyP0)Q0 to P [x := Q] = P0[y := Q0].

3. Udowodni´c, ˙ze aksjomat (η) jest r´ownowa˙zny regule (ext), tj. te same r´owno´sci mo˙zna wypro- wadzi´c w systemie z Obrazka 2 rozszerzonym o (η) i w systemie rozszerzonym o regu le (ext)., 4. Sprawdzi´c, ˙ze λx.M x =βM , gdy M jest abstrakcja.,

3 Twierdzenie Churcha-Rossera

W jednym termie mo˙ze wystepowa´, c wiecej ni˙z jeden redeks., Mo˙zna wiec go redukowa´, c na r´o˙zne sposoby. Niedobrze jednak by loby, gdyby te r´o˙zne ciagi redukcji prowadzi ly do, nieodwracalnie r´o˙znych rezultat´ow. Na szcze´,scie mamy twierdzenie Churcha-Rossera.

Twierdzenie 3.1 Je´sli P β M β Q, to P ↓β Q.

Tre´s´c twierdzenia Churcha-Rossera przedstawiamy za pomoca diagramu (Obrazek 3)., M

β

~~~~

β

P

β

Q

~~~~ β

Obrazek 3: Twierdzenie Churcha-Rossera

Inaczej m´owiac, twierdzenie to m´, owi, ˙ze relacja β ma tzw. w lasno´s´c rombu, kt´ora niestety nie zachodzi dla relacji →β. Jako przyk lad mo˙zna poda´c term M = (λx.xx)((λx.x)y).

Zanim udowodnimy twierdzenie Churcha-Rossera, zauwa˙zmy, ˙ze pojecie o kt´, orym m´owimy, ma sens dla ka˙zdej relacji dwuargumentowej. Poni˙zej przyjmujemy taka konwencj, e: po-, dw´ojna strza lka zawsze oznacza domkniecie przechodnio-zwrotne relacji oznaczonej strza lk, a, pojedyncza.,

M´owimy, ˙ze relacja → w zbiorze A ma w lasno´s´c Churcha-Rossera (CR), je˙zeli dla dowolnych element´ow a, b, c ∈ A, takich ˙ze b  a  c, istnieje takie d, ˙ze b  d  c. Relacja → ma s laba,

(11)

w lasno´s´c Churcha-Rossera (WCR), je˙zeli b ← a → c implikuje b  d  c dla pewnego d.

Oczywi´scie w lasno´s´c rombu implikuje CR (ale nie na odwr´ot), a w lasno´s´c CR implikuje WCR.

Mniej oczywiste jest to, ˙ze w lasno´s´c CR nie wynika z WCR. Najprostszy przyk lad jest taki:

• ←− • ←→ • −→ •

Je´sli jednak relacja → ma w lasno´s´c silnej normalizacji (SN), tj. nie istnieje niesko´nczony ciag, postaci a0 → a1 → a2 → · · · , to ju˙z jest dobrze.

a

 

b1

  

c1

  

b

 

d

 



c

·

 

·

·

Obrazek 4: Rysunek do lematu Newmana

Fakt 3.2 (Lemat Newmana) Jednoczesne zachodzenie WCR i SN implikuje CR.

Dow´od: Je´sli relacja → ma w lasno´s´c SN to relacja  jest dobrym ufundowaniem zbioru A.

Przez indukcje ze wzgl, edu na porz, adek  dowodzimy, ˙ze ka˙zdy element a ∈ A ma w lasno´s´c:, Dla dowolnych b, c, je´sli b  a  c, to b ↓ c.

Je´sli a = b lub a = c to teza jest oczywista. Za l´o˙zmy wiec, ˙ze b  b, 1← a → c1 c.

Na mocy WCR jest takie d, ˙ze b1  d  c1. Z za lo˙zenia indukcyjnego, zastosowanego do b1

i c1 mamy wiec b ↓ d ↓ c i mo˙zemy zastosowa´, c za lo˙zenie indukcyjne dla d.

Dow´od twierdzenia Churcha-Rossera

Dla dowodu zdefiniujemy pewna pomocnicz, a relacj, e. B, edzie to relacja, →, okre´slona jako1 najmniejsza relacja na termach, kt´ora spe lnia nastepuj, ace warunki:,

(12)

– x→ x, gdy x jest zmienn1 a;, – je´sli M → M1 0, to λxM → λxM1 0;

– je´sli M → M1 0 i N → N1 0, to M N → M1 0N0, oraz (λxM )N → M1 0[x := N0].

Relacja → odpowiada jednoczesnej redukcji kilku beta-redeks´1 ow wystepuj, acych w termie., Je´sli zredukujemy wszystkie redeksy w termie M , to otrzymamy jego pe lne rozwiniecie M, : – x = x;

– (λx M ) = λx M;

– (M N ) = MN, gdy M nie jest abstrakcja;, – ((λx M )N )= M[x := N].

Lemat 3.3

(1) Dla dowolnego M zachodzi M → M oraz M1 → M1 . (2) Je´sli M → M1 0 i N → N1 0, to M [x := N ]→ M1 0[x := N0].

(3) Je´sli M → M1 0, to M0 1→ M.

Dow´od: Dow´od cze´,sci (1) jest przez indukcje ze wzgl, edu na budow, e M , a cz,,sci (2) i (3) przez indukcje ze wzgl, edu na wyprowadzenie M, → M1 0. W dowodzie punktu (2) nieoczywisty jest przypadek, gdy M = (λyP )Q→ P1 0[y := Q0], gdzie P → P1 0 oraz Q→ Q1 0. Zak ladajac, ˙ze, zmienna zwiazana y jest tak wybrana, ˙ze y 6∈ FV (N ), i korzystaj, ac z za lo˙zenia indukcyjnego, o P → P1 0 i Q→ Q1 0, mamy wtedy na mocy lematu o podstawieniu:

M [x:=N ] = (λyP [x:=N ])Q[x:=N ]→ P1 0[x:=N0][y:=Q0[x:=N0]] = P0[y:=Q0][x:=N0].

Uwaga: U˙zyty w powy˙zszym dowodzie zwrot

”dow´od przez indukcje ze wzgl, edu na wypro-, wadzenie M → M1 0” mo˙zna ´sci´sle rozumie´c tak: Zbi´or par term´ow {(M, M0) | M → M1 0} jest suma wst, epuj, acego ci, agu zbior´, ow Xi, gdzie X0 = {(x, x) | x jest zmienna}, a ka˙zdy zbi´, or Xi+1

powstaje z Xi przez dodanie wszystkich par (M N, M0N0), ((λxM )N, M0[x := N0]) oraz (λxM, λxM0), dla dowolnych (M, M0) i (N, N0), kt´ore sa ju˙z w X, i. Indukcje tak naprawd, e, prowadzimy ze wzgledu na najmniejsze takie i, ˙ze (M, M, 0) ∈ Xi.

M

1

}}

1

!!

M0

1 !!

M00 }} 1

M000

Obrazek 5: W lasno´s´c rombu

(13)

Wniosek 3.4 Relacja→ ma w lasno´s´1 c rombu, tj. je´sli M → M1 0 i M → M1 00, to dla pewnego termu M000 zachodzi M0 1→ M000 1← M00.

Dow´od: Z lematu 3.3(3) wynika, ˙ze jako M000 mo˙zna wzia´,c M.

Dow´od twierdzenia 3.1: Poniewa˙z relacja → ma w lasno´s´1 c rombu, wiec tym bardziej jej, domkniecie przechodnio-zwrotne,  ma w lasno´s´c rombu.1

Zauwa˙zmy teraz, ˙ze mamy nastepuj, ace zawierania pomi, edzy relacjami:,

β ⊆→ ⊆ 1 β.

Stad latwo wywnioskowa´, c, ˙ze relacje  i 1 β sa r´, owne, a wiec , β ma w lasno´s´c rombu.

Skoro udowodnili´smy twierdzenie Churcha-Rossera, zobaczmy jakie ma ono konsekwencje.

Wniosek 3.5

0) Je´sli M ↓β N ↓β Q, to M ↓β Q.

1) Je´sli M =β N , to M ↓β N .

2) Ka˙zdy term ma co najwy˙zej jedna posta´, c normalna.,

3) Rachunek lambda jest niesprzeczny jako teoria r´owno´sciowa: nie mo˙zna np. wyprowadzi´c r´owno´sci x = y, poniewa˙z x 6=β y.

Q1

  

Q2

  

Qn

}}}}  

M0

 

M1



"" ""

M2 . . . Mn−1 Mn

{{{{

"" ""



Obrazek 6: Dow´od wniosku 3.5(1)

Dow´od: Jedyna nieoczywista cze´,s´c to (1). Je´sli M =β N , to mamy taki ciag:, M = M0  Q1  M1 Q2  M2 · · ·  Mn= N

Dowodzimy M ↓β N , przez indukcje ze wzgl, edu na n. Je´, sli n = 0, to sprawa jest oczywista, w przeciwnym razie z za lo˙zenia indukcyjnego mamy M1β N . Ale M0β M1 na mocy CR, wiec M ↓, β N wynika z cze´,sci (0). Zob. Obrazek 6.

(14)

A zatem sens twierdzenia Churcha-Rossera mo˙zna wyrazi´c tak. Chocia˙z term mo˙ze by´c re- dukowany na wiele sposob´ow, to wszystkie te sposoby sa zgodne. Ka˙zde obliczenie zako´, nczone sukcesem (uzyskaniem postaci normalnej) daje ten sam wynik.

Cwiczenia´

1. Jaki sens grafowy ma relacja→ i pe lne rozwini1 ecie termu?,

2. Term Mpowstaje przez redukcje wszystkich redeks´, ow w M . Czy M jest postacia normaln, a?,

4 Eta-redukcja

Ka˙zdy krok η-redukcji λx. M x →η M zmniejsza d lugo´s´c termu, zatem zachodzi Fakt 4.1 Relacja η-redukcji ma w lasno´s´c silnej normalizacji.

Aby wywnioskowa´c, ˙ze →η ma w lasno´s´c Churcha-Rossera, wystarczy wiec pokaza´, c WCR.

W istocie mamy prawie w lasno´s´c rombu, co mo˙zna latwo pokaza´c, badajac mo˙zliwe przypadki, wzajemnego po lo˙zenia redeks´ow.

Lemat 4.2 Domkniecie zwrotne →, =η relacji →η ma w lasno´s´c rombu.

W lasno´s´c rombu dla η-redukcji nie zachodzi bo y η← λx. yx →η y, tymczasem nie ma termu, do kt´orego y redukowa lby sie w jednym kroku.,

Wniosek 4.3 Relacja η-redukcji ma w lasno´s´c Churcha-Rossera.

Poka˙zemy teraz, ˙ze w lasno´s´c Churcha-Rossera zachodzi tak˙ze dla relacji →βη. Lemat 4.4 Je´sli Pη← M →β Q to istnieje takie N , ˙ze P →=β N η Q.

M

η



β



P

β

=



Q

 η

N

Dow´od: Badajac wzajemne po lo˙zenie beta- i eta-redeks´, ow w grafie termu M (Obrazek 7), widzimy ˙ze kolejno´s´c, w kt´orej redukujemy te redeksy, na og´o l nie ma znaczenia i rezultat jest taki sam. Pierwszy wyjatek, to sytuacja gdy eta-redeks znajduje si, e w argumencie beta-, redeksu i wskutek redukcji mo˙ze zosta´c usuniety lub powielony. Dlatego w tre´, sci lematu

(15)

λ



@

 

@

 

λ



cc

Obrazek 7: Eta-redeks i beta-redeks

po prawej stronie mamy strza lke podw´, ojna, η a nie pojedyncza. Pozosta le dwa wyj, atki, zachodza wtedy, gdy nasze dwa redeksy wykorzystuj, a ten sam wierzcho lek grafu (lambd, e, lub aplikacje). Ma to miejsce w podtermach postaci (λx.M x)N , gdzie x 6∈, FV(M ) oraz postaci λx(λy M )x, gdzie x 6∈FV(λy M ). Na obrazku 8 wsp´olne wierzcho lki sa w nawiasach, kwadratowych. Szcze´,sliwie w obu przypadkach redukcja ka˙zdego z konkurujacych redeks´, ow daje ten sam rezultat.

@

 

λ



[λ]



[@]

 

@

~~

λ



dd

dd

Obrazek 8: Pary krytyczne dla beta-eta-redukcji

Sytuacja zilustrowana na Obrazku 8 mo˙ze dotyczy´c tak˙ze innych system´ow redukcyjnych.

Je´sli redukcja ka˙zdego z dw´och redeks´ow wymaga zu˙zycia tego samego

”zasobu”, to m´owimy,

˙ze redeksy te tworza par, e krytyczn, a. Je´, sli ka˙zda par, e krytyczn, a mo˙zna,

”uzgodni´c” to dana relacja redukcji ma s laba w lasno´, s´c Churcha-Rossera.2

Z lematu 4.4 wynika latwo, ˙ze mamy nastepuj, acy diagram:,

·

η β

=

·

β

=



·

η

·

2Dla system´ow o w lasno´sci SN mamy wiec og´, olna metod, e dowodzenia w lasno´, sci Churcha-Rossera: uzgodni´c pary krytyczne i zastosowa´c lemat Newmana 3.2.

(16)

Z tego diagramu otrzymamy nastepny. M´, owi on, ˙ze relacje β i η sa przemienne:,

·

η β

 

·

β  

·

η

·

Poniewa˙z obie relacje maja w lasno´, s´c Churcha-Rossera, nietrudno teraz pokaza´c Twierdzenie 4.5 Relacja →βη ma w lasno´s´c Churcha-Rossera.

Beta-eta-redukcja

Poka˙zemy teraz, ˙ze w lasno´s´c silnej β-normalizacji jest r´ownowa˙zna silnej βη-normalizacji.

Wynika to latwo z nastepuj, acego prostego lematu.,

Lemat 4.6 Niech M →η N →β P ale M 6→β N . Wtedy istnieje takie Q, ˙ze M →β Q η P .

Dow´od: Zauwa˙zmy, ˙ze jedyna sytuacja, w kt´orej eta-redukcja mo˙ze wykreowa´c nowy beta- redeks wyglada tak, jak na Obrazku 9. To jest akurat sytuacja zabroniona, bo zamiast eta-,

@

λ



@

λ •

ee

Obrazek 9: Eta-redukcja tworzy beta-redeks

redeksu mo˙zemy z tym samym skutkiem zredukowa´c beta-redeks. W pozosta lych przypadkach beta-redeks redukowany w drugim kroku ju˙z istnieje w termie M i mo˙ze zosta´c zredukowany zanim wykonana bedzie eta-redukcja. Potem dopiero wykonamy tyle eta-redukcji ile kopii, naszego eta-redeksu (by´c mo˙ze zero) wystepuje w Q.,

Wniosek 4.7 Je´sli M βη P →β N to M →β Q βη N , dla pewnego Q. Graficznie:

·

β

·

βη @@ @@

β 

·

·

βη

@@ @@

(17)

Wniosek 4.8 Term ma niesko´nczona β-redukcj, e wtedy i tylko wtedy gdy ma niesko´, nczona, βη-redukcje. (Inaczej: term ma w lasno´, s´c β-SN wtedy i tylko wtedy, gdy ma w lasno´s´c βη-SN.)

Dow´od: Za l´o˙zmy, ˙ze mamy niesko´nczona βη-redukcj, e. Je´, sli beta-kroki wystepuj, a w tej re-, dukcji niesko´nczenie wiele razy, to wniosek 4.7 pozwala z niej uzyska´c niesko´nczona β-redukcj, e, (poprzez

”przesuwanie” beta-krok´ow w lewo). A nie mo˙ze by´c tak, ˙ze prawie wszystkie kroki sa typu eta. Implikacja w przeciwn, a stron, e jest oczywi´, scie oczywista.

Nieco trudniej jest udowodni´c r´ownowa˙zno´s´c

”zwyk lej” β- i βη-normalizacji. Najpierw musimy pokaza´c, ˙ze ka˙zdy ciag beta-eta-redukcji mo˙zna,

”posortowa´c” tak aby wszystkie eta-redukcje by ly na ko´ncu (twierdzenie 4.10 o odk ladaniu η-redukcji). Niech  oznacza najmniejsza relacj, e, w zbiorze term´ow, spe lniajac, a warunki:,

• x  x, dla dowolnej zmiennej x;

• je´sli M  M0 oraz x 6∈FV(M ), to λx.M x  M0;

• je´sli M  M0, to λx.M  λx.M0;

• je´sli M  M0 oraz N  N0, to M N  M0N0.

Relacja  tak sie ma do η-redukcji, jak relacja, → do β-redukcji. Na przyk lad λx(λy. zy)x  z,1 ale λxy. zxy 6 z, chocia˙z λxy. zxy η z. Mamy wiec znowu ostre inkluzje:,

η  η. Lemat 4.9

(1) Je´sli M  M0 oraz N  N0, to M [x := N ]  M0[x := N0].

(2) Je´sli M  M0β P to istnieje taki term Q, ˙ze M β Q  P .

Dow´od: Cze´,s´c (1) mo˙zna udowodni´c przez latwa indukcj, e ze wzgl, edu na definicj, e M  M, 0. W cze´,sci (2) najpierw udowodnimy szczeg´olny przypadek:

Je´sli L  λy R oraz N  N0, to istnieje takie Q, ˙ze LN β Q  R[y := N0], (*) przez indukcje ze wzgl, edu na d lugo´, s´c L. Sa tu dwa przypadki. Pierwszy, gdy L = λy L, 1 i L1  R; wtedy LN →β L1[y := N ]  R[y := N0] z cze´,sci (1). W drugim przypadku, gdy L = λz. L1z i L1 λy R, stosujemy indukcje.,

Majac (*) dowodzimy cz,,sci (2) przez indukcje ze wzgl, edu na definicj, e M  M, 0.

Twierdzenie 4.10 (o odk ladaniu η-redukcji)

Je´sli M βη N to M β P η N , dla pewnego P .

Dow´od: Je´sli M βη N , to ka˙zdy krok eta-redukcji mo˙zna uwa˙za´c za krok typu , i”przesuwa´c” w prawo z pomoca lematu 4.9(2).,

(18)

Lemat 4.11 Je´sli M  N oraz N jest w postaci β-normalnej, to M ma posta´c β-normalna.,

Dow´od: Przez indukcje ze wzgl, edu na definicj, e M  N dowodzimy, ˙ze posta´, c β-normalna M0 termu M istnieje i ma w lasno´s´c M0 N .

Nieoczywisty przypadek jest wtedy, gdy M = P Q, N = P0Q0 oraz P  P0 i Q  Q0. Z za lo˙zenia indukcyjnego mamy postaci β-normalne P00 i Q00 term´ow P i Q i wszystko jest dobrze, je˙zeli P00 nie jest abstrakcja.,

Je´sli P00jest abstrakcja, to musimy skorzysta´, c z za lo˙zenia indukcyjnego, ˙ze P00 P0. Poniewa˙z term P0 abstrakcja nie jest, wi, ec musi by´, c tak: P00= λu. P000u oraz P000  P0. Przy tym P000 te˙z nie jest abstrakcja, bo inaczej P, 00 nie jest β-normalne. I teraz mamy

P Q β (λu. P000u)Q00β P000Q00 P0Q0. Pozosta le przypadki sa w zasadzie rutynowe.,

Lemat 4.12 Je´sli M  N oraz N ma posta´c β-normalna, to M te˙z ma.,

Dow´od: Tu jest indukcja ze wzgledu na liczb, e krok´, ow redukcji N do postaci normalnej.

Krok bazowy to lemat 4.11. W kroku indukcyjnym mamy M  N →β N0 β N00, gdzie N00 jest normalne. Korzystamy z lematu 4.9 i stosujemy indukcje.,

Twierdzenie 4.13 Term ma posta´c beta-normalna wtedy i tylko wtedy, gdy ma posta´, c beta-eta-normalna.,

Dow´od: Aby udowodni´c implikacje z lewej do prawej, wystarczy zauwa˙zy´, c, ˙ze η-redu- kowanie postaci beta-normalnej nie tworzy nowych beta-redeks´ow (´cwiczenie 4), musi wiec, w ko´ncu da´c posta´c βη-normalna.,

W dowodzie implikacji odwrotnej korzysta sie z twierdzenia o odk ladaniu eta-redukcji. Mamy, wiec redukcj, e M , β N η P do postaci βη-normalnej. Poniewa˙z →η jest zawarte w , wiec, z lematu 4.12 wynika, ˙ze N (a wiec i M ) ma posta´, c β-normalna.,

Cwiczenia´

1. W jaki spos´ob beta-redukcja mo˙ze spowodowa´c powstanie nowego beta-redeksu? Eta-redeksu?

2. Uzupe lni´c szczeg´o ly dowodu twierdzenia 4.10.

3. Dlaczego twierdzenie 4.10 nie wynika natychmiast z lematu 4.6?

4. Pokaza´c, ˙ze je´sli M jest w postaci β-normalnej oraz M →ηN to N jest w postaci β-normalnej.

(19)

5 Standaryzacja

W jednym termie mo˙ze wystepowa´, c wiecej ni˙z jeden redeks. Mo˙zliwe s, a wi, ec r´, o˙zne strategie redukcji . Jedna z nich polega na wybieraniu zawsze tego redeksu, kt´ory zaczyna sie najbar-, dziej na lewo. M´owimy wtedy o redukcji lewostronnej . Okazuje sie, ˙ze strategia redukcji, lewostronnej jest strategia normalizujac, a, tj. t, a metod, a zawsze dojdziemy do postaci normal-, nej, je´sli ona istnieje. Popatrzmy na przyk lad na term KzΩ. W zale˙zno´sci od wyboru strategii redukcji mo˙zemy doj´s´c do postaci normalnej lub redukowa´c ten term w niesko´nczono´s´c.

W istocie prawdziwe jest nieco silniejsze twierdzenie, zwane twierdzeniem o standaryzacji.

Powiemy, ˙ze wyprowadzenie

M0 → M1→ · · · → Mn

jest standardowe, je˙zeli dla dowolnego i = 0, . . . , n − 2, w kroku Mi → Mi+1 redukujemy redeks po lo˙zony3 nie dalej od poczatku termu ni˙z redeks, kt´, ory redukujemy w nastepnym, kroku Mi+1→ Mi+2. Na przyk lad ta redukcja jest standardowa:

(λx.xx)((λzy.z(zy))(λu.u)(λw.w)) → (λx.xx)((λy.(λu.u)((λu.u)y))(λw.w)) →

→ (λx.xx)((λu.u)((λu.u)(λw.w))) → (λx.xx)((λu.u)(λw.w)) → (λx.xx)(λw.w).

a ta nie jest:

(λx.xx)((λzy.z(zy))(λu.u)(λw.w)) → (λx.xx)((λy.(λu.u)((λu.u)y))(λw.w)) → (λx.xx)((λy.(λu.u)y)(λw.w)) → (λx.xx)((λy.y)(λw.w)) → (λx.xx)(λw.w).

Twierdzenie 5.1 Je´sli M β N , to istnieje standardowa redukcja z M do N .

Zajmiemy sie teraz dowodem twierdzenia 5.1. Zaczniemy od tego, ˙ze ka˙zdy term M jest jednej, z dw´och mo˙zliwych postaci:

1) λ~x.z ~R;

2) λ~x.(λy.P )Q ~R,

gdzie d lugo´s´c wektora ~x mo˙ze by´c zerem, a z mo˙ze wystepowa´, c w ~x lub nie. W przypadku (1) m´owimy, ˙ze term jest w czo lowej postaci normalnej4. Natomiast w przypadku (2) m´owimy,

˙ze term ma redeks czo lowy (λy.P )Q. Krok redukcji

M = λ~x.(λy.P )Q ~R →β λ~x.P [y := Q] ~R = N

nazywamy wtedy redukcja czo low, a i zapisujemy M, → N . Inne kroki redukcji nazywamyh wewnetrznymi , a w takim przypadku u˙zywamy symbolu, →. Kluczowy lemat 5.3 m´i owi, ˙ze redukcje czo lowe mo˙zna wykona´c przed wewnetrznymi. Dow´, od tego lematu nie jest jednak tak oczywisty, jak mog loby sie wydawa´, c (´cwiczenie 3) i wymaga pewnych przygotowa´n, w tym dw´och pomocniczych relacji. Idea dowodu polega na u˙zyciu redukcji postaci→, kt´1 ore latwiej rozbi´c na cze´,s´c czo lowa i wewn, etrzn, a.,

3Liczy sie pocz, atek redeksu.,

4Uwaga: czo lowa posta´c normalna nie jest na og´o l postacia normaln, a.,

(20)

• Napiszemy M → N , gdy istnieje ci1i ag redukcji wewn, etrznych z M do N , kt´, ore jed- nocze´snie stanowia redukcj, e postaci, → (´cwiczenie 4).1

• Natomiast M V N zachodzi wtedy gdy M  Ph → N , oraz ka˙zdy term Q wyst1i

epuj, acy, w redukcji M  P spe lnia warunek Qh → N (´1 cwiczenie 5).

Lemat 5.2

(1) Je´sli M → N1i → P , to Mh → Qh → P , dla pewnego Q.1

·

h

·

1i

@@

h 

·

·

1

@@

(2) Je´sli M V M0 oraz N V N0 to M [x := N ] V M0[x := N0] (∗∗) (3) Je´sli M → N , to M V N.1

Dow´od: Cwiczenie.´

Lemat 5.3 Je˙zeli M β N , to M  Ph  N , dla pewnego P .i

Dow´od: Relacja V rozk lada sie z definicji na,  ih →, i na dodatek zawiera relacj1i e,1 (lemat 5.2(3)). Zatem,

je´sli M → N , to M1  Lh → N , dla pewnego L,1i czyli→ rozk lada si1

e na faz, e czo low, a i faz, e postaci, →. Z lematu 5.2(1) wynika taki obrazek:1i

·

h

·

1i

@@

h +

 

·

·

1i

@@

A wiec relacje, → i1i  mo˙zna permutowa´c, a to ju˙z wystarczy, bo przecie˙zh → ⊆i → ⊆1i .i Dow´od twierdzenia: Na mocy lematu 5.3 mamy M  Mh 0  N . Po wykonaniu wszyst-i kich redukcji czo lowych, kszta lt termu sie cz,,sciowo

”ustala”, je´sli wiec M, 0 = λ~x.z ~R albo M0 = ~x.(λy.P )Q ~R, to dalsze redukcje odbywaja si, e wewn, atrz P , Q i ~, R. Stosujac indukcj, e do, term´ow P , Q i ~R, otrzymujemy standardowe redukcje, kt´ore wykonujemy

”od lewej” tj. naj- pierw w P , potem w Q i potem w kolejnych wyrazach ciagu ~, R.

Udowodnili´smy wiec twierdzenie o standaryzacji. A oto najwa˙zniejszy wniosek z niego.,

(21)

Wniosek 5.4 Je´sli M ma posta´c normalna N , to istnieje lewostronna redukcja z M do N ., Powy˙zszy wniosek5 mo˙zna odczyta´c tak: Je´sli istnieje niesko´nczona redukcja lewostronna za- czynajaca si, e od M , to term M nie ma postaci normalnej. Mo˙zna to stwierdzenie wzmocni´, c w taki spos´ob. Powiemy, ˙ze niesko´nczony ciag redukcji jest quasi-lewostronny, je´, sli niesko´ncze- nie wiele razy nastepuje w tym ci, agu redukcja redeksu po lo˙zonego najbardziej na lewo., Fakt 5.5 Je´sli istnieje niesko´nczony quasi-lewostronny ciag redukcji zaczynaj, acy si, e od M ,, to term M nie ma postaci normalnej.

Dow´od: Na potrzeby tego dowodu powiedzmy, ˙ze term jest wytrzyma ly, gdy ma redukcje, quasi-lewostronna, w kt´, orej wystepuje niesko´nczenie wiele krok´ow postaci →. Zauwa˙zmy, ˙zeh je´sli N jest wytrzyma ly, to N→ Nh 0 dla pewnego wytrzyma lego termu N0 (´cwiczenie 6).

Za l´o˙zmy teraz, ˙ze M ma posta´c normalna. Przez indukcj, e ze wzgl, edu na jej d lugo´, s´c udowod- nimy, ˙ze M nie mo˙ze mie´c niesko´nczonej redukcji quasi-lewostronnej. Przypu´s´cmy naj- pierw, ˙ze M jest termem wytrzyma lym. U˙zywajac ´, cwiczenia 6 mo˙zna wtedy zdefiniowa´c ciag wytrzyma lych term´, ow Ni, takich ˙ze N0 = M oraz Nih+Ni+1dla dowolnego i ∈ N. Ina- czej m´owiac,,

”wyciagaj, ac na pocz, atek” redukcje czo lowe otrzymamy niesko´, nczona redukcj, e, czo lowa (w szczeg´, olno´sci lewostronna) termu M . Nie mo˙ze wi, ec istnie´, c posta´c normalna.

Zatem je´sli M = M0→ M1 → M2→ · · · jest niesko´nczona redukcj, a quasi-lewostronn, a, to od, pewnego miejsca mamy tylko redukcje wewnetrzne postaci λ~, z.y ~P → λ~i z.y ~P0→ λ~i z.y ~P00→ · · ·i Spo´sr´od redukcji lewostronnych wystepuj, acych w tym ci, agu, niesko´, nczenie wiele dotyczy tej samej sk ladowej wektora ~P , wiec wystarczy u˙zy´, c za lo˙zenia indukcyjnego.

Cwiczenia´

1. Jaki jest parametr indukcji w dowodzie twierdzenia 5.1?

2. Pokaza´c, ˙ze niepusta redukcja jest standardowa wtedy i tylko wtedy, gdy jest jednej z postaci:

• (λx P )Q → P [x := Q] = M1→ · · · → Mn;

• λx M1→ λx M2→ · · · → λx Mn;

• M1N1→ · · · → MnN1→ · · · → MnNm,

gdzie ciagi M, 1→ · · · → Mn i N1→ · · · → Nmsa standardowymi redukcjami.,

3. Diagram poni˙zej przedstawia naiwna pr´, obe dowodu lematu 5.3. Na czym polega b l, ad?,

·

h

·

i @@ @@

h



·

·

i @@ @@

5Ten fakt bywa nazywany twierdzeniem o normalizacji . Obecnie rzadziej u˙zywa sie tej nazwy, bo,

norma- lizacja” zwykle oznacza istnienie postaci normalnych.

Cytaty

Powiązane dokumenty

Instytut Matematyczny UWr www.math.uni.wroc.pl/∼jwr/BO2020 III LO we

W dowolnym n-wyrazowym postępie arytmetycznym o sumie wyrazów równej n, k-ty wyraz jest równy 1.. Dla podanego n wskazać takie k, aby powyższe zdanie

Udowodni´ c, ˙ze istnieje taki gracz A, kt´ ory ka˙zdego innego gracza B pokona l bezpo´ srednio lub po´

1. Nauczyciel informuje uczniów, że część z tych słów to synonimy słowa przyjaźń, po czym umieszcza na tablicy hasło: PRZYJAŹŃ TO... Nauczyciel prosi ucznia - ochotnika

Oznacza to, ˙ze funkcja x(t)e −kt jest sta la na przedziale, na kt´ orym jest okre´slona (zak ladamy, ˙ze dziedzina funkcji x jest pewien przedzia l).. Mo˙zemy wiec postapi´c

Udowodni¢, »e odejmowanie na Z nie ma elementu neutralnego i »e nie jest

[r]

Zaªó»my, »e X interpretuje grup¦.. Zaªó»my, »e X