KONKURS MATEMATYCZNY KOMA 2018

Podobne dokumenty
iks plus trzy dzielone na dwa iks razy iks plus pięć

RACHUNEK LAMBDA DLA POCZĄTKUJĄCYCH

WYRAŻENIA ALGEBRAICZNE

Elementy Teorii Obliczeń

Zadania z ekonomii matematycznej Teoria produkcji

1 Układy równań liniowych

Zadanie 1. Suma silni (11 pkt)

Podstawy Informatyki dla Nauczyciela

Obliczanie. dr hab. inż. Joanna Józefowska, prof. PP 1

Logika i teoria mnogości Wykład 14

Instrukcje dla zawodników

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

Luty 2001 Algorytmy (7) 2000/2001

Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 2 Teoria liczby rzeczywiste cz.2

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

MODELOWANIE RZECZYWISTOŚCI

Macierze. Rozdział Działania na macierzach

Wstęp do informatyki- wykład 2

Elementy rachunku lambda. dr hab. inż. Joanna Józefowska, prof. PP 1

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

Równania różniczkowe liniowe rzędu pierwszego

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Zamiana ułamków na procenty oraz procentów na ułamki

EGZAMIN MATURALNY Z INFORMATYKI

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Zadanie 2: Arytmetyka symboli

KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

Liczby zespolone. x + 2 = 0.

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

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

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000

Programowanie w języku Python. Grażyna Koba

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

UKŁADY RÓWNAŃ LINIOWYCH

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Wykład I: Kodowanie liczb w systemach binarnych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Wstęp do informatyki- wykład 1

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Arytmetyka. Działania na liczbach, potęga, pierwiastek, logarytm

Paradygmaty programowania

1. Systemy liczbowe. addytywne systemy w których wartośd liczby jest sumą wartości jej znaków cyfrowych.

1 Macierz odwrotna metoda operacji elementarnych

Programowanie liniowe

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

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

Liczby rzeczywiste. Działania w zbiorze liczb rzeczywistych. Robert Malenkowski 1

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

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

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

dr inż. Ryszard Rębowski 1 WPROWADZENIE

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

1 Działania na zbiorach

Zadanie 1. Potęgi (14 pkt)

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Podstawy Informatyki Maszyna Turinga

Programowanie w logice

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Ćwiczenia z wyliczania wartości funkcji

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Kongruencje oraz przykłady ich zastosowań

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Zbiory, relacje i funkcje

Projekt 4: Programowanie w logice

O ALGORYTMACH I MASZYNACH TURINGA

Kod U2 Opracował: Andrzej Nowak

1259 (10) = 1 * * * * 100 = 1 * * * *1

Metoda Karusha-Kuhna-Tuckera

2. Układy równań liniowych

Jeśli wszystkie wartości, jakie może przyjmować zmienna można wypisać w postaci ciągu {x 1, x 2,...}, to mówimy, że jest to zmienna dyskretna.

BOGDAN ZARĘBSKI ZASTOSOWANIE ZASADY ABSTRAKCJI DO KONSTRUKCJI LICZB CAŁKOWITYCH

Logarytmy. Historia. Definicja

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,

Scenariusz lekcji 1. Informacje wst pne: 2. Program nauczania: 3. Temat zaj 4. Integracja: 5. Cele lekcji: Ucze potrafi:

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Teoretyczne podstawy informatyki

Lekcja 8, 9 i 10. Konspekt lekcji Poczta elektroniczna. Materiał z podręcznika: Rozdział 5. Poczta elektroniczna

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

SCENARIUSZ LEKCJI. Dzielenie wielomianów z wykorzystaniem schematu Hornera

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

(4) W zbiorze R R definiujemy działania i wzorami. (a, b) (c, d) =(a + c, b + d),

3. Macierze i Układy Równań Liniowych

3. Wykład Układy równań liniowych.

Początki informatyki teoretycznej. Paweł Cieśla

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

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

SYSTEMY LICZBOWE 275,538 =

