P. Urzyczyn: Materia ly do wyk ladu z semantyki. Uproszczony 1 j. ezyk PCF



Podobne dokumenty
LOGIKA ALGORYTMICZNA

Rachunek lambda CBN i CBV

25 lutego 2013, godzina 23: 57 strona 1. P. Urzyczyn: Materia ly do wyk ladu z semantyki. Logika Hoare a

Jak należy się spodziewać, mamy. Zauważmy jednak, że nie zachodzi równość

Programowanie funkcyjne Wykład 13. Siła wyrazu rachunku lambda

Programowanie funkcyjne. Wykªad 13

System BCD z κ. Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna. Semestr letni 2009/10

Rozdzia l 10. Najważniejsze normalne logiki modalne

Niech X bȩdzie dowolnym zbiorem. Dobry porz adek to relacja P X X (bȩdziemy pisać x y zamiast x, y P ) o w lasnościach:

Wyk lad 7 Baza i wymiar przestrzeni liniowej

Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera

Indeks odwzorowania zmiennej zespolonej wzgl. krzywej zamknietej

Wyk lad 3 Wielomiany i u lamki proste

Wyk lad 12. (ii) najstarszy wspó lczynnik wielomianu f jest elementem odwracalnym w P. Dowód. Niech st(f) = n i niech a bedzie

Rezolucja w rachunku predykatów. Przedrostkowa koniunkcyjna postać normalna. Formu ly ustalone. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

Teoria miary WPPT IIr. semestr zimowy 2009 Wyk lady 6 i 7. Mierzalność w sensie Carathéodory ego Miara Lebesgue a na prostej

Rachunek zdań - semantyka. Wartościowanie. ezyków formalnych. Semantyka j. Logika obliczeniowa. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Wyk lad 8 macierzy i twierdzenie Kroneckera-Capellego

Normy wektorów i macierzy

Matematyka A, klasówka, 24 maja zania zadań z kolokwium z matematyki A w nadziei, że pope lni lem wielu b le. rozwia

Algebra i jej zastosowania konspekt wyk ladu, czȩść druga

celu przyjmijmy: min x 0 = n t Zadanie transportowe nazywamy zbilansowanym gdy podaż = popyt, czyli n

domykanie relacji, relacja równoważności, rozkłady zbiorów

Wyk lad 4 Dzia lania na macierzach. Określenie wyznacznika

WYK LAD 5: GEOMETRIA ANALITYCZNA W R 3, PROSTA I P LASZCZYZNA W PRZESTRZENI R 3

Wyk lad 1 Podstawowe struktury algebraiczne

Uzgadnianie wyrażeń rachunku predykatów. Adam i orzeszki. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Przestrzenie wektorowe, liniowa niezależność Javier de Lucas

Poprawność semantyczna

ANALIZA II 15 marca 2014 Semestr letni. Ćwiczenie 1. Czy dan a funkcjȩ da siȩ dookreślić w punkcie (0, 0) tak, żeby otrzymana funkcja by la ci ag la?

Wyk lad 14 Formy kwadratowe I

FUNKCJE LICZBOWE. x 1

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

8 Całka stochastyczna względem semimartyngałów

ep do matematyki aktuarialnej Micha l Jasiczak Wyk lad 2 Tablice trwania życia

Wykład 2: Rachunek lambda

PODSTAWOWE W LASNOŚCI W ZBIORZE LICZB RZECZYWISTYCH

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

WNIOSKOWANIE W MODELU REGRESJI LINIOWEJ

Drzewa podstawowe poj

SYSTEM DIAGNOSTYCZNY OPARTY NA LOGICE DOMNIEMAŃ. Ewa Madalińska. na podstawie prac:

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

Ekonomia matematyczna i dynamiczna optymalizacja

1 Działania na zbiorach

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Teoretyczne Podstawy Języków Programowania Wykład 4. Siła wyrazu rachunku λ

Procesy Stochastyczne - Zestaw 1

Wyk lad 6 Podprzestrzenie przestrzeni liniowych

Jan Olek. Uniwersytet Stefana Kardynała Wyszyńskiego. Procesy z Opóźnieniem. J. Olek. Równanie logistyczne. Założenia

Wyk lad 9 Przekszta lcenia liniowe i ich zastosowania

Grupy i cia la, liczby zespolone

Rozdzia l 11. Przestrzenie Euklidesowe Definicja, iloczyn skalarny i norma. iloczynem skalarnym.

Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Programowanie. Lista zadań nr 15. Na ćwiczenia 11, 19 i 23 czerwca 2008

ci agi i szeregi funkcji Javier de Lucas Ćwiczenie 1. Zbadać zbieżność (punktow a i jednostajn a) ci agu funkcji nx 2 + x

