• Nie Znaleziono Wyników

M : τ → σ Γ ` M : τ → σ Γ ` N : τ Γ ` M N : σ Γ ` B : int Γ ` M : τ Γ ` N : τ Γ ` ifzero B then M else N : τ Γ, x : τ ` M : τ Γ ` fix x:τ

N/A
N/A
Protected

Academic year: 2021

Share "M : τ → σ Γ ` M : τ → σ Γ ` N : τ Γ ` M N : σ Γ ` B : int Γ ` M : τ Γ ` N : τ Γ ` ifzero B then M else N : τ Γ, x : τ ` M : τ Γ ` fix x:τ"

Copied!
5
0
0

Pełen tekst

(1)

P. Urzyczyn: Materia ly do wyk ladu z semantyki Uproszczony1 jezyk PCF,

Sk ladnia: Poni˙zej Γ oznacza otoczenie typowe, czyli zbi´or deklaracji postaci (x : τ ).

Γ, x : τ ` x : τ Γ ` 0 : int Γ ` succ : int → int Γ ` pred : int → int Γ, x : τ ` M : σ

Γ ` λx : τ. M : τ → σ

Γ ` M : τ → σ Γ ` N : τ Γ ` M N : σ Γ ` B : int Γ ` M : τ Γ ` N : τ

Γ ` ifzero B then M else N : τ

Γ, x : τ ` M : τ Γ ` fix x:τ. M : τ

Skr´oty: Ωτ = fix x:τ. x, n = succn(0). Tam gdzie mo˙zna pomijamy typy w wyra˙zeniach.

Semantyka ma lych krok´ow:

W jezyku PCF (w wersji CBN) mamy sze´, s´c rodzaj´ow redeks´ow : pred(n + 1) ⇒ n pred(0) ⇒ 0

(λx. M )N ⇒ M [N/x] fix x. M ⇒ M [fix x. M/x]

ifzero 0 then M else N ⇒ M ifzero n + 1 then M else N ⇒ N Konteksty ewaluacyjne definiujemy pseudo-gramatyka,

E[ ] ::= [ ] | E[ ]N | succ E[ ] | pred E[ ] | ifzero E[ ] then M else N

Warto´s´c to liczebnik n, sta la pred lub succ, lub abstrakcja. Ka˙zdy term, kt´ory nie jest warto´scia, mo˙zna jednoznacznie przedstawi´, c w postaci E[R], gdzie R jest redeksem lub zmien- na. (Dow´, od przez latwa indukcj, e.),

Zauwa˙zmy, ˙ze termy postaci E[Ω] redukuja si, e same do siebie.,

Przyjmujemy M →` N , gdy M = E[R] oraz N = E[L] dla pewnej regu ly R ⇒ L. Jak zwykle, notacja ` oznacza domkniecie przechodnio-zwrotne relacji →, `, a notacja =` odpowiednia, relacje r´, ownowa˙zno´sci. Indeks ` opuszczamy tam, gdzie mo˙zna. Napis Γ ` M = N : τ oznacza, ˙ze M =`N oraz Γ ` M : τ i Γ ` N : τ .

Semantyka du ˙zych krok´ow (dla term´ow zamknietych):, Definiujemy V ⇓ V , gdy V jest warto´scia, oraz:,

M ⇓ 0 pred M ⇓ 0

M ⇓ n + 1 pred M ⇓ n

M ⇓ n succ M ⇓ n + 1 M ⇓ 0 P ⇓ V

ifzero M then P else Q ⇓ V

M ⇓ n + 1 Q ⇓ V ifzero M then P else Q ⇓ V

1Zwykle dodaje sie typ bazowy bool i normalny,

if”. Mo ˙zna te ˙z doda´c np. produkt kartezja´nski itp.

(2)

M ⇓ λx A A[N/x] ⇓ V M N ⇓ V

M [fix x. M/x] ⇓ V fix x. M ⇓ V