5. Rozwiązywanie układów równań liniowych

Twierdzenie Stolza i metryki Javier de Lucas. a n = (2n + 1) 1 4 n 5 4

1 Równania różniczkowe zwyczajne o rozdzielonych zmiennych

Transkrypt:

ELIMINACJE SZKOLNE RACHUNEK LAMBDA NOTATKI Z WYKŁADU - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1) Co to za okazja 2) Co to jest rachunek lambda 3) Jak działa rachunek lambda 4) Identyczność i zamiana liter 5) Definiowanie makrooperacji: TAK, NIE, PARA, ZŁÓŻ 6) Liczebniki Churcha i działania na nich - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ad 1. 70-lecie polskiej informatyki. 23 XII 1948 roku z inicjatywy Kazimierza Kuratowskiego powołano zespół matematyków i inżynierów, którego zadaniem było zbudowanie w naszym kraju maszyny matematycznej prekursora dzisiejszych komputerów. Ad. 2. Co to jest rachunek lambda? W 1936 r. nie było jeszcze komputerów. Ale od XVII w. (Leibniz) istniał tzw. problem decyzji (Entscheidungsproblem): czy istnieje algorytmiczna (mechaniczna) procedura rozstrzygająca o prawdziwości twierdzeń logiki I rzędu. Co miałoby składać się na taka procedurę? W tymże roku Alonzo Church i Alan Turing znaleźli niezależnie sposób sformalizowania algorytmu co doprowadziło do rozwiązania problemu decyzji (negatywnego). Jeden posłużył się abstrakcyjnym modelem komputera (tzw. maszyna Turinga), a drugi rachunkiem lambda. Rachunek lambda to najprostszy język programowania. Wszystkie obiekty i operacje definiuje za pomocą jednego symbolu. Ad. 3. Jak działa rachunek. Idea rachunku lambda opiera się na definiowaniu funkcji wzorem i wyliczaniu jej wartości. Zmienia się tylko symbolika zapisu oraz to, ze argumentami funkcji mogą być nie tylko liczby i litery. Przykładowo funkcję f możemy zdefiniować wzorem: f(x) = (x+3):2 i obliczyć jej wartość dla liczby 5: f(5) = (5+3):2 = 6:2 = 8. W rachunku lambda nie musimy wprowadzać dodatkowych oznaczeń na każdą z funkcji. Funkcję, która bierze argument x i zwraca (x+3):2 zapiszemy jako λx. (x+3):2. Obliczenie wartości funkcji oznaczamy symbolem @ (jednocześnie oznacza to koniec wzoru definiowanej funkcji). Taka konwencja oszczędza pisania nawiasów. Przykłady: λx. (x+3):2 @ 5 = (5+3):2 = 8:2 = 4 λx. x+y @ 3 = 3+y Jeśli f = λx. (x+3):2, to f @ 7 = λx. (x+3):2 @ 7 = (7+3):2 = 10:2 = 5 λx. λy. x+x+y @ 3 @ 4 = λy. 3+3+y @ 4 = 3+3+4 = 10 Wnioski: * Wyliczyć funkcję to znaczy przepisać zwracane wyrażenie, zamieniając w nim za każdym razem literę stojącą przy λ na to, co zostało dane jako argument po znaku @. * Działania upraszczamy zawsze do końca, tak długo jak się da. Wyniki, które nie zawierają zapisów λx. @, ani żadnych niewykonanych działań, tzn. takie, których nie da się już uprościć nazywamy postacią normalną. Funkcje mogą być wyliczane nie tylko na liczbach jako argumentach, ale także na innych funkcjach. Wartościami funkcji także mogą być funkcje. Przykłady. Zapisz w postaci normalnej. λx. x @ x = x λx. (x @ x) @ λy. y = λy. y @ λy. y = λy. y Jeśli jest więcej działań @, podstawienia wykonujemy w kolejności od lewej do prawej, chyba że inną kolejność narzucają nawiasy. Przykłady. Zapisz w postaci normalnej. λx. λz. x @ λx. x @ λx. λy. y = λz. λx. x @ λx. λy. y = λx. x λx. λz. x @ λx. x @ λx. λy. y @ 6= λx. x @ 6 = 6 λx. λy. (y @ x) @ 3 @ λx. x + 4 = λy. (y @ 3) @ λx. x + 4 = λx. x + 4 @ 3 = 3+4 = 7 λx. λy. λz. z @ x @ y = λy. λz. z @ y = λz. z λn. λm. n-m @ 6 @ 1 = λm. 6-m @ 1 = 6-1 = 5

