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.
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.
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).
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
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.
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 .
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
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.,
(β) (λ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).,
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,
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:,
– 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 )• = M•N•, 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, e´,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
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.
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 M•powstaje 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
λ
@
@
λ
•
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.
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:
·
β
·
βη @@ @@
β
·
·
βη
@@ @@
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, e´,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).,
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.
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.,
• 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, e´,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.,
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.