Optymalizacja Rozpoczniemy od przedstawienia kilku charakterystycznych przyk ladów zadań optymalizacji liniowej.

Wyk lad 4 Warstwy, dzielniki normalne

Wyk lad 11 1 Wektory i wartości w lasne

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie

Wyk lad 14 Cia la i ich w lasności

Wyk lad 3 Wyznaczniki

Zagadnienie Dualne Zadania Programowania Liniowego. Seminarium Szkoleniowe Edyta Mrówka

Statystyka w analizie i planowaniu eksperymentu

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki

F t+ := s>t. F s = F t.

Grupy, pierścienie i ciała

1 Funkcje uniwersalne

Zasada indukcji matematycznej

Logika i teoria mnogości Wykład 14

Rozdzia l 2. Najważniejsze typy algebr stosowane w logice

Statystyka w analizie i planowaniu eksperymentu

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 10. Twierdzenie o pełności systemu aksjomatycznego KRZ

13 Zastosowania Lematu Szemerédiego

Paradygmaty programowania

Zastosowanie Robotów. Ćwiczenie 6. Mariusz Janusz-Bielecki. laboratorium

STATYSTYKA MATEMATYCZNA dla ZPM I dr inż Krzysztof Bryś wyk lad 1,2 KLASYCZNY RACHUNEK PRAWDOPODOBIEŃSTWA

Cia la i wielomiany Javier de Lucas

n=0 Dla zbioru Cantora prawdziwe są wersje lematu 3.6 oraz lematu 3.8 przy założeniu α = :

STYSTYSTYKA dla ZOM II dr inż Krzysztof Bryś Wykad 1

Sterowalność liniowych uk ladów sterowania

Aproksymacja diofantyczna

Uproszczony dowod twierdzenia Fredricksona-Maiorany

Elementy logiki i teorii mnogości Wyk lad 1: Rachunek zdań

POCHODNA KIERUNKOWA. DEFINICJA Jeśli istnieje granica lim. to granica ta nazywa siȩ pochodn a kierunkow a funkcji f(m) w kierunku osi l i oznaczamy

Wykład 21 Funkcje mierzalne. Kostrukcja i własności całki wzglȩdem miary przeliczalnie addytywnej

Indukcja matematyczna

Rozdzia l 10. Formy dwuliniowe i kwadratowe Formy dwuliniowe Definicja i przyk lady

Paradygmaty dowodzenia

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ).

1. Wykład NWD, NWW i algorytm Euklidesa.

Matematyka Dyskretna 2/2008 rozwiązania. x 2 = 5x 6 (1) s 1 = Aα 1 + Bβ 1. A + B = c 2 A + 3 B = d

ALGEBRA Z GEOMETRIĄ BAZY PRZESTRZENI WEKTOROWYCH

4. O funkcji uwikłanej 4.1. Twierdzenie. Niech będzie dana funkcja f klasy C 1 na otwartym podzbiorze. ϕ : K(x 0, δ) (y 0 η, y 0 + η), taka że

Rekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne

Dyskretne modele populacji

Konstrukcja liczb rzeczywistych przy pomocy ciągów Cauchy ego liczb wymiernych

4. Dzia lanie grupy na zbiorze

Transkrypt:

29 kwietnia 2013, godzina 23: 56 strona 1 P. Urzyczyn: Materia ly do wyk ladu z semantyki Uproszczony 1 j ezyk PCF Sk ladnia: Poniżej Γ oznacza otoczenie typowe, czyli zbiór deklaracji postaci (x : τ). Γ, x : τ x : τ Γ 0 : int Γ succ : int int Γ pred : int int Γ, x : τ M : σ Γ λx : τ. M : τ σ Γ M : τ σ Γ MN : σ Γ N : τ Skróty: Ω τ = fix x:τ. x, Semantyka ma lych kroków: Γ B : int Γ M : τ Γ N : τ Γ ifzero B then M else N : τ Γ, x : τ M : τ Γ fix x:τ. M : τ n = succ n (0). Tam gdzie można pomijamy typy w wyrażeniach. W j ezyku PCF (w wersji CBN) mamy sześć rodzajów redeksów: pred(n + 1) n pred(0) 0 (λx. M)N M[N/x] ifzero 0 then M else N M Konteksty ewaluacyjne definiujemy pseudo-gramatyka fix x. M M[fix x. M/x] ifzero n + 1 then M else N N E[ ] ::= [ ] E[ ]N succ E[ ] pred E[ ] ifzero E[ ] then M else N Wartość to liczebnik n, sta la pred lub succ, lub abstrakcja. Każdy term, który nie jest wartościa, można jednoznacznie przedstawić w postaci E[R], gdzie R jest redeksem lub zmienna. (Dowód przez latwa indukcje.) Zauważmy, że termy postaci E[Ω] redukuja sie same do siebie. Przyjmujemy M l N, gdy M = E[R] oraz N = E[L] dla pewnej regu ly R L. Jak zwykle, notacja l oznacza domkniecie przechodnio-zwrotne relacji l, a notacja = l odpowiednia relacje równoważności. Indeks l opuszczamy tam, gdzie można. Napis Γ M = N : τ oznacza, że M = l N oraz Γ M : τ i Γ N : τ. Semantyka dużych kroków (dla termów zamkni etych): Definiujemy V V, gdy V jest wartościa, 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 1 Zwykle dodaje si e typ bazowy bool i normalny if. Można też dodać np. produkt kartezjański itp.