Ad 4. Identyczność i kolizja liter. Zapis λx. x nazywamy identycznością. Zawsze zwraca to samo, co pobiera. λx. x @ 5 = 5, λx. x @ x = x, λx. x @ λx. λy. y = λx. λy. y itd. Identyczność jest jedna, bez względu użyte litery, tzn. λx. x = λy. y = λz. z = Podobnie możemy zapisać funkcję f wzorem f(x) = x 2 +3 lub f(y) = y 2 +3, a to jest ta sama funkcja. Czasem może się zdarzyć taka sytuacja: λx. λy. x @ λy. y @ 5 = λy. λy. y @ 5 =??? Co dalej? Napis λ5. 5 nie ma sensu. Trzeba dokonać zamiany kolidujących liter, bo przecież λy. λy. y to jest to samo, co λy. λz. z. Mamy zatem λy. λy. y @ 5 = λy. λz. z @ 5 = λz. z. Ad 5. Definiowanie makrooperacji. Wiemy już wszystko, co jest potrzebne, aby posługiwać się rachunkiem lambda. Teraz możemy definiować bardziej złożone mikrooperacje (jak w geometrii z podstawowych konstrukcji definiujemy makrokonstrukcje). Poznamy trzy takie mikrooperacje, ale w podobny sposób można zdefiniować liczby, działania na nich, działania logiczne i całą matematykę. TAK i NIE Niech tak := λx. λy. x zaś nie := λx. λy. y. Te działania pozwalają wybrać jedną z dwóch opcji, bowiem: tak @ A @ B = λx. λy. x @ A @ B = λy. A @ B = A nie @ A @ B = λx. λy. y @ A @ B = λy. y @ B = B Przykład: tak @ nie @ tak @ nie @ tak = λx. λy. x @ nie @ tak @ nie @ tak = λy. nie @ tak @ nie @ tak = I sposób: = λy. λx. λy. y @ tak @ nie @ tak = zamiana liter = λy. λx. λz. z @ tak @ nie @ tak = λx. λz. z @ nie @ tak = nie @ nie @ tak = tak II sposób: = zamiana liter w definicji nie = nie @ nie @ tak = tak Ile to jest (tak @ 7 @ 3) + (nie @ 4 @ 2)? = 7 + 2 = 9 PARA Zdefiniujemy operację, które zapamięta dwa elementy i pozwoli wydostać każdy z nich: para := λx. λy. λz. (z @ x @ y) Przykład. Przetestuj, jak to działa. para @ A @ B @ tak = λx. λy. λz. (z @ x @ y) @ A @ B @ tak = λy. λz. (z @ A @ y) @ B @ tak = = λz. (z @ A @ B) @ tak = tak @ A @ B = A para @ A @ B @ nie = λx. λy. λz. (z @ x @ y) @ A @ B @ nie = λy. λz. (z @ A @ y) @ B @ nie = = λz. (z @ A @ B) @ nie = nie @ A @ B = B Oblicz: para @ 3 @ (para @ 5 @ 7) @ nie @ tak =??? I sposób: = λx. λy. λz. (z @ x @ y) @ 3 @ (para @ 5 @ 7) @ nie @ tak = = λy. λz. (z @ 3 @ y) @ (para @ 5 @ 7) @ nie @ tak = λz. (z @ 3 @ (para @ 5 @ 7)) @ nie @ tak = = (nie @ 3 @ (para @ 5 @ 7)) @ tak = (para @ 5 @ 7) @ tak = para @ 5 @ 7 @ tak = = λx. λy. λz. (z @ x @ y) @ 5 @ 7 @ tak = λy. λz. (z @ 5 @ y) @ 7 @ tak = λz. (z @ 5 @ 7) @ tak = = tak @ 5 @ 7 = 5 II sposób: para @ 3 @ (para @ 5 @ 7) @ nie @ tak = (para @ 5 @ 7) @ tak = para @ 5 @ 7 @ tak = 5 ZŁÓŻ W języku rachunku lambda możemy wyrazić także złożenie funkcji. złóż := λg. λf. λx. (g @ (f @ x)) Przykład. Sprawdźmy, że podana definicja faktycznie składa funkcje. złóż @ λy. 2 y @ λz. z+10 @ 3 = λg. λf. λx. (g @ (f @ x)) @ λy. 2 y @ λz. z+10 @ 3 = = λf. λx. (λy. 2 y @ (f @ x)) @ λz. z+10 @ 3 = λx. (λy. 2 y @ (λz. z+10 @ x)) @ 3 = λy. 2 y @ (λz. z+10 @ 3) = = λy. 2 y @ 3+10 = = λy. 2 y @ 13 = 2 13 = 26 złóż @ λx. x+3 @ λx. x+4 = zamiana liter = λg. λf. λx. (g @ (f @ x)) @ λy. y+3 @ λz. z+4 = = λf. λx. (λy. y+3 @ (f @ x)) @ λz. z+4 = λx. (λy. y+3 @ (λz. z+4 @ x)) = λx. (λy. y+3 @ x+4) = λx. x+4+3 = λx. x+7