Semantyka ma lych krok´ow jest r´ownowa˙zna semantyce du˙zych krok´ow w nastepuj, acym sensie:, Fakt 1 Warunki M ⇓ V i M  V sa r´, ownowa˙zne.

Dow´od: Z lewej do prawej prosta indukcja ze wzgledu na wyprowadzenie M ⇓ V . Z prawej, do lewej indukcja ze wzgledu na liczb, e krok´, ow redukcji. Krok indukcyjny wymaga pokazania,

˙ze je´sli M → M0 ⇓ V to M ⇓ V .

Symulacje: Relacja aplikacyjnej symulacji M va N zachodzi pomiedzy zamkni, etymi ter-, mami M i N (tego samego typu), gdy dla dowolnych term´ow zamknietych ~, N :

je´sli M ~N : int, oraz M ~N ⇓ n, to tak˙ze N ~N ⇓ n.

Domkniecie quasiporz, adku v, a do relacji r´ownowa˙zno´sci oznaczamy przez ≡a i nazywamy r´ownowa˙zno´scia aplikacyjn, a.,

Symulacja obserwacyjna M v N ma miejsce wtedy, gdy dla dowolnego kontekstu C[ ], z tego,

˙ze C[M ] ⇓ n wynika C[N ] ⇓ n. Napis M ≡ N oznacza, ˙ze zachodza obie symulacje M v N, oraz N v M ; m´owimy wtedy, ˙ze M i N sa obserwacyjnie r´, ownowa˙zne.

Fakt 2 (Lemat kontekstowy)

Relacje obserwacyjnej i aplikacyjnej symulacji (r´ownowa˙zno´sci) sa takie same.,

Dow´od: Za l´o˙zmy, ˙ze M va N i C[M ] ⇓ n. Dowodzimy, ˙ze C[N ] ⇓ n, przez indukcje, ze wzgledu na definicj, e relacji ⇓. S, a dwa g l´, owne przypadki. Pierwszy dotyczy kontekstu z redeksem czo lowym, np. C[M ]= (λx P[M ])Q[M ]R~[M ]. Wtedy mo˙zemy zastosowa´c za lo˙zenie indukcyjne do termu C[M ]0 = P[M ][Q[M ]/x] ~R[M ] i otrzyma´c P[N ][Q[N ]/x] ~R[N ] ⇓ n.

Drugi przypadek jest wtedy, kiedy C[ ] = [ ]P[ ]Q~[ ], czyli C[M ] = M P[M ]Q~M. Rozpatrzmy kontekst D[ ] = M P[ ]Q~[ ]. Wtedy D[M ] = C[M ] oraz D[N ] = M P[N ]Q~[N ]. Poniewa˙z to nie jest liczebnik, wiec kontekst D, [ ] musi mie´c redeks czo lowy i stosuje sie do niego poprzedni, przypadek. Zatem D[N ] ⇓ n. Teraz korzystamy z tego, ˙ze M va N i dostajemy C[N ] ⇓ n.

Pozosta le przypadki sa latwe.,

Wniosek 3 Dla ka˙zdego M zachodzi Ω v M , bo zawsze Ω ~N 6⇓.

Semantyka denotacyjna: Dziedziny semantyczne to Dint= N, oraz Dτ →σ = [Dτ → Dσ].

Poni˙zej zak ladamy, ˙ze ρ(x) ∈ Dτ, gdy (x : τ ) ∈ Γ.

[[x]]ρ= ρ(x), [[0]]ρ= 0, [[succ]]ρ(n) = n + 1, [[succ]]ρ(⊥) = ⊥ [[pred]]ρ(n + 1) = n, [[pred]]ρ(0) = 0, [[pred]]ρ(⊥) = ⊥

(3)

[[M N ]]ρ= [[M ]]ρ([[N ]]ρ), [[λx. M ]]ρ(d) = [[M ]]ρ[x7→d]

[[fix x:τ. M ]]ρ= lfp(λλd. [[M ]]ρ[x7→d])

[[ifzero B then M else N ]]ρ=