29 kwietnia 2013, godzina 23: 56 strona 2 M λx A MN V A[N/x] V M[fix x. M/x] V fix x. M V Semantyka ma lych kroków jest równoważna semantyce dużych kroków w nastepuj acym sensie: Fakt 1 Warunki M V i M V sa równoważne. Dowód: Z lewej do prawej prosta indukcja ze wzgledu na wyprowadzenie M V. Z prawej do lewej indukcja ze wzgledu na liczbe kroków redukcji. Krok indukcyjny wymaga pokazania, że jeśli M M V to M V. Symulacje: Relacja aplikacyjnej symulacji M a N zachodzi pomi edzy zamkni etymi termami M i N (tego samego typu), gdy dla dowolnych termów zamkni etych N: jeśli M N : int, oraz M N n, to także N N n. Domkniecie quasiporzadku a do relacji równoważności oznaczamy przez a i nazywamy równoważnościa aplikacyjna. Symulacja obserwacyjna M N ma miejsce wtedy, gdy dla dowolnego kontekstu C [ ], z tego, że C [M] n wynika C [N] n. Napis M N oznacza, że zachodza obie symulacje M N oraz N M; mówimy wtedy, że M i N sa obserwacyjnie równoważne. Fakt 2 (Lemat kontekstowy) Relacje obserwacyjnej i aplikacyjnej symulacji (równoważności) sa takie same. Dowód: Za lóżmy, że M a N i C [M] n. Dowodzimy, że C [N] n, przez indukcje ze wzgledu na definicje relacji. Sa dwa g lówne przypadki. Pierwszy dotyczy kontekstu z redeksem czo lowym, np. C [M] = (λx P [M] )Q [M] R[M]. Wtedy możemy zastosować za lożenie indukcyjne do termu C [M] = P [M][Q [M] /x] R [M] i otrzymać P [N] [Q [N] /x] R [N] n. Drugi przypadek jest wtedy, kiedy C [ ] = [ ]P [ ] Q[ ], czyli C [M] = MP [M] QM. Rozpatrzmy kontekst D [ ] = MP Q[ [ ] ]. Wtedy D [M] = C [M] oraz D [N] = MP [N] Q[N]. Ponieważ to nie jest liczebnik, wiec kontekst D [ ] musi mieć redeks czo lowy i stosuje sie do niego poprzedni przypadek. Zatem D [N] n. Teraz korzystamy z tego, że M a N i dostajemy C [N] n. Pozosta le przypadki sa latwe. Wniosek 3 Dla każdego M zachodzi Ω M, bo zawsze Ω N. Semantyka denotacyjna: Dziedziny semantyczne to D int = N, oraz D τ σ = [D τ D σ ]. Poniżej zak ladamy, że ρ(x) D τ, gdy (x : τ) Γ. [x] ρ = ρ(x), [0]] ρ = 0, [succ] ρ (n) = n + 1, [succ] ρ ( ) = [pred] ρ (n + 1) = n, [pred] ρ (0) = 0, [pred] ρ ( ) =