LICZEBNIKI CHURCHA W rachunku lambda możemy zakodować nie tylko operacje, ale także obiekty matematyczne, np. liczby naturalne. Liczbie n odpowiada funkcja wykonująca n razy funkcję na argumencie. 0 := λf. λx. x 1 := λf. λx. (f @ x) 2 := λf. λx. (f @ (f @ x)) itd. Przykład. Ile to jest 5 przemnożone trzykrotnie przez dwa? 3 @ λx. 2 x @ 5 = λf. λx. (f @ (f @ (f @ x))) @ λx. 2 x @ 5 =. λx. (λx. 2 x @ (λx. 2 x @ (λx. 2 x @ x))) @ 5 = λx. 8 x @ 5 = 40. Na tych nowych liczbach możemy wykonywać działania tak, żeby wyniki zgadzały się ze starą arytmetyką. Dla przykładu zdefiniujemy operacje następnika, dodawania i silni. NASTĘPNIK Dokładamy jeszcze jedno wykonanie funkcji. następnik := λn. λf. λx. (f @ (n @ f @ x)) Przykłady następnik @ 0 = λn. λf. λx. (f @ (n @ f @ x)) @ 0 = λf. λx. (f @ (0 @ f @ x)) = λf. λx. (f @ (λf. λx. x @ f @ x)) = = λf. λx. (f @ (λx. x @ x)) = λf. λx. (f @ x) = 1 następnik @ 2 = λn. λf. λx. (f @ (n @ f @ x)) @ 2 = λf. λx. (f @ (2 @ f @ x)) = λf. λx. (f @ (λf. λx. (f @ (f @ x)) @ f @ x)) = λf. λx. (f @ (λx. (f @ (f @ x)) @ x)) = λf. λx. (f @ (f @ (f @ x))) = 3 DODAJ Liczby Churcha możemy dodawać. dodaj := λn. λm. (m @ następnik @ n) Ustalmy, że zapis n+m oznacza dodaj @ n @ m. Przykład. 2 + 2 = dodaj @ 2 @ 2 = λn. λm. (m @ następnik @ n) @2 @ 2 = λm. (m @ następnik @ 2) @ 2 = 2 @ następnik @ 2 = następnik @ (następnik @ 2) = następnik @ 3 = 4 SILNIA Zakładając, że mamy w rachunku lambda działanie mnożenia, zdefiniujemy i przetestujemy silnię. Niech krok := λp. (para @ ((p @ tak) (p @ nie)) @ ((p @ nie) + 1)), silnia := λn. (n @ krok @ (para @ 1 @ 1) @ tak). silnia @ 0 = 0 @ krok @ (para @ 1 @ 1) @ tak = (para @ 1 @ 1) @ tak = 1 silnia @ 5 = 5 @ krok @ (para @ 1 @ 1) @ tak = 4 @ krok @ (para @ (1 1) @ (1 + 1)) @ tak = = 4 @ krok @ (para @ 1 @ 2) @ tak = 3 @ krok @ (para @ (1 2) @ (2 + 1)) @ tak = = 3 @ krok @ (para @ 2 @ 3) @ tak = 2 @ krok @ (para @ (2 3) @ (3 + 1)) @ tak = = 2 @ krok @ (para @ 6 @ 4) @ tak = 1 @ krok @ (para @ (6 4) @ (4 + 1)) @ tak = = 1 @ krok @ (para @ 24 @ 5) @ tak = (para @ (24 5) @ (5 + 1)) @ tak = = (para @ 120 @ 6) @ tak = 120