⊥, je´sli [[B]]ρ= ⊥;

[[M ]]ρ, je´sli [[B]]ρ= 0;

[[N ]]ρ, w przeciwnym przypadku.

Fakt 4 (Poprawno´s´c) Je´sli M =` N , to [[M ]] = [[N ]].

Z powy˙zszego wynika w szczeg´olno´sci, ˙ze je´sli M ⇓ n, to [[M ]] = n.

Aproksymowanie punktu sta lego: Dla dowolnego M definiujemy fix0x. M = Ω, fixk+1x. M = M [fixkx. M/x].

Lemat 5 Dla dowolnego M i dowolnego k:

1. fixkx. M v fix x. M ;

2. [[fix x. M ]] = supk[[fixkx. M ]].

Dow´od: (1) Indukcja ze wzgledu na k. Korzystamy z tego, ˙ze zawsze Ω v N , i z tego, ˙ze, N1v N2 implikuje C[N1] v C[N2]. (2) Natychmiast z tw. o punkcie sta lym.

Termy obliczalne: Dla dowolnego τ definiujemy zbi´or term´ow zamknietych [τ ] typu τ :,

• [int] = {M : int | M ⇓ lub [[M ]] = ⊥};

• [τ → σ] = {M : τ → σ | ∀N (N ∈ [τ ] → M N ∈ [σ]) }.

Elementy zbioru [τ ] nazywamy termami obliczalnymi w τ . Je´sli x : τ1, . . . , x : τn` M : τ , to M jest obliczalny, gdy dla dowolnych N1 ∈ [τ1], . . . , Nn∈ [τn] zachodzi M [N1/x1. . . Nn/xn] ∈ [τ ].

Term M [N1/x1. . . Nn/xn] ∈ [τ ] nazwiemy obliczalna instancj, a termu M .,

Lemat 6 Term M jest obliczalny wtedy i tylko wtedy, gdy dla dowolnej obliczalnej instancji M0 termu M i dowolnych obliczalnych i zamknietych term´, ow ~N :

je´sli M0N : int, to albo [[M~ 0N ]] = ⊥ albo M~ 0N ⇓.~ Fakt 7 (S laba adekwatno´s´c) Je´sli [[M ]] = n to M ⇓ n.

Dow´od: Wystarczy udowodni´c, ˙ze ka˙zdy term jest obliczalny. Dow´od (opuszczony) jest przez indukcje ze wzgl, edu na budow, e termu. W przypadku termu postaci fix x. M , korzys-, tamy z r´owno´sci [[fix x. M ]] = supk[[fixkx. M ]].

(4)

Wniosek 8 (Adekwatno´s´c) Je´sli [[M ]] = [[N ]] to M i N sa obserwacyjnie r´, ownowa˙zne.

Dow´od: Na mocy

”lematu kontekstowego” wystarczy wykaza´c r´ownowa˙zno´s´c aplikacyjna., Ta wynika za s labej adekwatno´sci, bo [[M ~P ]] = [[N ~P ]] dla dowolnych ~P .

R´ownoleg la alternatywa: Funkcja por : N→ N→ N jest okre´slona tak:

por m n =

0, je´sli m = 0 lub n = 0;

1, je´sli m, n ∈ N i m, n > 0;

⊥, w przeciwnym przypadku.

Przyjmijmy, ˙ze zero interpretujemy jako true a liczby wieksze od zera jako false. Wtedy, funkcja por to r´ownoleg la alternatywa (

”parallel or”), spe lniona zawsze gdy kt´ory´s ze sk lad- nik´ow jest spe lniony, nawet wtedy, gdy nieokre´slony jest drugi sk ladnik.

Lemat 9 Za l´o˙zmy, ˙ze M0 = M [ ~N /~x]  n, gdzie ~x to wszystkie zmienne wolne w M , a termy ~N sa zamkni, ete. Wtedy albo M  n, albo M  E[x], gdzie x ∈ ~x i E[ ] jest, kontekstem ewaluacyjnym.

