Programowanie funkcjonalne
|
|
- Maja Urban
- 7 lat temu
- Przeglądów:
Transkrypt
1 Programowanie funkcjonalne Wykªad 12. Funkcje rekurencyjne i rachunek lambda Zdzisªaw Spªawski Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 1
2 Formalizacje poj cia obliczalno±ci Pierwsze wa»niejsze twierdzenia, dotycz ce obliczalno±ci Teza Churcha-Turinga Funkcje rekurencyjne Przykªady funkcji pierwotnie rekurencyjnych Historia i niektóre zastosowania rachunku lambda Gramatyka i konwencje notacyjne Zmienne wolne i zwi zane Reguªy wnioskowania Semantyka operacyjna Strategie i grafy redukcji Twierdzenie Churcha-Rossera Twierdzenie o standardyzacji Programowanie funkcyjne Literatura Zadania kontrolne Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 2
3 Formalizacje poj cia obliczalno±ci Matematyczne modele algorytmu Rachunek kombinatorów Schönnkel (1924), Curry (1930) Rachunek lambda (λ-rachunek) A.Church (1932/33) Funkcje (cz ±ciowo) rekurencyjne S.C.Kleene (1936) Rachunek równa«rekurencyjnych K.Gödel wykorzystuj c ide J.Herbranda (1936) Maszyny Turinga A.M.Turing (1936) Systemy (produkcje) Posta E.L.Post (1943) Normalne algorytmy Markova A.A.Markov (1951) Maszyny z nieograniczonym rejestrami J.C.Shepherdson, H.E.Sturgis (1963) J zyk WHILE (z danymi w stylu j zyka LISP) N.D.Jones (1997) i inne. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 3
4 Pierwsze wa»niejsze twierdzenia, dotycz ce obliczalno±ci Pierwsze wa»niejsze twierdzenia, dotycz ce obliczalno±ci Ackermann (1928) pokazaª,»e istnieje funkcja intuicyjnie obliczalna, która nie jest pierwotnie rekurencyjna. Church i Kleene (1936) udowodnili równowa»no± funkcji rekurencyjnych i λ-obliczalno±ci. Church (1936) wysun ª hipotez,»e (nieformalne) poj cie obliczalno±ci mo»na uto»sami z (formalnym) poj ciem λ-deniowalno±ci. Turing (1937) udowodniª równowa»no± obliczalno±ci na maszynach Turinga i λ-obliczalno±ci. Turing (1937) wysun ª hipotez»e (nieformalne) poj cie obliczalno±ci mo»na uto»sami z (formalnym) poj ciem obliczalno±ci na maszynach Turinga. Pó¹niej udowodniono równowa»no± wszystkich zaproponowanych do tej pory matematycznych modeli algorytmu. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 4
5 Teza Churcha-Turinga Teza Churcha [Churcha-Turinga]. Ka»da funkcja obliczalna w nieformalnym sensie jest λ-deniowalna (=rekurencyjna). Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 5
6 Funkcje rekurencyjne Operacja minimum 1. Operacja minimum. Niech f : N n+1 N. (µm.f(x 1,..., x n, m) = 0) : N n N oznacza najmniejsz liczb m, dla której zachodzi f(x 1,..., x n, m) = 0 i f(x 1,..., x n, k) jest zdeniowana dla wszystkich k m; w przeciwnym razie wynik jest niezdeniowany. 2. Operacja minimum ograniczonego. Niech f : N n+1 N. (µm < z.f(x 1,..., x n, m) = 0) : N n N oznacza najmniejsz liczb m < z, dla której zachodzi f(x 1,..., x n, m) = 0 i f(x 1,..., x n, k) jest zdeniowana dla wszystkich k m; w przeciwnym razie wynik jest niezdeniowany. 3. Funkcj numeryczn jest dowolna funkcja f : N n N dla pewnego n. 4. x = df x 1,..., x n dla n N. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 6
7 Funkcje rekurencyjne Funkcje bazowe Denicja. Funkcje bazowe (pocz tkowe): 1. Z(x) = 0, dla ka»dego x funkcja zeruj ca 2. S(x) = x + 1, dla ka»dego x funkcja nast pnika (ang. succesor) 3. U i n(x 1,..., x n ) = x i, dla 1 i n funkcje projekcji Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 7
8 Funkcje rekurencyjne Schematy tworzenia nowych funkcji I Denicja. Niech A b dzie zbiorem funkcji numerycznych. 1. A jest zamkni ty ze wzgl du na operacj superpozycji (skªadania funkcji), je±li dla wszystkich f zdeniowanych nast puj co: f( x) = g(h 1 ( x),..., h r ( x)) gdzie g, h 1,..., h r A, zachodzi f A. 2. A jest zamkni ty ze wzgl du na operacj rekursji prostej, je±li dla wszystkich f zdeniowanych nast puj co (druga kolumna odnosi si do przypadku x = ): { f(0, x) = g( x), f(s(n), x) = h(n, f(n, x), x), gdzie g, h A, zachodzi f A. { f(0) = a, dla a N f(s(n)) = h(n, f(n)), Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 8
9 Funkcje rekurencyjne Schematy tworzenia nowych funkcji II 3. A jest zamkni ty ze wzgl du na operacj minimum efektywnego, je±li dla wszystkich f zdeniowanych nast puj co: f( x) = (µm.g( x, m) = 0), gdzie g A i x. m.g( x, m) = 0, zachodzi f A. 4. A jest zamkni ty ze wzgl du na operacj minimum, je±li dla wszystkich f zdeniowanych nast puj co: gdzie g A, zachodzi f A. f( x) = (µm.g( x, m) = 0), Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 9
10 Funkcje rekurencyjne Klasa P funkcji pierwotnie rekurencyjnych Denicja. Klasa P funkcji pierwotnie rekurencyjnych jest najmniejsz klas funkcji numerycznych zawieraj cych wszystkie funkcje bazowe i zamkni t ze wzgl du na operacje (i) superpozycji, (ii) rekursji prostej. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 10
11 Funkcje rekurencyjne Funkcja Ackermanna Funkcja A(m, n), zdeniowana za pomoc nast puj cego ukªadu równa«, jest obliczalna: A(0, n) = n + 1 A(m + 1, 0) = A(m, 1) A(m + 1, n + 1) = A(m, A(m + 1, n)) Powy»sza denicja zawiera podwójn rekursj, która jest nieco silniejsza, ni» schemat rekursji prostej. Zauwa»my jednak,»e przy ka»dym wywoªaniu rekurencyjnym jeden z argumentów maleje, wi c po sko«czonej ilo±ci wywoªa«obliczenia musz si zako«czy. Twierdzenie. Je±li f : N N jest pierwotnie rekurencyjna, to istnieje takie m,»e dla wszystkich n, f(n) < A(m, n), tzn. funkcja Ackermanna asymptotycznie ro±nie szybciej, ni» jakakolwiek funkcja pierwotnie rekurencyjna. Mamy wi c nat puj ce Twierdzenie. P R 0 R. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 11
12 Funkcje rekurencyjne Klasy R 0 i R funkcji ogólnie i cz ±ciowo rekurencyjnych Denicja. Klasa R 0 funkcji (ogólnie) rekurencyjnych jest najmniejsz klas funkcji numerycznych zawieraj cych wszystkie funkcje bazowe i zamkni t ze wzgl du na operacje (i) superpozycji, (ii) rekursji prostej, (iii) minimum efektywnego. Denicja. Klasa R funkcji cz ±ciowo rekurencyjnych jest najmniejsz klas funkcji numerycznych zawieraj cych wszystkie funkcje bazowe i zamkni t ze wzgl du na operacje (i) superpozycji, (ii) rekursji prostej, (iii) minimum. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 12
13 Przykªady funkcji pierwotnie rekurencyjnych Dodawanie Nieformalnie: { add(0, n) = n add(m + 1, n) = add(m, n) + 1 Formalnie: gdzie: { add(0, n) = U 1 1 (n) add(s(m), n) = h(m, add(m, n), n) h(x 1, x 2, x 3 ) = S(U 2 3 (x 1, x 2, x 3 )) Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 13
14 Przykªady funkcji pierwotnie rekurencyjnych Poprzednik Specykacja: δ(n) = Denicja (nieformalna): { δ(0) = 0 { n 1, dla n > 0 0, dla n = 0 δ(s(n)) = n Formalnie: { δ(0) = 0 δ(s(n)) = U2 1 (n, δ(n)) Zostaª tu zastosowany schemat rekursji prostej, w którym x =. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 14
15 Przykªady funkcji pierwotnie rekurencyjnych Odejmowanie Specykacja: m n = { m n, Denicja (nieformalna): { m 0 = m dla m n 0, dla m < n m S(n) = m n W tym przykªadzie denicja funkcji zostaªa podana nieformalnie, ale nale»y zdawa sobie spraw,»e jest to jedynie pewien skrót notacyjny, który w razie potrzeby nale»y umie zast pi denicj w peªni formaln, zgodn z wprowdzonymi wy»ej schematami deniowania funkcji rekurencyjnych. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 15
16 Historia i niektóre zastosowania rachunku lambda Rachunek lambda (λ-rachunek) jest teori funkcji rozumianych konstruktywnie jako reguªy obliczania, tj. przeksztaªcania argumentu w wynik. λ-rachunek zostaª zaproponowany w latach trzydziestych ubiegªego wieku przez Alonzo Churcha jako cz ± systemu formalnego, stanowi cego alternatywn formalizacj podstaw matematyki. Chocia» caªy system okazaª si sprzeczny, nie dotyczy to λ-rachunku. Wcze±niej, w latach dwudziestych, Moses Schönnkel zaproponowaª inn teori funkcji, opart na kombinatorach. W latach trzydziestych Haskell Curry niezale»nie wprowadziª kombinatory, rozszerzyª teori Schönnkela oraz pokazaª,»e jest ona równowa»na rachunkowi lambda. Mniej wi cej w tym czasie udowodniono równowa»no± rachunku lambda, funkcji rekurencyjnych i maszyn Turinga. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 16
17 Historia i niektóre zastosowania rachunku lambda Pod koniec lat pi dziesi tych John McCarthy, zainspirowany rachunkiem lambda, opracowaª j zyk programowania LISP. We wczesnych latach sze± dziesi tych Peter Landin pokazaª, jak mo»na zinterpretowa Algol-60 w rachunku lambda. Opracowany przez niego prototypowy j zyk ISWIM wywarª wpªyw na projektantów zarówno j zyków funkcjonalnych, jak i imperatywnych. Wykorzystuj c te rezultaty Christopher Strachey poªo»yª podstawy semantyki denotacyjnej j zyków programowania. Techniczne problemy rozwi zaª ameryka«ski logik Dana Scott, opracowuj c teori dziedzin, która stanowi wa»ny rozdziaª informatyki teoretycznej. Curry i niezale»nie Howard zauwa»yli odpowiednio± mi dzy rachunkem lambda z typami a dowodami matematycznymi (izomorzm Curry'ego-Howarda). Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 17
18 Historia i niektóre zastosowania rachunku lambda Pod koniec lat siedemdziesi tych David Turner pokazaª,»e kombinatory równie» mog by u»ywane jako efektywne kody maszynowe dla programów funkcjonalnych. W latach osiemdziesi tych bardzo wiele uwagi po±wi cono typom w j zykach funkcjonalnych, co wywarªo znaczny wpªyw na in»ynieri oprogramowania. W ten sposób wywodz ce si z logiki matematycznej i stworzone jeszcze przed skonstruowaniem pierwszych komputerów rachunek lambda i teoria kombinatorów wywieraj coraz wi kszy wpªyw na wa»ne dziedziny informatyki, m.in. podstawy informatyki, projektowanie i semantyk j zyków programowania, in»ynieri oprogramowania (specykacje, poprawno±...). Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 18
19 Gramatyka i konwencje notacyjne Gramatyka i konwencje notacyjne Denicja. Zbiór λ-termów Λ deniuje si przy u»yciu niesko«czonego, przeliczalnego zbioru zmiennych V = {v, v, v,...} i dwóch podstawowych operacji aplikacji i abstrakcji funkcyjnej. V ::= v V Λ ::= V (ΛΛ) (λv.λ) Dla uproszczenia zapisu stosuje si nast puj ce konwencje notacyjne. Maªe litery (np. x, y, x 1 ) oznaczaj zmienne. Wielkie litery (np. M, N, P ) oznaczaj λ-termy. λx 1... x n.m oznacza (λx 1 (λx 2 (... (λx n (M))...))). (Abstrakcja wi»e w prawo.) M 1... M n oznacza (... (M 1 M 2 )... M n ). (Aplikacja wi»e w lewo.) Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 19
20 Zmienne wolne i zwi zane Zmienne wolne i zwi zane Denicja. Zbiór zmiennych wolnych termu M, oznaczany przez F V (M), i zbiór zmiennych zwi zanych, oznaczany przez BV (M), deniuje si przez indukcj po strukturze termu: F V (x) = {x} F V (MN) = F V (M) F V (N) F V (λx.m) = F V (M) \ {x} BV (x) = BV (MN) = BV (M) BV (N) BV (λx.m) = BV (M) {x} Przykªad. (λx.y x) (λy.x y). z: wolne wyst pienie zmiennej z. z: zwi zane wyst pienie zmiennej z. Term bez zmiennych wolnych nazywamy termem zamkni tym lub kombinatorem. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 20
21 Zmienne wolne i zwi zane Podstawienie za zmienn woln M N oznacza tekstow identyczno± termów M i N z dokªadno±ci do zamiany nazw zmiennych zwi zanych. Denicja. Wynik podstawiania N za wolne wyst pienia zmiennej x w termie M, oznaczany przez M[x := N] lub M[N/x], mo»na zdeniowa indukcyjnie przez: y[x := N] ( N, gdy y x y, gdy y x (P Q)[x := N] (P [x := N])(Q[x := N]) 8 λx.p, (λy.p )[x := N] Przykªad. λy.(p [x := N]), >< >: λz.(p [y := z][x := N]), je±li y x (λy.x(λx.xy))[x := yz] λw.yz(λx.xw) je±li y x i y / F V (N) lub x / F V (P ) je±li y x i y F V (N) i x F V (P ), gdzie z jest dowoln ±wie» zmienn, tzn. z / F V (N) BV (N) F V (P ) BV (P ) Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 21
22 Reguªy wnioskowania Reguªy wnioskowania dla rachunku lambda I β (λx.m) N = M[x := N] λx.m x = M η gdy x / F V (M) M = M Re N = M Sym M = N K = M K = N M = N Trans K = L M = N MonApp K M = L N M = N λx.m = λx.n MonAbs Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 22
23 Reguªy wnioskowania Reguªy wnioskowania dla rachunku lambda II Powy»szy rachunek nosi nazw rachunku λη (lub λβη). Je±li pominiemy reguª (η), to otrzymamy teori λ (lub λβ). Je±li w systemie λ mo»na wyprowadzi równo± M = N, to piszemy λ M = N. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 23
24 Reguªy wnioskowania Reguªy wnioskowania dla rachunku lambda III Przykªad. Dowód równo±ci termów (λxy.x) (λz.z) i (λx.x) (λyz.z). β (λxy.x) (λz.z) = λyz.z β (λx.x) (λyz.z) = λyz.z Sym λyz.z = (λx.x) (λyz.z) Trans (λxy.x) (λz.z) = (λx.x) (λyz.z) W celu sformalizowania zamiany zmiennych zwi zanych Church wprowadziª poni»sz reguª (α). α λx.m = λy.m[x := y] gdy y / F V (M) BV (M) Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 24
25 Reguªy wnioskowania Reguªy wnioskowania dla rachunku lambda IV Semantyka termów, ró»ni cych si tylko zmiennymi zwi zanymi jest identyczna, wi c zwykle reguªa (α) przenoszona jest do metaj zyka, a termy w rachunku lambda rozwa»ane s z dokªadno±ci do α-kongruencji. Relacja równowa»no±ci jest kongruencj ze wzgl du na f, je±li z x y wynika f(x) f(y). My równie» przyjmiemy tak konwencj. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 25
26 Semantyka operacyjna Redukcje W zbiorze lambda termów Λ denuje si relacj beta-redukcji jako najmniejsz relacj β (β-redukcja w jednym kroku lub kontrakcja) tak,»e: (λx.m)n β M[x := N] je±li M β N, to ZM β ZN, MZ β NZ oraz (λx.m) β (λx.n). Relacja β-redukcji β jest zwrotnym i przechodnim domkni ciem relacji β. Relacja β-konwersji = β jest relacj równowa»no±ci generowan przez β. Twierdzenie 1. λ M = N M = β N. Dowód. ( ) Przez indukcj po strukturze drzewa wywodu. ( ) Przez indukcj po sposobie generowania relacji = β. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 26
27 Semantyka operacyjna Posta normalna lambda termu I Niech M Λ. M jest w postaci β-normalnej (β-nf, ang. normal form), je±li nie zawiera β-redeksu (ang. redex = reducible expression), tj. podtermu (λx.p )Q. M jest w postaci βη-normalnej (βη-nf), je±li nie zawiera β- ani η-redeksu, tj. podtermów (λx.p )Q ani λx.p x, gdzie x F V (P ). M jest w czoªowej postaci normalnej (HNF, ang. head-normal form), je±li M λx 1... x n.yn 1... N m dla m, n 0. M jest w sªabej czoªowej postaci normalnej (WHNF, ang. weak head-normal form), je±li M λx.n lub M yn 1... N m dla m 0. M ma R-NF, je±li N.M = N i N jest w R-NF, gdzie R oznacza dowoln redukcj. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 27
28 Semantyka operacyjna Posta normalna lambda termu II Przykªad. λx.((λy.λz.fzy)x) nie jest w β-nf, ani w HNF, jest w WHNF. Lemat 2. Niech M b dzie w β-nf. Wówczas M β N N M Dowód. Oczywisty, je±li β jest β. Rezultat wynika z przechodnio±ci. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 28
29 Strategie i grafy redukcji Strategie redukcji I Zgodnie z powy»szymi denicjami lambda term mo»e zawiera kilka redeksów. Na przykªad term: (λx.xyxx)((λz.z)w) zawiera dwa β-redeksy (λx.xyxx)((λz.z)w) oraz (λz.z)w. Mo»na przeprowadza kontrakcje redeksów zgodnie z wybran strategi. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 29
30 Strategie i grafy redukcji Strategie redukcji II Redukcja normalna (ang. normal-order reduction, NOR) polega na kontrakcji lewostronnego zewn trznego redeksu, tj. redeksu, który zaczyna si najbardziej na lewo i nie jest zawarty w»adnym innym redeksie. Redukcja aplikatywna (ang. applicative-order reduction, AOR) polega na kontrakcji lewostronnego wewn trznego redeksu, tj. lewostronnego redeksu, nie zawieraj cego innych redeksów. S te» inne, mniej wa»ne strategie redukcji. Term jest silnie normalizowalny, je±li ka»da strategia redukcji doprowadza do postaci normalnej. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 30
31 Strategie i grafy redukcji Strategie redukcji III Poni»sze slogany uªatwiaj zapami tanie istoty najwa»niejszych strategii redukcji. Redukcja normalna: warto±ciuj ka»dy argument tyle razy, ile trzeba. Redukcja aplikatywna: warto±ciuj ka»dy argument dokªadnie raz. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 31
32 Strategie i grafy redukcji Strategie redukcji przykªady I (λx.xyxx)((λz.z)w) ((λz.z)w)y((λz.z)w)((λz.z)w) wy((λz.z)w)((λz.z)w) wyw((λz.z)w) wyww NOR (λx.xyxx)((λz.z)w) (λx.xyxx)w wyww AOR Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 32
33 Strategie i grafy redukcji Strategie redukcji przykªady II Niech ω λx.xx oraz Ω ωω. Ω ωω (λx.xx)(λx.xx) (λx.xx)(λx.xx)... (λx.xxy)(λx.xxy) (λx.xxy)(λx.xxy)y... (λx.y(λz.z))(ωω) y(λz.z) NOR (λx.y(λz.z))(ωω) (λx.y(λz.z))(ωω)... AOR Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 33
34 Strategie i grafy redukcji Grafy redukcji Denicja. Graf R-redukcji termu M (notacja G R (M)) jest zbiorem {N Λ M R N} ukierunkowanym relacj redukcji R. Je±li kilka redeksów powoduje przeksztaªcenie M 0 R M 1, to tyle samo ukierunkowanych kraw dzi prowadzi od M 0 do M 1 w G R (M)). Przykªad. G β (Ω), dla Ω (λx.xx)(λx.xx) Ω G β (W W W ), dla W λxy.xyy W W W (λy.yyy)w (λy.w yy)w (λy.(λz.yzz)y)w Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 34
35 Twierdzenie Churcha-Rossera Twierdzenie Churcha-Rossera Je±li M β P i M β Q, to dla pewnego N zachodzi P β N i Q β N. P β M β Q β N β Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 35
36 Twierdzenie Churcha-Rossera Wnioski z twierdzenia Churcha-Rossera I Wniosek 1. Je±li M = β N, to istnieje taki term L,»e M L i N L. Dowód. Przez indukcj po sposobie generowania relacji = β. Wniosek 2. (i) Je±li M ma N jako β-nf, to M β L. (ii) λ-term ma co najwy»ej jedn β-nf. Dowód. (i) Niech M = β N, gdzie N jest β-nf. Na podstawie Wniosku 1 M β L i N β L dla pewnego L. Wówczas N L na podstawie Lematu 2, a wi c M β N. (ii) Niech M ma N 1 i N 2 jako β-nf. Wówczas N 1 = β M = β N 2. Na podstawie Wniosku 1 N 1 β L i N 2 β L dla pewnego L wi c N 1 L N 2 na podstawie Lematu 2. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 36
37 Twierdzenie Churcha-Rossera Wnioski z twierdzenia Churcha-Rossera II Dalsze wnioski: (1) λ-rachunek jest niesprzeczny jako teoria równo±ciowa, tzn. nie mo»na w niej wyprowadzi wszystkich równo±ci, np. λ true = false, gdzie true λxy.x i false λxy.y. W przeciwnym razie true = β false na podstawie Tw.1, co jest niemo»liwe na podstawie Wniosku 2(ii), poniewa» true i false s ró»nymi β-nf. (2) W celu znalezienia β-nf termu M (je±li istnieje), ró»ne podtermy termu M mog by redukowane w dowolnej kolejno±ci. Je±li redukcja doprowadzi do β-nf, to na podstawie Wniosku 2(ii) β-nf jest jedyna. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 37
38 Twierdzenie o standardyzacji Twierdzenie o standardyzacji Je±li term M ma posta normaln N to istnieje normalna redukcja z M do N. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 38
39 Programowanie funkcyjne Programowanie funkcyjne I Jak widzieli±my, beta redukcja wymaga zmiany zmiennych zwi zanych (stosuj c α-konwersj ) w przypadku koniktu nazw zmiennych, powoduj cego zwi zanie zmiennej wolnej w wyniku redukcji, np. λx.(λyx. + xy)x β λx.λz. + zx Taka operacja jest jednak kosztowna i w j zykach funkcyjnych unika si jej, redukuj c wyra»enia do sªabej czoªowej postaci normalnej (WHNF). Powy»szy term jest ju» w WHNF. Warto±ciowanie zostanie przeprowadzone po zaaplikowaniu do argumentu, np. (λx.(λyx. + xy)x)5 β (λyx. + xy)5 β λx. + x5 Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 39
40 Programowanie funkcyjne Programowanie funkcyjne II W j zykach funkcyjnych maj zastosowanie dwie strategie warto±ciowania: warto±ciowanie gorliwe (ang. eager evaluation) i warto±ciowanie leniwe (ang. lazy evaluation), b d ce sposobami implementacji strategii AOR i NOR. warto±ciowanie gorliwe = AOR do WHNF warto±ciowanie leniwe = NOR do WHNF + wspóªdzielenie + leniwe konstruktory Przy warto±ciowaniu leniwym ka»dy argument funkcji jest warto±ciowany co najwy»ej raz. Argumenty leniwych konstruktorów nie s warto±ciowane. Czasem stosuje si strategie mieszane, np. warto±ciowanie gorliwe + leniwe konstruktory. W OCamlu konstruktory s gorliwe. J zyk funkcyjny mo»na potraktowa jak rachunek lambda (beztypowy lub z typami) z dodanymi staªymi (z odpowiednimi reguªami redukcji) i du» ilo±ci lukru syntaktyczego. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 40
41 Literatura Literatura (wybrane pozycje) I H.P.Barendregt, The Lambda Calculus. Its Syntax and Semantics, Elsevier, Amsterdam 1984 (revised edition). H.P.Barendregt, Functional Programming and Lambda Calculus, w J.van Leeuwen (ed.), Handbook of Theoretical Computer Science, vol. B, North Holland 1990, Ch.7, pp H.P.Barendregt, Lambda Calculi with Types, w: S.Abramsky, Dov M. Gabbay, T.S.E. Maibaum, Handbook of Logic in Computer Science, vol. 2, Clarendon Press, Oxford 1992, pp , henk/papers.html Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 41
42 Literatura Literatura (wybrane pozycje) II M.Felleisen, M.Flatt, Programming Languages and Lambda Calculi, draft 2006, J.R.Hindley, J.P.Seldin, Introduction to Combinators and λ-calculus, Cambridge University Press, Cambridge 1986 Ch.Hankin, Lambda Calculi. A Guide for Computer Scientists, Oxford University Press, Oxford 1994 J.R.Hindley, Basic Simple Type Theory, Cambridge University Press, Cambridge 1997 J.L. Krivine, Lambda-Calculus, Types and Models, Masson, Paris 1993 P. Urzyczyn, Rachunek lambda, wykªad monograczny, urzy/lambda/ Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 42
43 Zadania kontrolne 1. W poni»szym termie wska» wszystkie beta-redeksy. (λx.x)((λx.x)(λz.(λx.x)z)) 2. Przeprowad¹ normalizacj poni»szego termu. Zwró uwag na konieczno± zmiany nazwy zmiennej zwi zanej. (λx.xx)(λyz.yz) 3. Przeprowad¹ normalizacj poni»szych termów, je±li to mo»liwe. Poka» wszystkie mo»liwe ±cie»ki redukcji (w postaci grafu redukcji). (λx.x)(λz.z) (λx.y)(λz.z) (λx.xx)(λz.z) (λx.(λy.yx)z)(zw) (λx.x)((λx.x)(λz.(λx.x)z) (λuv.v)((λx.xx)(λx.xx)) (λx.xx)(λx.xx) (λx.xxy)(λx.xxy) Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 43
44 Zadania kontrolne 4. Narysuj graf β-redukcji dla termu MM, gdzie M λx.(λy.yy)x 5. Znajd¹ lambda termy, posiadaj ce poni»sze grafy β-redukcji. a) b) Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 44
45 Zadania kontrolne 6. Udowodnij,»e w rachunku lambda reguª (η) mo»na zast pi poni»sz reguª ekstensjonalo±ci: Mx = Nx (ext) M = N x F V (M) F V (N) Poka»,»e w λβη mo»na wywie± reguª (ext) jako reguª wtórn i odwrotnie, w λβ + (ext) mo»na wywie± (η). Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 45
46 Zadania kontrolne 7. Poka»,»e poni»sze funkcje s pierwotnie rekurencyjne. (a) m n = iloczyn argumentów (b) m n = m do pot gi n, gdzie 0 0 = 1 (c) min(m, n) = mniejszy z argumentów (d) max(m, n) = wi kszy z argumentów (e) min k (n 1,..., n k ) (f) max k (n 1,..., n k ) (g) m n = warto± bezwzgl dna ró»nicy (h) n! (i) m % n = reszta z dzielenia m przez n (gdzie m%0 = m) (j) m/n = cz ± caªkowita ilorazu (gdzie m/0 = 0) Dla wszystkich warto±ci argumentów zachodzi zwykªy zwi zek m = m/n + m%n. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 46
47 Zadania kontrolne 8. Udowodnij,»e funkcja { 0, gdy k = 0 f(n, x) = f(0, x) + + f(k 1, x), gdy k > 0 n<k jest pierwotnie rekurencyjna (przy zaªo»eniu,»e f jest pierwotnie rekurencyjna). 9. Udowodnij,»e klasa funkcji pierwotnie rekurencyjnych jest zamkni ta ze wzgl du na denicje warunkowe h 1 ( x), gdy R 1 ( x) h f( x) = 2 ( x), gdy R 2 ( x) h m ( x), gdy R m ( x) gdzie h i i funkcje charakterystyczne relacji R i (1 i m) s pierwotnie rekurencyjne, a relacje R i (n, x) wykluczaj si wzajemnie oraz wyczerpuj wszelkie mo»liwo±ci. Zdzisªaw Spªawski: Programowanie funkcjonalne, Wykªad 12. Funkcje rekurencyjne i rachunek lambda 47
Programowanie funkcjonalne. Wykªad 12
Programowanie funkcjonalne. Wykªad 12 Podstawowe informacje o rachunku lambda Zdzisªaw Spªawski Zdzisªaw Spªawski: Programowanie funkcjonalne. Wykªad 12, Podstawowe informacje o rachunku lambda 1 Literatura
Bardziej szczegółowoProgramowanie funkcyjne Wykład 12. Funkcje rekurencyjne i rachunek lambda
Instytut Informatyki Programowanie funkcyjne Wykład 12. Funkcje rekurencyjne i rachunek lambda Zdzisław Spławski Zdzisław Spławski: Programowanie funkcyjne, Wykład 12. Funkcje rekurencyjne i rachunek lambda
Bardziej szczegółowoProgramowanie funkcyjne. Wykªad 13
Programowanie funkcyjne. Wykªad 13 Siªa wyrazu rachunku lambda Zdzisªaw Spªawski Zdzisªaw Spªawski: Programowanie funkcyjne. Wykªad 13, Siªa wyrazu rachunku lambda 1 Wst p Warto±ci logiczne Liczby naturalne
Bardziej szczegółowoProgramowanie funkcyjne Wykład 14. Rachunek λ z typami prostymi
Programowanie funkcyjne Wykład 14. Rachunek λ z typami prostymi Zdzisław Spławski Zdzisław Spławski: Programowanie funkcyjne, Wykład 14. Rachunek λ z typami prostymi 1 Dowody konstruktywne Dedukcja naturalna
Bardziej szczegółowoTwierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski
Twierdzenie Wainera Marek Czarnecki Wydziaª Filozoi i Socjologii Uniwersytet Warszawski Wydziaª Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski Warszawa, 3 lipca 2009 Motywacje Dla dowolnej
Bardziej szczegółowoWykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja
Bardziej szczegółowoMetody dowodzenia twierdze«
Metody dowodzenia twierdze«1 Metoda indukcji matematycznej Je±li T (n) jest form zdaniow okre±lon w zbiorze liczb naturalnych, to prawdziwe jest zdanie (T (0) n N (T (n) T (n + 1))) n N T (n). 2 W przypadku
Bardziej szczegółowoA = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.
Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta
Bardziej szczegółowoMetodydowodzenia twierdzeń
1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych
Bardziej szczegółowoTeoretyczne Podstawy Informatyki
Instytut Informatyki Stosowanej Teoretyczne Podstawy Informatyki Wykªad 2. J zyki i gramatyki formalne Zdzisªaw Spªawski Zdzisªaw Spªawski: Teoretyczne Podstawy Informatyki, Wykªad 2. J zyki i gramatyki
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoIndeksowane rodziny zbiorów
Logika i teoria mnogo±ci, konspekt wykªad 7 Indeksowane rodziny zbiorów Niech X b dzie przestrzeni zbiorem, którego podzbiorami b d wszystkie rozpatrywane zbiory, R rodzin wszystkich podzbiorów X za± T
Bardziej szczegółowoProgramowanie funkcyjne Wykład 13. Siła wyrazu rachunku lambda
Programowanie funkcyjne Wykład 13. Siła wyrazu rachunku lambda Zdzisław Spławski Zdzisław Spławski: Programowanie funkcyjne, Wykład 13. Siła wyrazu rachunku lambda 1 Wstęp Wartości logiczne Liczby naturalne
Bardziej szczegółowoTeoretyczne Podstawy Języków Programowania Wykład 4. Siła wyrazu rachunku λ
Teoretyczne Podstawy Języków Programowania Wykład 4. Siła wyrazu rachunku λ Zdzisław Spławski Zdzisław Spławski: Teoretyczne Podstawy Języków Programowania, Wykład 4. Siła wyrazu rachunku λ 1 Wstęp Wartości
Bardziej szczegółowoJak należy się spodziewać, mamy. Zauważmy jednak, że nie zachodzi równość
11. Wykład 11: Rachunek λ. Obliczenia i obliczalność. Rachunek λ jest systemem pozornie bardzo prostym. Abstrakcja i aplikacja wydają się trywialnymi operacjami, i może się zdawać, że niczego ciekawego
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowo1 Bª dy i arytmetyka zmiennopozycyjna
1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy
Bardziej szczegółowoElementy rachunku lambda. dr hab. inż. Joanna Józefowska, prof. PP 1
Elementy rachunku lambda λ 1 Notacja λ x 3x + 7 3x + 7 jest różniczkowalna 3x + 7 jest mniejsze od 2 (2,3) 5 f(2, 3) = 2 + 3 g(2) = 2 + 3 λx(3x + 7) 3x + 7 λx λy(x + y) = λxy(x + y) λx(x + 3) 2 Rachunek
Bardziej szczegółowoRachunek Lambda i J zyki Programowania
Rachunek Lambda i J zyki Programowania Maªgorzata Biernacka Instytut Informatyki UWr Wykªad 3 1 Plan 1 Ewaluacja w j zykach funkcyjnych Ewaluacja w kontekstach Maszyny abstrakcyjne 2 Plan 1 Ewaluacja w
Bardziej szczegółowoCiaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1
Ciaªa i wielomiany 1 Ciaªa i wielomiany 1 Denicja ciaªa Niech F b dzie zbiorem, i niech + (dodawanie) oraz (mno»enie) b d dziaªaniami na zbiorze F. Denicja. Zbiór F wraz z dziaªaniami + i nazywamy ciaªem,
Bardziej szczegółowoMaszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne
Maszyny Turinga Maszyna Turinga jest automatem ta±mowym, skª da si z ta±my (tablicy symboli) potencjalnie niesko«czonej w prawo, zakªadamy,»e w prawie wszystkich (tzn. wszystkich poza sko«czon liczb )
Bardziej szczegółowox y x y x y x + y x y
Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15
ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku
Bardziej szczegółowoListy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.
Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy
Bardziej szczegółowoUkªady równa«liniowych
dr Krzysztof yjewski Mechatronika; S-I 0 in» 7 listopada 206 Ukªady równa«liniowych Informacje pomocnicze Denicja Ogólna posta ukªadu m równa«liniowych z n niewiadomymi x, x, x n, gdzie m, n N jest nast
Bardziej szczegółowoLogiczne podstawy informatyki 1. Wojciech Buszkowski. Zakład Teorii Obliczeń Wydział Matematyki i Informatyki UAM
Logiczne podstawy informatyki 1 RACHUNEK λ Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki UAM Logiczne podstawy informatyki 2 1. Czysty rachunek λ Symbole - zmienne: x, y,
Bardziej szczegółowoWykªad 4. Funkcje wielu zmiennych.
Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 4. Funkcje wielu zmiennych. Zbiory na pªaszczy¹nie i w przestrzeni.
Bardziej szczegółowoRelacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.
Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór
Bardziej szczegółowoPodstawy matematyki dla informatyków. Logika formalna. Skªadnia rachunku zda« Skróty i priorytety. Wykªad 10 (Klasyczny rachunek zda«) 15 grudnia 2011
Podstawy matematyki dla informatyków Logika formalna Wykªad 10 (Klasyczny rachunek zda«) 15 grudnia 2011 Skªadnia rachunku zda«symbole (zmienne) zdaniowe (p, q, r,...), oraz znaki i s formuªami zdaniowymi.
Bardziej szczegółowoi, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017
i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski Uniwersytet Šódzki, Wydziaª Matematyki i Informatyki UŠ piotr@fulmanski.pl http://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_
Bardziej szczegółowoRównowano modeli oblicze
Równowano modeli oblicze Interpretacja rachunku 1 2 Twierdzenie Gödla o pełnoci Interpretacja jzyka FOL W 1931 K. Gödel udowodnił, e Jeeli formuła jest prawdziwa, to istnieje dowód tej formuły. Problem
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowo2 Liczby rzeczywiste - cz. 2
2 Liczby rzeczywiste - cz. 2 W tej lekcji omówimy pozostaªe tematy zwi zane z liczbami rzeczywistymi. 2. Przedziaªy liczbowe Wyró»niamy nast puj ce rodzaje przedziaªów liczbowych: (a) przedziaªy ograniczone:
Bardziej szczegółowoLogika i teoria mnogości Wykład 14
Teoria rekursji Teoria rekursji to dział logiki matematycznej zapoczątkowany w latach trzydziestych XX w. Inicjatorzy tej dziedziny to: Alan Turing i Stephen Kleene. Teoria rekursji bada obiekty (np. funkcje,
Bardziej szczegółowoLogika dla matematyków i informatyków Wykªad 1
Logika dla matematyków i informatyków Wykªad 1 Stanisªaw Goldstein Wydziaª Matematyki i Informatyki UŠ 16 lutego 2016 Wszech±wiat matematyczny skªada si wyª cznie ze zbiorów. Liczby naturalne s zdeniowane
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowo-termami -wyrażeń pre-termami abstrakcją aplikacją zmiennych wolnych zmienną związaną domknięte
8. Wykład 8: Rachunek λ. Wprowadzenie. Rachunek lambda i logika kombinatoryczna powstały w latach trzydziestych dwudziestego wieku. Początkowo miały stanowić alternatywne wobec teorii mnogości podejście
Bardziej szczegółowoWybrane poj cia i twierdzenia z wykªadu z teorii liczb
Wybrane poj cia i twierdzenia z wykªadu z teorii liczb 1. Podzielno± Przedmiotem bada«teorii liczb s wªasno±ci liczb caªkowitych. Zbiór liczb caªkowitych oznacza b dziemy symbolem Z. Zbiór liczb naturalnych
Bardziej szczegółowoMaªgorzata Murat. Modele matematyczne.
WYKŠAD I Modele matematyczne Maªgorzata Murat Wiadomo±ci organizacyjne LITERATURA Lars Gårding "Spotkanie z matematyk " PWN 1993 http://moodle.cs.pollub.pl/ m.murat@pollub.pl Model matematyczny poj cia
Bardziej szczegółowo1 0 Je»eli wybierzemy baz A = ((1, 1), (2, 1)) to M(f) A A =. 0 2 Daje to znacznie lepszy opis endomorzmu f.
GAL II 2012-2013 A Strojnowski str1 Wykªad 1 Ten semestr rozpoczniemy badaniem endomorzmów sko«czenie wymiarowych przestrzeni liniowych Denicja 11 Niech V b dzie przestrzeni liniow nad ciaªem K 1) Przeksztaªceniem
Bardziej szczegółowoJAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1
J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)
Bardziej szczegółowoMatematyka dyskretna dla informatyków
UNIWERSYTET IM. ADAMA MICKIEWICZA W POZNANIU Jerzy Jaworski, Zbigniew Palka, Jerzy Szyma«ski Matematyka dyskretna dla informatyków uzupeænienia Pozna«007 A Notacja asymptotyczna Badaj c du»e obiekty kombinatoryczne
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoLogika intuicjonistyczna
9 listopada 2011 Plan 1 2 3 4 Plan 1 2 3 4 Intuicjonizm Pogl d w lozoi matematyki wprowadzony w 1912 L. E. J. Brouwera. Twierdzenia matematyczne powstaj dzi ki intuicjom naszego umysªu. Skupienie si na
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoLiniowe równania ró»niczkowe n tego rz du o staªych wspóªczynnikach
Liniowe równania ró»niczkowe n tego rz du o staªych wspóªczynnikach Teoria obowi zuje z wykªadu, dlatego te» zostan tutaj przedstawione tylko podstawowe denicje, twierdzenia i wzory. Denicja 1. Równanie
Bardziej szczegółowoFunkcje wielu zmiennych
dr Krzysztof yjewski Informatyka I rok I 0 in» 12 stycznia 2016 Funkcje wielu zmiennych Informacje pomocnicze Denicja 1 Niech funkcja f(x y) b dzie okre±lona przynajmniej na otoczeniu punktu (x 0 y 0 )
Bardziej szczegółowoHotel Hilberta. Zdumiewaj cy ±wiat niesko«czono±ci. Marcin Kysiak. Festiwal Nauki, 20.09.2011. Instytut Matematyki Uniwersytetu Warszawskiego
Zdumiewaj cy ±wiat niesko«czono±ci Instytut Matematyki Uniwersytetu Warszawskiego Festiwal Nauki, 20.09.2011 Nasze do±wiadczenia hotelowe Fakt oczywisty Hotel nie przyjmie nowych go±ci, je»eli wszystkie
Bardziej szczegółowoInformacje pomocnicze
Funkcje wymierne. Równania i nierówno±ci wymierne Denicja. (uªamki proste) Wyra»enia postaci Informacje pomocnicze A gdzie A d e R n N (dx e) n nazywamy uªamkami prostymi pierwszego rodzaju. Wyra»enia
Bardziej szczegółowoRozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a).
Rozwi zania zada«z egzaminu podstawowego z Analizy matematycznej 2.3A (24/5). Rozwi zanie równania ró»niczkowego metod operatorow (zastosowanie transformaty Laplace'a). Zadanie P/4. Metod operatorow rozwi
Bardziej szczegółowoLogika matematyczna (16) (JiNoI I)
Logika matematyczna (16) (JiNoI I) Jerzy Pogonowski Zakªad Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl 15/16 lutego 2007 Jerzy Pogonowski (MEG) Logika matematyczna (16) (JiNoI I) 15/16
Bardziej szczegółowoModel obiektu w JavaScript
16 marca 2009 E4X Paradygmat klasowy Klasa Deniuje wszystkie wªa±ciwo±ci charakterystyczne dla wybranego zbioru obiektów. Klasa jest poj ciem abstrakcyjnym odnosz cym si do zbioru, a nie do pojedynczego
Bardziej szczegółowoFunkcje, wielomiany. Informacje pomocnicze
Funkcje, wielomiany Informacje pomocnicze Przydatne wzory: (a + b) 2 = a 2 + 2ab + b 2 (a b) 2 = a 2 2ab + b 2 (a + b) 3 = a 3 + 3a 2 b + 3ab 2 + b 3 (a b) 3 = a 3 3a 2 b + 3ab 2 b 3 a 2 b 2 = (a + b)(a
Bardziej szczegółowoZagadnienia na wej±ciówki z matematyki Technologia Chemiczna
Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna 1. Podaj denicj liczby zespolonej. 2. Jak obliczy sum /iloczyn dwóch liczb zespolonych w postaci algebraicznej? 3. Co to jest liczba urojona?
Bardziej szczegółowoAlgorytmy zwiazane z gramatykami bezkontekstowymi
Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk
Bardziej szczegółowoStrategia czy intuicja?
Strategia czy intuicja czyli o grach niesko«czonych Instytut Matematyki Uniwersytetu Warszawskiego Grzegorzewice, 29 sierpnia 2009 Denicja gry Najprostszy przypadek: A - zbiór (na ogóª co najwy»ej przeliczalny),
Bardziej szczegółowoZdzisªaw Dzedzej, Katedra Analizy Nieliniowej pok. 611 Kontakt:
Zdzisªaw Dzedzej, Katedra Analizy Nieliniowej pok. 611 Kontakt: zdzedzej@mif.pg.gda.pl www.mif.pg.gda.pl/homepages/zdzedzej () 5 pa¹dziernika 2016 1 / 1 Literatura podstawowa R. Rudnicki, Wykªady z analizy
Bardziej szczegółowoRachunek zda«. Relacje. 2018/2019
Rachunek zda«. Relacje. 2018/2019 Zdanie logiczne. Zdaniem logicznym nazywamy ka»de wyra»enie, któremu mo»na przyporz dkowa jedn z dwóch warto±ci logicznych: 0 czyli faªsz b d¹ 1 czyli prawda. Zdanie logiczne.
Bardziej szczegółowoELEMENTARNA TEORIA LICZB. 1. Podzielno±
ELEMENTARNA TEORIA LICZB IZABELA AGATA MALINOWSKA N = {1, 2,...} 1. Podzielno± Denicja 1.1. Niepusty podzbiór A zbioru liczb naturalnych jest ograniczony, je»eli istnieje taka liczba naturalna n 0,»e m
Bardziej szczegółowoMetody numeryczne. Wst p do metod numerycznych. Dawid Rasaªa. January 9, 2012. Dawid Rasaªa Metody numeryczne 1 / 9
Metody numeryczne Wst p do metod numerycznych Dawid Rasaªa January 9, 2012 Dawid Rasaªa Metody numeryczne 1 / 9 Metody numeryczne Czym s metody numeryczne? Istota metod numerycznych Metody numeryczne s
Bardziej szczegółowoPodstawy matematyki dla informatyków. Funkcje. Funkcje caªkowite i cz ±ciowe. Deniowanie funkcji. Wykªad pa¹dziernika 2012
Podstawy matematyki dla informatyków Wykªad 3 Funkcje 18 pa¹dziernika 2012 Deniowanie funkcji Funkcje caªkowite i cz ±ciowe Denicja wprost: f (x) = x + y f = λx. x + y Denicja warunkowa: { n/2, je±li n
Bardziej szczegółowoLOGIKA ALGORYTMICZNA
LOGIKA ALGORYTMICZNA 0.0. Relacje. Iloczyn kartezjański: A B := (a, b) : a A i b B} (zak ladamy, że (x, y) i (u, v) s a równe wtedy i tylko wtedy gdy x = u i y = v); A n := (x 1,..., x n ) : x i A}; R
Bardziej szczegółowoSchematy i reguªy wnioskowania w logice rozmytej
Wybrane schematy i reguªy wnioskowania w logice rozmytej Uniwersytet l ski Letnia Szkoªa Instytutu Matematyki, Brenna, 24-28 wrze±nia 2018 w logice klasycznej Sylogizm hipotetyczny (A B) (B C) A C w logice
Bardziej szczegółowoRachunek lambda, zima
Rachunek lambda, zima 2015-16 Wykład 2 12 października 2015 Tydzień temu: Własność Churcha-Rossera (CR) Jeśli a b i a c, to istnieje takie d, że b d i c d. Tydzień temu: Własność Churcha-Rossera (CR) Jeśli
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoLab. 02: Algorytm Schrage
Lab. 02: Algorytm Schrage Andrzej Gnatowski 5 kwietnia 2015 1 Opis zadania Celem zadania laboratoryjnego jest zapoznanie si z jednym z przybli»onych algorytmów sªu» cych do szukania rozwi za«znanego z
Bardziej szczegółowoUczenie Wielowarstwowych Sieci Neuronów o
Plan uczenie neuronu o ci gªej funkcji aktywacji uczenie jednowarstwowej sieci neuronów o ci gªej funkcji aktywacji uczenie sieci wielowarstwowej - metoda propagacji wstecznej neuronu o ci gªej funkcji
Bardziej szczegółowoXVII Warmi«sko-Mazurskie Zawody Matematyczne
1 XVII Warmi«sko-Mazurskie Zawody Matematyczne Kategoria: klasa VIII szkoªy podstawowej i III gimnazjum Olsztyn, 16 maja 2019r. Zad. 1. Udowodnij,»e dla dowolnych liczb rzeczywistych x, y, z speªniaj cych
Bardziej szczegółowoArytmetyka zmiennopozycyjna
Rozdziaª 4 Arytmetyka zmiennopozycyjna Wszystkie obliczenia w octavie s wykonywane w arytmetyce zmiennopozycyjnej (inaczej - arytmetyce ) podwójnej precyzji (double) - cho w najnowszych wersjach octave'a
Bardziej szczegółowoAutomorzmy modeli i twierdzenie EhrenfeuchtaMostowskiego
Automorzmy modeli i twierdzenie EhrenfeuchtaMostowskiego Krzysztof Kapulkin IX Warsztaty Logiczne 5 12 lipca 2008 1 Wst p W referacie tym przedstawiamy wyniki uzyskane przez Andrzeja Ehrenfeuchta i Andrzeja
Bardziej szczegółowoPodstawy matematyki dla informatyków
Podstawy matematyki dla informatyków Wykªad 6 10 listopada 2011 W poprzednim odcinku... Zbiory A i B s równoliczne (tej samej mocy ), gdy istnieje bijekcja f : A 1 1 B. Piszemy A B lub A = B. na Moc zbioru
Bardziej szczegółowoPodstawy modelowania w j zyku UML
Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 2 Zwi zki mi dzy klasami Asocjacja (ang. Associations) Uogólnienie, dziedziczenie (ang.
Bardziej szczegółowoFunkcje rekurencyjne
Funkcje rekurencyjne Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Funkcje rekurencyjne Jerzy Pogonowski (MEG) Funkcje rekurencyjne Funkcje rekurencyjne 1 / 34 Wprowadzenie
Bardziej szczegółowoZbiory i odwzorowania
Zbiory i odwzorowania 1 Sposoby okre±lania zbiorów 1) Zbiór wszystkich elementów postaci f(t), gdzie t przebiega zbiór T : {f(t); t T }. 2) Zbiór wszystkich elementów x zbioru X speªniaj cych warunek ϕ(x):
Bardziej szczegółowoWykªad 12. Transformata Laplace'a i metoda operatorowa
Wykªad 2. Tranformata Laplace'a i metoda operatorowa Tranformata Laplace'a Dla odpowiednio okre±lonej klay funkcji zdeniujemy operator L, nazywany tranformat Laplace'a, okre±lony wzorem L[ f ]() = f(t)e
Bardziej szczegółowoLogika i teoria typów
Logika i teoria typów Wykład 1 2 marca 2016 O czym będzie ten wykład: Powtórzenie z rachunku lambda. Logika intuicjonistyczna. Logika jako gra dialogowa. Podstawy logiki liniowej. Logika klasyczna, kontynuacje
Bardziej szczegółowoEkstremalnie maªe zbiory
Maªe jest pi kne Instytut Matematyki Uniwersytetu Warszawskiego Nadarzyn, 27.08.2011 Zbiory silnie miary zero Przypomnienie Zbiór X [0, 1] jest miary Lebesgue'a zero, gdy dla ka»dego ε > 0 istnieje ci
Bardziej szczegółowoMetoda tablic semantycznych. 1 Metoda tablic semantycznych
1 Zarówno metoda tablic semantycznych, jak i rezolucji, to dosy sprawny algorytm do badania speªnialni±ci formuª, a wi c i tautologii. Chodzi w niej o wskazanie, je±li istnieje, modelu dla formuªy. Opiera
Bardziej szczegółowoPrzykªady problemów optymalizacji kombinatorycznej
Przykªady problemów optymalizacji kombinatorycznej Problem Komiwoja»era (PK) Dane: n liczba miast, n Z +, c ji, i, j {1,..., n}, i j odlegªo± mi dzy miastem i a miastem j, c ji = c ij, c ji R +. Zadanie:
Bardziej szczegółowoGeometria Algebraiczna
Geometria Algebraiczna Zadania domowe: seria 1 Zadania 1-11 to powtórzenie podstawowych poj z teorii kategorii. Zapewne rozwi zywali Pa«stwo te zadania wcze±niej, dlatego nie b d one omawiane na wiczeniach.
Bardziej szczegółowoZadania z PM II A. Strojnowski str. 1. Zadania przygotowawcze z Podstaw Matematyki seria 2
Zadania z PM II 010-011 A. Strojnowski str. 1 Zadania przygotowawcze z Podstaw Matematyki seria Zadanie 1 Niech A = {1,, 3, 4} za± T A A b dzie relacj okre±lon wzorem: (a, b) T, gdy n N a n = b. a) Ile
Bardziej szczegółowoW poprzednim odcinku... Podstawy matematyki dla informatyków. Relacje równowa»no±ci. Zbiór (typ) ilorazowy. Klasy abstrakcji
W poprzednim odcinku... Podstawy matematyki dla informatyków Rodzina indeksowana {A t } t T podzbiorów D to taka funkcja A : T P(D),»e A(t) = A t, dla dowolnego t T. Wykªad 3 20 pa¹dziernika 2011 Produkt
Bardziej szczegółowoO czym będzie ten wykład: Logika i teoria typów. Zbiory i funkcje. Powtórzenie z rachunku lambda. Ekstensjonalność (?) Beztypowy rachunek lambda
O czym będzie ten wykład: Logika i teoria typów Wykład 1 2 marca 2016 Powtórzenie z rachunku lambda. Logika intuicjonistyczna. Logika jako gra dialogowa. Podstawy logiki liniowej. Logika klasyczna, kontynuacje
Bardziej szczegółowoWnioskowanie Boolowskie i teoria zbiorów przybli»onych
Wnioskowanie Boolowskie i teoria zbiorów przybli»onych 4 Zbiory przybli»one Wprowadzenie do teorii zbiorów przybli»onych Zªo»ono± problemu szukania reduktów 5 Wnioskowanie Boolowskie w obliczaniu reduktów
Bardziej szczegółowoZadania z kolokwiów ze Wst pu do Informatyki. Semestr II.
Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II. Poni»sze zadania s wyborem zada«z kolokwiów ze Wst pu do Informatyki jakie przeprowadziªem w ci gu ostatnich lat. Marek Zawadowski Zadanie 1 Napisz
Bardziej szczegółowo2. L(a u) = al( u) dla dowolnych u U i a R. Uwaga 1. Warunki 1., 2. mo»na zast pi jednym warunkiem: L(a u + b v) = al( u) + bl( v)
Przeksztaªcenia liniowe Def 1 Przeksztaªceniem liniowym (homomorzmem liniowym) rzeczywistych przestrzeni liniowych U i V nazywamy dowoln funkcj L : U V speªniaj c warunki: 1 L( u + v) = L( u) + L( v) dla
Bardziej szczegółowoArytmetyka pierwszego rz du
Arytmetyka pierwszego rz du B dziemy bada arytmetyk liczb naturalnych z z perspektywy logiki pierwszego rz du. Sªowo arytmetyka u»ywane jest w odniesieniu do ró»nych teorii dotycz cych liczb naturalnych.
Bardziej szczegółowoZADANIA. Maciej Zakarczemny
ZADANIA Maciej Zakarczemny 2 Spis tre±ci 1 Algebra 5 2 Analiza 7 2.1 Granice iterowane, granica podwójna funkcji dwóch zmiennych....... 7 2.2 Caªki powierzchniowe zorientowane...................... 8 2.2.1
Bardziej szczegółowoc Marcin Sydow Przepªywy Grafy i Zastosowania Podsumowanie 12: Przepªywy w sieciach
12: w sieciach Spis zagadnie«sieci przepªywowe przepªywy w sieciach ±cie»ka powi kszaj ca tw. Forda-Fulkersona Znajdowanie maksymalnego przepªywu Zastosowania przepªywów Sieci przepªywowe Sie przepªywowa
Bardziej szczegółowoFunkcje wielu zmiennych
Funkcje wielu zmiennych Informacje pomocnicze Denicja 1 Niech funkcja f(x, y) b dzie okre±lona przynajmniej na otoczeniu punktu (x 0, y 0 ) Pochodn cz stkow pierwszego rz du funkcji dwóch zmiennych wzgl
Bardziej szczegółowoFunkcje wielu zmiennych
dr Krzysztof yjewski Analiza matematyczna 2; MatematykaS-I 0 lic 21 maja 2018 Funkcje wielu zmiennych Informacje pomocnicze Denicja 1 Niech funkcja f(, y b dzie okre±lona przynajmniej na otoczeniu punktu
Bardziej szczegółowoEGZAMIN MAGISTERSKI, r Matematyka w ekonomii i ubezpieczeniach
EGZAMIN MAGISTERSKI, 12.09.2018r Matematyka w ekonomii i ubezpieczeniach Zadanie 1. (8 punktów) O rozkªadzie pewnego ryzyka S wiemy,»e: E[(S 20) + ] = 8 E[S 10 < S 20] = 13 P (S 20) = 3 4 P (S 10) = 1
Bardziej szczegółowoWst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika 2010. Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
Wst p do informatyki Systemy liczbowe Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 21 pa¹dziernika 2010 Spis tre±ci 1 Liczby i ich systemy 2 Rodzaje systemów liczbowych
Bardziej szczegółowoPrzekroje Dedekinda 1
Przekroje Dedekinda 1 O liczbach wymiernych (tj. zbiorze Q) wiemy,»e: 1. zbiór Q jest uporz dkowany relacj mniejszo±ci < ; 2. zbiór liczb wymiernych jest g sty, tzn.: p, q Q : p < q w : p < w < q 3. 2
Bardziej szczegółowoMacierze i Wyznaczniki
Macierze i Wyznaczniki Kilka wzorów i informacji pomocniczych: Denicja 1. Tablic nast puj cej postaci a 11 a 12... a 1n a 21 a 22... a 2n A =... a m1 a m2... a mn nazywamy macierz o m wierszach i n kolumnach,
Bardziej szczegółowo1 Granice funkcji wielu zmiennych.
AM WNE 008/009. Odpowiedzi do zada«przygotowawczych do czwartego kolokwium. Granice funkcji wielu zmiennych. Zadanie. Zadanie. Pochodne. (a) 0, Granica nie istnieje, (c) Granica nie istnieje, (d) Granica
Bardziej szczegółowoPodstawy logiki i teorii zbiorów wiczenia
Spis tre±ci 1 Zdania logiczne i tautologie 1 2 Zdania logiczne i tautologie c.d. 2 3 Algebra zbiorów 3 4 Ró»nica symetryczna 4 5 Kwantykatory 5 6 Relacje 7 7 Relacje porz dku i równowa»no±ci 8 8 Funkcje
Bardziej szczegółowoSemestr letni 2014/15
Wst p do arytmetyki modularnej zadania 1. Jaki dzie«tygodnia byª 17 stycznia 2003 roku, a jaki b dzie 23 sierpnia 2178 roku? 2. Jaki dzie«tygodnia byª 21 kwietnia 1952 roku? 3. W jaki dzie«odbyªa si bitwa
Bardziej szczegółowoDokªadna arytmetyka liczb rzeczywistych w j zyku Python
Dokªadna arytmetyka liczb rzeczywistych w j zyku Python Marcin Ciura Zakªad Oprogramowania 28 marca 2007 Marcin Ciura (Zakªad Oprogramowania) Dokªadna arytmetyka liczb rzeczywistych 28 marca 2007 1 / 24
Bardziej szczegółowo