UWAGI ORGANIZCYJNE 1. Czas trwania wykładu 45 min. Czas pisania zadań 45 min. Nie trzeba powiedzieć wszystkiego. Nie trzeba rozwiązać wszystkiego. Na ogół do wejścia do finału wystarczy mieć ponad 50% (w klasach młodszych pewnie mniej), więc lepiej mniej, a dobrze. 2. Terminy konkursu szkolnego SP 4-6: 19 XI część zadaniowa, 23 XI odsył wyników, 1 XII finał SP 7-8 i GM 3: 26 XI część zadaniowa, 30 XI odsył wyników, 8 XII finał LO: 3 XII część zadaniowa, 7 XII odsył wyników, 15 XII finał 3. Wykład można zrobić w dniu eliminacji szkolnych lub w piątek poprzedzający dzień eliminacji. 4. W SP wykład dla Młodzików i Juniorów warto zrobić osobno. W przeciwnym razie stracą na tym jedni i drudzy. 5. Wyniki proszę przesłać w pliku xls bez żadnych dodatkowych formatowań (wzór do pobrania ze strony konkursu). 6. W przypadku dużej liczby uczniów i dużego rozrzutu wyników nie trzeba wysyłać wszystkich nazwisk, ale należy podać liczbę uczestników wykładu i części zadaniowej. 7. Prac nie trzeba przesyłać pocztą, ale należy je zachować do czasu ogłoszenia listy finalistów. W przypadku dużych odchyleń wyników z danej szkoły od średniej, możemy poprosić o przesłanie prac. 8. Każdy podpunkt jest oceniany zero-jedynkowo. 9. Finały we wszystkich kategoriach odbywają się w Instytucie Matematycznym UWr, pl. Grunwaldzki 2/4, 50-384 Wrocław (dojazd z dworca PKP i PKS autobusami 145 i 146 w kierunku Sępolna i Biskupina, należy wysiąść na przystanku Most Grunwaldzki), początek o godz. 10:15 w sali HS. Przebieg finału opisano na stronie WWW konkursu. KLUCZ ODPOWIEDZI 1. Alonzo Church 2. 1936 r. (pierwsza opublikowana praca) 3. a) 42 b) 12 c) 5 d) 18 e) 2 f) 21 g) 19 h) 81 i) 25 j) 81 k) 4 4. a) nie (lub λx. λy. y, lub zmienione litery) b) λx. x (lub zmienione litery, lub identyczność) c) nie (lub λx. λy. y, lub zmienione litery) d) nie (lub λx. λy. y, lub zmienione litery) e) λy. λx. x (lub λx. λy. y, lub zmienione litery, lub nie) f) 195 g) 3 5. a) 82 b) 48 c) 23 d) λx. 3 x+11 (lub zmienione litery, lub np. λx. 11+3 x itp.) e) λx. 8 x+5 (lub zmienione litery, lub np. λx. x 8+5 itp.) 6. a) lewa b) prawa c) prawa d) środkowa e) lewa 7. a) 31 b) 6 c) 56 d) 1 e) 16 f) 256 8. a) 3 b) 45 c) 5050