29 kwietnia 2013, godzina 23: 56 strona 3 [MN ] ρ = [M ] ρ ([N ] ρ ), [λx. M ] ρ (d) = [M ] ρ[x d] [fix x:τ. M ] ρ = lfp( λd. [M ] ρ[x d] ), jeśli [B ] ρ = ; [ifzero B then M else N ] ρ = [M ] ρ, jeśli [B ] ρ = 0; [N ] ρ, w przeciwnym przypadku. Fakt 4 (Poprawność) Jeśli M = l N, to [M ] = [N ]. Z powyższego wynika w szczególności, że jeśli M n, to [[M ] = n. Aproksymowanie punktu sta lego: fix 0 x. M = Ω, Dla dowolnego M definiujemy fix k+1 x. M = M[fix k x. M/x]. Lemat 5 Dla dowolnego M i dowolnego k: 1. fix k x. M fix x. M; 2. [fix x. M ] = sup k [fix k x. M ]. Dowód: (1) Indukcja ze wzgledu na k. Korzystamy z tego, że zawsze Ω N, i z tego, że N 1 N 2 implikuje C[N 1 ] C[N 2 ]. (2) Natychmiast z tw. o punkcie sta lym. Termy obliczalne: Dla dowolnego τ definiujemy zbiór termów zamknietych [τ] typu τ: [int] = {M : int M lub [M ] = }; [τ σ] = {M : τ σ N(N [τ] MN [σ]) }. Elementy zbioru [τ] nazywamy termami obliczalnymi w τ. Jeśli x : τ 1,..., x : τ n M : τ, to M jest obliczalny, gdy dla dowolnych N 1 [τ 1 ],..., N n [τ n ] zachodzi M[N 1 /x 1... N n /x n ] [τ]. Term M[N 1 /x 1... N n /x n ] [τ] nazwiemy obliczalna instancja termu M. Lemat 6 Term M jest obliczalny wtedy i tylko wtedy, gdy dla dowolnej obliczalnej instancji M termu M i dowolnych obliczalnych i zamkni etych termów N: jeśli M N : int, to albo [M N ] = albo M N. Fakt 7 (S laba adekwatność) Jeśli [M ] = n to M n. Dowód: Wystarczy udowodnić, że każdy term jest obliczalny. Dowód (opuszczony) jest przez indukcje ze wzgledu na budowe termu. W przypadku termu postaci fix x. M, korzystamy z równości [[fix x. M ] = sup k [fix k x. M ].

29 kwietnia 2013, godzina 23: 56 strona 4 Wniosek 8 (Adekwatność) Jeśli [M ] = [N ] to M i N sa obserwacyjnie równoważne. Dowód: Na mocy lematu kontekstowego wystarczy wykazać równoważność aplikacyjna. Ta wynika za s labej adekwatności, bo [MP ] = [NP ] dla dowolnych P. Równoleg la alternatywa: Funkcja por : N N N jest określona tak: 0, jeśli m = 0 lub n = 0; por m n = 1, jeśli m, n N i m, n > 0;, w przeciwnym przypadku. Przyjmijmy, że zero interpretujemy jako true a liczby wieksze od zera jako false. Wtedy funkcja por to równoleg la alternatywa ( parallel or ), spe lniona zawsze gdy któryś ze sk ladników jest spe lniony, nawet wtedy, gdy nieokreślony jest drugi sk ladnik. Lemat 9 Za lóżmy, że M = M[ N/ x] n, gdzie x to wszystkie zmienne wolne w M, a termy N sa zamkniete. Wtedy albo M n, albo M E[x], gdzie x x i E[ ] jest kontekstem ewaluacyjnym. Dowód: Indukcja ze wzgledu na d lugość redukcji M n. Zak ladajac, że M = NR, gdzie term N nie jest aplikacja, mamy tu kilka możliwości w zależności od N. Zbadanie ich pozostawiamy czytelnikowi. Funkcja por nie jest definiowalna w j ezyku PCF, co wynika z poniższego lematu (dla m = 1). Lemat 10 Nie istnieje term M o zmiennych wolnych x i y, spe lniajacy jednocześnie warunki: M[0/x, Ω/y] = l 0 = M[Ω/x, 0/y] oraz M[1/x, 1/y] = l m, gdzie m > 0. Dowód: Z lematu 9 wynika, że wtedy M E[x] lub M E[y], niemożliwe jest bowiem, aby term M redukowa l sie i do 0 i do m. Jeśli jednak M E[x], to M[Ω/x, 0/y] E[Ω], i podobnie w drugim przypadku. Stad wynika, że nie zachodzi twierdzenie odwrotne do adekwatności. Fakt 11 Semantyka denotacyjna dla PCF nie jest w pe lni abstrakcyjna: istnieja takie termy zamkniete T 0 i T 1, że T 0 T 1 ale [T ] 0 [T ] 1. Dowód: Niech T a, 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ć, że [T 0 ]por = 0 i [T 1 ]por = 1, skad [[T 0 ] [T 1 ]. Ponadto, gdyby T 0 M, dla jakiegoś M, to term Mxy musia lby spe lniać warunki, o których mowa w lemacie 10. Skoro takiego nie ma, to zawsze T 0 M, czyli T 0 jest aplikacyjnie równoważne z Ω. Podobnie jest dla T 0, wiec mamy aplikacyjna równoważność termów T 0 i T 1. A wiadomo, że z równoważności aplikacyjnej wynika równoważność obserwacyjna.

29 kwietnia 2013, godzina 23: 56 strona 5 Ćwiczenia: 1. Udowodnić, że dla każdej funkcji cześciowo rekurencyjnej ϕ istnieje taki term Φ w jezyku PCF, że ϕ(n) = m wtedy i tylko wtedy, gdy Φ(n) m. Inaczej: w PCF można zdefiniować każda funkcje cześciowo rekurencyjna. 2. Uzupe lnić brakujace dowody.