Dow´od: Indukcja ze wzgledu na d lugo´, s´c redukcji M0  n. Zak ladajac, ˙ze M = N ~, R, gdzie term N nie jest aplikacja, mamy tu kilka mo˙zliwo´, sci w zale˙zno´sci od N . Zbadanie ich pozostawiamy czytelnikowi.

Funkcja por nie jest definiowalna w jezyku PCF, co wynika z poni˙zszego lematu (dla m = 1)., Lemat 10 Nie istnieje term M o zmiennych wolnych x i y, spe lniajacy jednocze´, snie warunki:

M [0/x, Ω/y] =` 0 = M [Ω/x, 0/y] oraz M [1/x, 1/y] =`m, gdzie m > 0.

Dow´od: Z lematu 9 wynika, ˙ze wtedy M  E[x] lub M  E[y], niemo˙zliwe jest bowiem, aby term M redukowa l sie i do 0 i do m. Je´, sli jednak M  E[x], to M [Ω/x, 0/y]  E[Ω]6⇓, i podobnie w drugim przypadku.

Stad wynika, ˙ze nie zachodzi twierdzenie odwrotne do adekwatno´, sci.

Fakt 11 Semantyka denotacyjna dla PCF nie jest w pe lni abstrakcyjna: istnieja takie termy, zamkniete T, 0 i T1, ˙ze T0 ≡ T1 ale [[T ]]0 6= [[T ]]1.

Dow´od: Niech Ta, gdzie a ∈ {0, 1}, oznacza term:

λp. ifzero p 0 Ω then ifzero p Ω 0 then ifzero p 1 1 then Ω else a else Ω else Ω.

Latwo widzie´c, ˙ze [[T0]]por = 0 i [[T1]]por = 1, skad [[T, 0]] 6= [[T1]]. Ponadto, gdyby T0M ⇓, dla jakiego´s M , to term M xy musia lby spe lnia´c warunki, o kt´orych mowa w lemacie 10. Skoro takiego nie ma, to zawsze T0M 6⇓, czyli T0 jest aplikacyjnie r´ownowa˙zne z Ω. Podobnie jest dla T0, wiec mamy aplikacyjn, a r´, ownowa˙zno´s´c term´ow T0i T1. A wiadomo, ˙ze z r´ownowa˙zno´sci aplikacyjnej wynika r´ownowa˙zno´s´c obserwacyjna.

(5)

Cwiczenia:´

1. Udowodni´c, ˙ze dla ka˙zdej funkcji cz,sciowo rekurencyjnej ϕ istnieje taki term Φ w jezyku PCF,,

˙ze ϕ(n) = m wtedy i tylko wtedy, gdy Φ(n) ⇓ m. Inaczej: w PCF mo˙zna zdefiniowa´c ka˙zda, funkcje cz, ,sciowo rekurencyjna.,

2. Uzupe lni´c brakujace dowody.,

Cytaty

Powiązane dokumenty

[r]

Niech bedą spełnione założenia definicji transformaty martyngałowej.. Udowodnij, że wówczas transformata martyngałowa jest (F

Odwzorowanie, które przeksztaªca zbiory do- mkni ete na zbiory domkni ete nazywamy domkni etym..

Poka», »e je»eli przestrze« topologiczna skªada si e ze sko«czonej liczby punktów i ka»dy podzbiór jednoelementowy jest domkni ety, to topolo- gia w tej przestrzeni jest

W ka»dej przestrzni topologicznej suma dowolnej ilo±ci zbiorów otwartch jest zbiorem otwartym.. Czy to samo mo»na powiedzie¢ o cz e±ci wspól- nej dowlonej ilo±ci

Je´sli ka˙zdy sko´ nczony podzbi´ or zbioru Γ jest spe lnialny, zbi´ or Γ te˙z jest spe lnialny. Twierdzenie

[r]

Każdy zbiór scentrowany algebry Boole’a B można rozszerzyć do filtru