ELIMINACJE SZKOLNE: SENIORZY (LO) szkoła:... imię i nazwisko:... klasa:... Zad. 1. Kto wymyślił rachunek lambda? Zad. 2. W którym roku? Zad. 3. Napisz postać normalną wyrażeń. a) λx. x @ 42 b) λy. y+1 @ 11 c) λn. λm. n+m @ 2 @ 3 d) λn. λm. n+m+m @ 8 @ 5 e) λn. λm. m n @ 4 @ 6 f) λn. λm. λk. (m+n) (n k) @ 4 @ 3 @ 1 g) λn. λm. n m+n+m @ 3 @ 4 h) λn. λm. (m+2) (n+1) @ 8 @ 7 i) λf. (f @ 3) + (f @ 4) @ λn. n n j) λf. (f @ (f @ 3)) @ λn. n n k) λf. (f @ (f @ 3 @ 7) @ 3)) @ λn. λm. (n+m):2 Zad. 4. Uprość zapisy. a) λx. x @ nie b) λx. x @ λy. y @ λz. z @ λx. x c) tak @ tak @ tak @ nie @ tak d) nie @ nie @ nie @ tak @ nie e) tak @ λx. x f) tak @ nie @ tak @ (12 14) @ (13 15) g) tak @ 3 @ (24 13) Zad. 5. Oblicz wyniki działań. a) (tak @ 23 @ 68) + (para @ 59 @ 31 @ tak) b) (tak @ 8 @ 9) (nie @ 7 @ 6) c) złóż @ λx. 2 x+9 @ λx. 3 x+1 @ 2 d) złóż @ λx. x+4 @ λx. 3 x+7 e) złóż @ λx. 2 x+3 @ λx. 4 x+1

Zad. 6. Podkreśl jedną z definicji, która spełnia wymaganą własność. a) pierwszy @ (para @ A @ B) = A pierwszy := λp. (p @ tak) λp. (p @ nie) λp. (nie @ p) b) czyzero @ 0 = tak oraz czyzero @ n = nie, gdy n jest liczbą naturalną różną od zera czyzero := λn. (n @ (λx. tak) @ nie) λn. (n @ nie @ (λx. tak)) λn. (n @ (λx. nie) @ tak) c) zamień @ (para @ A @ B) = para @ B @ A zamień := λp. (nie @ tak @ p) λp. (para@(p@tak)@(p@nie)) λp. (para @ (p@nie) @ (p@tak)) d) zaprzecz @ tak = nie oraz zaprzecz @ nie = tak zaprzecz := λb. (b @ tak @ nie) λb. (b @ nie @ tak) λb. (para @ tak @ nie @ b) e) lub @ nie @ nie = nie oraz lub @ tak @ tak = lub @ tak @ nie = lub @ nie @ tak = tak lub := λa. λb. (a @ tak @ b) λa. λb. (a@(b@tak@tak)@(b@nie@tak)) λa. λb. (a@b@tak) Zad. 7. Oblicz liczebnik Churcha. Wynik zapisz cyframi. a) 8 @ (dodaj @ 3) @ 7 b) złóż @ 3 @ 2 c) złóż @ 7 @ 8 d) 1 @ 1 e) 2 @ 2 @ 2 f) 8 @ 2 Zad. 8. Niech A := λn. (n @ (λp. (para @ (p @ dodaj) @ ((p @ nie) + 1))) @ (para @ 0 @ 1) @ tak). Oblicz. a) A @ 2 b) A @ 9 c) A @ 100