Problem sprawdzania typu dla logiki pierwszego rzędu

Wielkość: px
Rozpocząć pokaz od strony:

Download "Problem sprawdzania typu dla logiki pierwszego rzędu"

Transkrypt

1 Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Agnieszka Kozubek Nr albumu: Problem sprawdzania typu dla logiki pierwszego rzędu Praca magisterska na kierunku INFORMATYKA Praca wykonana pod kierunkiem prof. dra hab. Pawła Urzyczyna Instytut Informatyki Maj 2006

2 Oświadczenie kierującego pracą Potwierdzam, że niniejsza praca została przygotowana pod moim kierunkiem i kwalifikuje się do przedstawienia jej w postępowaniu o nadanie tytułu zawodowego. Data Podpis kierującego pracą Oświadczenie autora (autorów) pracy Świadom odpowiedzialności prawnej oświadczam, że niniejsza praca dyplomowa została napisana przeze mnie samodzielnie i nie zawiera treści uzyskanych w sposób niezgodny z obowiązującymi przepisami. Oświadczam również, że przedstawiona praca nie była wcześniej przedmiotem procedur związanych z uzyskaniem tytułu zawodowego w wyższej uczelni. Oświadczam ponadto, że niniejsza wersja pracy jest identyczna z załączoną wersją elektroniczną. Data Podpis autora (autorów) pracy

3 Streszczenie W literaturze rozważa się różne systemy typów dla rachunku lambda, będące zazwyczaj rozszerzeniami systemu typów prostych. W tej pracy rozważamy rozszerzenie prowadzące do logiki pierwszego rzędu. Badamy problem sprawdzania typu dla systemu zawierającego tylko implikację i kwantyfikator ogólny. Dowodzimy rozstrzygalności tego problemu dla sygnatury bez symboli funkcyjnych o arności większej od zera oraz szacujemy złożoność podanego algorytmu. Słowa kluczowe sprawdzanie typu, logika pierwszego rzędu, polimorfizm, rachunek lambda 11.3 Informatyka Dziedzina pracy (kody wg programu Socrates-Erasmus) Klasyfikacja tematyczna F. Theory of Computation F.4 Mathematical Logic and Formal Languages F.4.1 Mathematical Logic Lambda calculus and related systems Type checking for first order logic Tytuł pracy w języku angielskim

4

5 Mojej Mamie, której nie było dane zobaczyć tej pracy i mojemu Tacie, który zawsze jest dla mnie oparciem

6

7 Spis treści Wprowadzenie Podstawowe definicje i notacja Notacja Grafy Lambda termy Typy Typy proste Typy pierwszego rzędu Podstawienia Podstawienia algebraiczne Podstawienia typowe Środowisko Wyprowadzenia Problem sprawdzania typu System typów prostych a system typów pierwszego rzędu Wyprowadzenia typu INST-before-GEN Kwantyfikatory niewiążące Dowód rozstrzygalności Złożoność algorytmu Niezależność od sygnatury Bibliografia

8

9 Wprowadzenie W literaturze rozważa się różne systemy typów dla rachunku lambda. Podstawowym systemem jest tu rachunek lambda z typami prostymi. Inne systemy typów zazwyczaj są rozszerzeniami systemu typów prostych. Rachunek typów prostych pozostaje w bliskim związku z intuicjonistycznym rachunkiem zdań. Naturalne jest zatem badanie takich systemów typów, które prowadzą do różnych rozszerzeń rachunku zdań. Na przykład bardzo ważny system typów, system F, to rachunek zdań drugiego rzędu. W tej pracy zajmiemy się innym rozszerzeniem rachunku zdań, logiką pierwszego rzędu. Będziemy badać implikacyjny fragment logiki pierwszego rzędu. System podobny do badanego w tej pracy jest rozważany przez Sørensena i Urzyczyna w [5]. Wprowadzony tam system λp 1 jest sformułowany w stylu Churcha. Lambda termy nie są termami czystego rachunku lambda, lecz przechowują pewną informację o typie termu. Ponadto Sørensen i Urzyczyn rozważają system dla pełnostrukturalnej logiki pierwszego rzędu, ze wszystkimi spójnikami logicznymi i stałą. W tej pracy zajmiemy się systemem ograniczonym do fragmentu zawierającego tylko implikację i kwantyfikator ogólny. Badany system jest systemem w stylu Curry ego. Lambda termy są termami czystego rachunku lambda, informacja o typie termu nie jest przechowywana w termie, lecz jest od niego oddzielona. Warto zauważyć, że system w stylu Curry ego dla logiki pierwszego można zdefiniować inaczej, tak jak robi to Schubert w [4]. W tym systemie zachowujemy w lambda termie informację o operacjach pierwszego rzędu: wprowadzeniu lub usunięciu kwantyfikatora oraz użytym podstawieniu, usuwamy tylko informację o typie zmiennej związanej. Jest to rozwiązanie pośrednie między systemem rozważanym w tej pracy i systemem w stylu Churcha. W każdym systemie typów dla rachunku lambda można postawić następujące pytania: Dany term rachunku lambda M, czy istnieją środowisko Γ i typ τ takie, że Γ M : τ jest wyprowadzalne? Dany term rachunku lambda M, typ τ i środowisko Γ, czy Γ M : τ jest wyprowadzalne? Pierwszy problem nazywa się problemem typowalności, a drugi problemem sprawdzania typu. Dla różnych systemów typów problemy te mają różną trudność. W systemie typów prostych ([3], [5]) oba problemy są rozstrzygalne. Wells w [7] pokazał, że w systemie F typowalność i sprawdzanie typu są nierozstrzygalne. Dla logiki pierwszego rzędu problem typowalności jest rozstrzygalny. Schubert w [4] udowodnił, że dla rozważanej przez niego wersji pokrewny problem wyprowadzania typu jest rozstrzygalny. W tej pracy badamy problem sprawdzania typu dla logiki pierwszego rzędu. Głównym rezultatem pracy jest stwierdzenie, że problem sprawdzania typu dla systemu bez wieloargumentowych symboli funkcyjnych jest rozstrzygalny. Dowodzimy, że jeżeli istnieje jakieś rozwiązanie, to można również znaleźć rozwiązanie w pewnej skończonej klasie wyprowadzeń. Zatem aby stwierdzić, czy dana asercja jest wyprowadzalna, wystarczy sprawdzić 7

10 skończoną liczbę możliwości. Ponadto podajemy ograniczenie górne na liczbę przypadków, które trzeba sprawdzić i szacujemy złożoność podanego algorytmu. Pozostaje do zbadania problem sprawdzania typu dla systemu z sygnaturą dopuszczającą wieloargumentowe symbole funkcyjne. W rozdziale pierwszym przedstawiam definicje podstawowych pojęć, wprowadzam oznaczenia oraz formułuję w sposób formalny problem, którym będziemy się zajmować. Rozdział drugi zawiera dowód, że problem sprawdzania typu dla systemu z sygnaturą bez wieloargumentowych symboli funkcyjnych jest rozstrzygalny oraz oszacowanie złożoności podanego algorytmu. 8

11 Rozdział 1 Podstawowe definicje i notacja 1.1. Notacja Przez N będę oznaczać zbiór liczb naturalnych. Niech Σ będzie dowolnym zbiorem. Przez Σ będę oznaczać zbiór słów skończonych nad alfabetem Σ. Jeżeli a i b są dwoma słowami nad tym samym alfabetem, to a b oznacza konkatenację słów a i b. Zamiast a b będę często pisać ab. Niech L, P będą zbiorami słów nad tym samym alfabetem Σ. Wtedy L P = {v w v L w P }. Jeżeli L = {v}, to zamiast {v} P będę pisać v P. Przez f : A B będę oznaczać funkcję częściową f ze zbioru A do zbioru B Grafy Będę rozważać skończone grafy nieskierowane o etykietowanych krawędziach. Jak zwykle, graf to para (V, E), gdzie V jest zbiorem wierzchołków, E jest zbiorem krawędzi. Zbiór wierzchołków grafu G będę oznaczać V (G), zbiór krawędzi będę oznaczać E(G). Przez (x l y) będę oznaczać krawędź o etykiecie l łączącą wierzchołki x i y. Sumą rozłączną indeksowanej rodziny grafów (G i ) i I będę nazywać graf G = (V, E) taki, że: V = i I jeśli (a ({i} V i ), l l b) E i, to ((i, a) (i, b)) E Lambda termy Lambda termy definiujemy jak zazwyczaj, przyjmując zwykłe konwencje dotyczące ich zapisu za Barendregtem [1]. Zbiór zmiennych termowych będę oznaczać przez V, zbiór lambda termów będę oznaczać przez Λ. Lambda termy będę oznaczać dużymi literami M, N, L, zmienne termowe będę oznaczać literami x, y, z, u, v, itp. Symbol F V (M) oznacza zbiór zmiennych wolnych termu M, BV (M) oznacza zbiór zmiennych związanych termu M. Zakładam, że każda zmienna związana termu M jest w nim związana co najwyżej jeden raz (tak dobieram reprezentanta, aby nie było problemu z alfa-konwersją). Zbiór wszystkich zmiennych termu M będę oznaczać przez V (M). 9

12 Zbiór wszystkich podtermów lambda termu M będę oznaczać przez SubT (M): M SubT (M), jeśli N 1 N 2 SubT (M), to N 1 SubT (M) i N 2 SubT (M), jeśli λx.n SubT (M), to x SubT (M) i N SubT (M). Zauważmy, że nie utożsamiamy alfa-równoważnych podtermów. Na przykład mamy SubT ((λx.x)(λy.y)) = {x, y, λx.x, λy.y, (λx.x)(λy.y)}, ale jednocześnie SubT ((xy)(xy)) = {x, y, xy, (xy)(xy)}. Podkreślmy, że w drugim przykładzie x, y i xy występują w zbiorze SubT tylko jeden raz Typy Typy będę oznaczać literami τ, σ, w razie potrzeby dodając indeksy Typy proste Mamy dany zbiór zmiennych typowych T V. Zbiór typów prostych to najmniejszy zbiór ST ypes taki, że: jeśli p T V, to p ST ypes, jeśli τ, σ ST ypes, to (τ σ) ST ypes. Zapisując typy proste opuszczamy zewnętrzne nawiasy. Przyjmujemy konwencję, że spójnik wiąże w prawo, to znaczy τ 1 τ 2 τ 3 = (τ 1 (τ 2 τ 3 )). Dla danego typu prostego τ definiuję zbiór ścieżek P aths(τ) w następujący sposób: P aths(p) = {ɛ}, jeśli p jest zmienną typową, P aths(σ 1 σ 2 ) = {ɛ} 1 P aths(σ 1 ) 2 P aths(σ 2 ). Elementy zbioru P aths(τ) będę nazywać pozycjami. Pozycje będę oznaczać literą ρ, być może uzupełnioną o indeks. Będę mówić, że na pozycji ρ w typie τ występuje zmienna typowa p, jeżeli: ρ = ɛ i τ = p, ρ = 1ρ 1, τ = τ 1 τ 2 i p występuje na pozycji ρ 1 w typie τ 1, ρ = 2ρ 1, τ = τ 1 τ 2 i p występuje na pozycji ρ 1 w typie τ Typy pierwszego rzędu Niech Σ oznacza sygnaturę, czyli zbiór symboli relacyjnych i funkcyjnych o określonej arności. Symbole relacyjne będę oznaczać literami P, Q, R; symbole funkcyjne będę oznaczać literami f, g, h. Niech V ar oznacza pewien ustalony zbiór zmiennych algebraicznych. Zmienne algebraiczne będę oznaczać literami α, β, γ. Zbiór termów algebraicznych o zmiennych V ar nad sygnaturą Σ będę oznaczać T (V ar, Σ): jeśli α V ar, to α T (V ar, Σ), 10

13 jeśli f Σ jest n-argumentowym symbolem funkcyjnym, t 1,..., t n T (V ar, Σ), to f(t 1,..., t n ) T (V ar, Σ). Termy algebraiczne będę oznaczać literami t, s. Zbiór typów pierwszego rzędu nad ustaloną sygnaturą Σ i ustalonym zbiorem zmiennych V ar będę oznaczać przez T ypes V ar,σ : jeśli P Σ jest n-argumentowym symbolem relacyjnym, t 1,..., t n T (V ar, Σ), to P (t 1,..., t n ) T ypes V ar,σ, jeśli τ, σ T ypes V ar,σ, to (τ σ) T ypes V ar,σ, jeśli τ T ypes V ar,σ, α V ar, to α.τ T ypes V ar,σ. Podobnie jak dla typów prostych, opuszczamy zewnętrzne nawiasy i przyjmujemy konwencję, że spójnik wiąże w prawo. Symbol F V ar(τ) oznacza algebraiczne zmienne wolne typu τ, BV ar(τ) oznacza zbiór algebraicznych zmiennych związanych typu τ. Będziemy używać takich typów, w których każda zmienna jest związana co najwyżej jeden raz. Przez V ar(τ) będę oznaczać zbiór zmiennych algebraicznych typu τ. Analogicznie F V ar(t) oznacza zbiór zmiennych algebraicznych występujących w termie t. Podobnie jak dla typów prostych, dla typów pierwszego rzędu definiujemy zbiór ścieżek P aths(τ): P aths(p (t 1,..., t n )) = {ɛ}, jeśli P jest n-argumentowym symbolem relacyjnym, a t 1,..., t n są termami, P aths(σ 1 σ 2 ) = {ɛ} 1 P aths(σ 1 ) 2 P aths(σ 2 ), P aths( α.τ) = P aths(τ). Arnością formuły (typu pierwszego rzędu) τ będę nazywać liczbę N τ taką, że jeśli τ = P (t 1,..., t n ), to N τ = n, jeśli τ = τ 1 τ 2, to N τ = N τ1 + N τ2, jeśli τ = α.τ 1, to N τ = N τ1. Jeżeli α F V ar(τ), to kwantyfikator α występujący w formule α.τ nazwiemy kwantyfikatorem niewiążącym Podstawienia Będziemy mieć do czynienia z dwoma rodzajami podstawień: 1. podstawienia algebraiczne, tj. funkcje ze zbioru V ar w zbiór T (V ar, Σ), 2. podstawienia typowe, tj. funkcje ze zbioru T V w zbiór ST ypes. W zależności od kontekstu będzie jasne, o jakim podstawieniu mowa. Podstawienia będę oznaczać literami S, R, ewentualnie z indeksami. 11

14 Podstawienia algebraiczne Podstawienia algebraiczne rozszerzają się w oczywisty sposób na zbiór wszystkich typów pierwszego rzędu. Dziedziną podstawienia nazywamy zbiór tych zmiennych, dla których podstawienie nie jest identycznością. Dziedzinę podstawienia S oznaczamy przez Dom(S). Przez Ran(S) będziemy oznaczać zbiór α Dom(α) F V ar(s(α)). Niech α będzie zmienną algebraiczną i niech t będzie termem. Przez S t α będziemy oznaczać podstawienie takie, że S t α(α) = t oraz S t α(β) = S(β) dla β α. Przez [α := t] będę oznaczać podstawienie, które zmiennej α przypisuje term t, a na pozostałych zmiennych jest identycznością Podstawienia typowe Podstawienia typowe w oczywisty sposób rozszerzają się na zbiór wszystkich typów prostych. Dziedziną podstawienia nazywamy zbiór tych zmiennych, dla których podstawienie nie jest identycznością. Dziedzinę podstawienia S oznaczamy przez Dom(S) Środowisko Środowisko to funkcja częściowa o skończonej dziedzinie ze zmiennych termowych V w zbiór typów. W zależności od kontekstu będzie jasne, czy jest to funkcja w typy proste czy typy pierwszego rzędu. Środowiska będziemy oznaczać literami Γ,. Dziedzinę środowiska będziemy oznaczać przez Dom(Γ). Przez F V ar(γ) będziemy oznaczać zbiór x Dom(Γ) F V ar(γ(x)). Analogicznie definiujemy zbiór BV ar(γ). Zakładamy, że wszystkie zmienne związane występujące w formułach w danym środowisku Γ są różne. Ponadto V ar(γ) = F V ar(γ) BV ar(γ). Jeśli S jest podstawieniem algebraicznym, to przez S(Γ) będziemy oznaczać środowisko takie, że: Dom(S(Γ)) = Dom(Γ), (S(Γ))(x) = S(Γ(x)) dla każdego x Dom(Γ) Wyprowadzenia Wyrażenie Γ M : τ, gdzie Γ jest środowiskiem, M jest lambda termem, a τ jest typem będę nazywać sekwentem. Sekwenty będę oznaczać literą S. Typ τ występujący w sekwencie S = Γ M : τ będę nazywać głównym typem tego sekwentu i będę oznaczać T ype(s). Wyprowadzenie składa się z sekwentu S, zera lub większej liczby podwyprowadzeń D 1,..., D n oraz reguły r takiej, że S jest zastosowaniem reguły r do konkluzji wyprowadzeń D 1,..., D n. Piszemy wówczas 1,..., D n D r. Wyprowadzenia będę oznaczać literą D. S Sekwent S w wyprowadzeniu D = D 1,..., D n r będę oznaczać FS D i będę nazywać konkluzją wyprowadzenia D. S Rozważamy system, w którym termom przypisujemy typy pierwszego rzędu, a reguły przypisywania typów są jak na rysunku 1.1. System ten będziemy nazywać systemem typów pierwszego rzędu lub systemem pierwszego rzędu. Wyprowadzenia w tym systemie będziemy często nazywać wyprowadzeniami pierwszego rzędu. System typów prostych to system, w którym występują tylko typy proste oraz jedynymi regułami są (Ax), (App) i (Abs). 12

15 (Ax) Γ, x : τ x : τ Γ, x : τ M : σ (Abs) (App) Γ M : τ σ Γ N : τ Γ λx.m : τ σ Γ MN : σ (Gen) Γ M : σ Γ M : α.σ α F V ar(γ) Γ M : α.σ (Inst) Γ M : σ[α := t] Rysunek 1.1: Reguły przypisywania typów w systemie typów pierwszego rzędu Niech D będzie wyprowadzeniem pierwszego rzędu, D = D 1,..., D n Γ M : τ zmiennych związanych wyprowadzenia D jako BV ar(d) = BV ar(τ) x Dom(Γ) BV ar(γ(x)) BV ar(d i ). i n r. Definiujemy zbiór Analogicznie definiujemy zbiór zmiennych wolnych F V ar(d) oraz zbiór wszystkich zmiennych V ar(d). Niech D będzie poprawnym wyprowadzeniem o konkluzji Γ M : τ. Niech x będzie zmienną termu M. Przez IDT D (x) będę oznaczać typ przypisany w wyprowadzeniu D zmiennej x za pomocą reguły (Ax). To jest dobrze zdefiniowane pojęcie, bo dla zmiennej wolnej IDT D (x) = Γ(x). Ponadto każda zmienna związana x jest związana w M dokładnie jeden raz, więc IDT D (x) = (x), gdzie jest środowiskiem pojawiającym się w D takim, że x Dom( ). Definicja Problem sprawdzania typu, to następujący problem: mając dany term M, typ τ i środowisko Γ rozstrzygnąć, czy istnieje poprawne wyprowadzenie, w którym konkluzją jest Γ M : τ. Warunkiem brzegowym dla problemu sprawdzania typu, będę nazywać sekwent Γ M : τ. 13

16

17 Rozdział 2 Problem sprawdzania typu Celem tej pracy jest zbadanie, czy problem sprawdzania typu dla systemu typów pierwszego rzędu jest rozstrzygalny. Chcemy stwierdzić, czy istnieje procedura, która mając dany term M, typ pierwszego rzędu τ i środowisko Γ odpowiada, czy Γ M : τ jest wyprowadzalne. Zakładamy ponadto, że w wyprowadzeniu można używać tylko tych symboli funkcyjnych i relacyjnych, które występują w warunku brzegowym. Zobaczmy następujący przykład. Przykład Niech Γ oznacza y : α β.p (α, β), x : γp (γ, f(γ)) Q. Mamy następujące wyprowadzenie. Γ y : α β.p (α, β) Γ y : β.p (δ, β) Γ y : P (δ, f(δ)) Γ x : γp (γ, f(γ)) Q Γ y : δ.p (δ, f(δ)) Γ xy : Q y : α β.p (α, β) λx.xy : ( γp (γ, f(γ)) Q) Q Jak widać reguły (Gen) i (Inst) były potrzebne, by wyprowadzić konkluzję. Jest jasne, że nie można skonstruować wyprowadzenia o konkluzji y : α β.p (α, β) λx.xy : ( γp (γ, f(γ)) Q) Q, w którym nie występują reguły (Gen) oraz (Inst). Dowiedziemy, że problem sprawdzania typu dla systemu typów pierwszego rzędu w pewnej ograniczonej wersji jest rozstrzygalny System typów prostych a system typów pierwszego rzędu System typów pierwszego rzędu jest rozszerzeniem systemu typów prostych. Naturalne jest zatem badanie związków pomiędzy tymi systemami. Zajmiemy się teraz tym zagadnieniem. Jak się okaże, na wyprowadzenie pierwszego rzędu można patrzeć jak na wyprowadzenie w typach prostych wzbogacone o pewne nowe elementy. Na początek zdefiniujemy translację z systemu typów pierwszego rzędu do systemu typów prostych. W tym celu będzie potrzebnych kilka dodatkowych konstrukcji. Definiujemy operator ST : T ypes ST ypes w następujący sposób: 15

18 ST (P (t 1,..., t n )) = P, ST (σ τ) = ST (σ) ST (τ), ST ( α.τ) = ST (τ). Możemy rozszerzyć działanie operatora ST na środowiska. Dla danego Γ, ST (Γ) to środowisko takie, że: Dom(ST (Γ)) = Dom(Γ), (ST (Γ))(x) = ST (Γ(x)) dla x Dom(Γ). Następnie rozszerzamy operację ST na wszystkie sekwenty wyprowadzenia w następujący sposób: ST (Γ M : τ) = ST (Γ) M : ST (τ). Definicja ST (D) będzie oznaczać wyprowadzenie, które powstaje przez zaaplikowanie operacji ST do każdego sekwentu wyprowadzenia D oraz usunięcie fragmentów postaci S S. Lemat Jeżeli D jest poprawnym wyprowadzeniem w logice pierwszego rzędu, to ST (D) jest poprawnym wyprowadzeniem w typach prostych. Dowód. Łatwa indukcja ze względu na rozmiary wyprowadzenia D. Otrzymujemy następujący wniosek. Wniosek Jeżeli Γ M : τ w typach pierwszego rzędu, to ST (Γ) M : ST (τ) w typach prostych. Zatem warunkiem koniecznym na to, żeby zachodziło Γ M : τ w typach pierwszego rzędu jest ST (Γ) M : ST (τ) w typach prostych. Ujmując to nieco inaczej, na wyprowadzenie pierwszego rzędu można patrzeć jak na pewne udekorowanie wyprowadzenia w typach prostych. Aby otrzymać poprawne wyprowadzenie pierwszego rzędu o konkluzji Γ M : τ, należy wzbogacić wyprowadzenie o konkluzji ST (Γ M : τ) poprzez dodanie w niektórych miejscach reguł (Inst) lub (Gen) oraz odpowiednie dopisanie kwantyfikatorów i termów algebraicznych w typach w tym wyprowadzeniu. Zauważmy, że nie zawsze jest to możliwe. Przykład Sekwent S 1 = x : (p q) r, y : p q xy : r jest wyprowadzalny w typach prostych. Mamy bowiem następujące wyprowadzenie. x : (p q) r, y : p q x : (p q) r x : (p q) r, y : p q y : p q x : (p q) r, y : p q xy : r Weźmy sekwent S 2 = x : (P (β) α.q(α, β)) R, y : P (β) γ.q(β, γ) xy : R. Zauważmy, że ST (S 2 ) = S 1, ale S 2 nie jest wyprowadzalny w logice pierwszego rzędu. Gdyby dało się go wyprowadzić, to ostatnią regułą musiałaby być reguła (App). To oznacza, że trzeba by uzgodnić formuły P (β) α.q(α, β) i P (β) γ.q(β, γ), to zaś jest niemożliwe. W dalszej części pracy zajmiemy się dokładniejszym zbadaniem, w jaki sposób można wzbogacać strukturę wyprowadzenia w typach prostych i otrzymać poprawne wyprowadzenie pierwszego rzędu. Wiadomo (np. [3], [5]), że dla każdego termu M typowalnego w typach prostych istnieje typ główny τ M i wyprowadzenie główne D M. Wyprowadzenie główne i typ główny są wyznaczone jednoznacznie z dokładnością do wyboru nazw zmiennych typowych. 16

19 Definicja Zmienne typowe, które występują w konkluzji wyprowadzenia D M będę nazywać starymi zmiennymi wyprowadzenia D. Pozostałe zmienne typowe pojawiające się w wyprowadzeniu D będę nazywać nowymi zmiennymi wyprowadzenia D. Wiadomo, że każde wyprowadzenie w typach prostych jest instancją wyprowadzenia głównego. W szczególności, jeżeli D jest wyprowadzeniem pierwszego rzędu o konkluzji Γ M : τ, to ST (D) jest instancją wyprowadzenia D M. Istnieje podstawienie typowe R takie, że wyprowadzenie ST (D) jest rezultatem aplikacji R do wyprowadzenia głównego D M. Mając dany warunek brzegowy Γ M : τ i wyprowadzenie główne D M, możemy częściowo odtworzyć podstawienie R. Porównując Γ M : τ i FS DM, zobaczymy jak jest zdefiniowane R na starych zmiennych typowych D M. Nie wiadomo jednak nic o tym, jakie wartości przyjmuje R na nowych zmiennych typowych. Okazuje się jednak, że możemy przyjąć pewne założenia co do ich postaci. Definicja Wyprowadzenie E o konkluzji Γ M : τ w typach prostych nazwiemy prostym, jeżeli jest ono wynikiem aplikacji do D M podstawienia typowego R takiego, że dla każdej nowej zmiennej typowej q formuła R(q) jest zmienną typową. Pokażemy, że można założyć, iż wyprowadzenie ST (D) jest wyprowadzeniem prostym. Jak już zostało powiedziane, ST (D) jest pewną instancją wyprowadzenia głównego. Jest jasne, że każdemu sekwentowi wyprowadzenia ST (D) odpowiada pewien sekwent wyprowadzenia głównego D M. Jednakże również każdemu sekwentowi S wyprowadzenia D odpowiada pewien sekwent w wyprowadzeniu głównym D M. Ten odpowiadający S sekwent w wyprowadzeniu głównym nazwiemy wzorcem dla S. Następująca definicja formalizuje pojęcie wzorca: Definicja Dla każdego sekwentu S wyprowadzenia D definiujemy wzorzec P D (S): P D (FS D ) = FS DM. Jeśli S jest konkluzją reguły (Abs) postaci Ŝ 1 Ŝ. Wtedy P D(S 1 ) := Ŝ1. S 1 S i P D(S) = Ŝ, to Ŝ jest konkluzją reguły (Abs) Jeśli S jest konkluzją reguły (App) reguły (Abs) postaci Ŝ 1 Ŝ Ŝ2 S 1 S 2 S i P D (S) =. Wtedy P D (S 1 ) := Ŝ1 i P D (S 2 ) := Ŝ2. Ŝ, to Ŝ jest konkluzją Jeśli S jest konkluzją reguły (Gen) S 1 S i P D (S) = Ŝ, to P D(S 1 ) := Ŝ. Jeśli S jest konkluzją reguły (Inst) i P D (S) = S Ŝ, to P D(S 1 ) := Ŝ. Łatwo można zrobić następującą obserwację. Uwaga Dla każdej instancji reguły (Gen) lub (Inst): S 1 S 1 S 2 zachodzi P D (S 1 ) = P D (S 2 ). Pokazujemy, że można założyć, że wyprowadzenie ST (D) jest proste. Niech Q będzie dowolnym ustalonym zeroargumentowym symbolem relacyjnym. Niech M będzie lambda termem. Intensjonalne znaczenie poniższej operacji jest takie: dana jest formuła σ oraz odpowiadający jej wzorzec (formuła rachunku zdań) τ, Clear M (σ, τ) to taka formuła, w której starym zmiennym typowym odpowiadają te same formuły, co w σ, a nowym zmiennym typowym ustalona formuła Q. Definiujemy operację Clear M : T ypes ST ypes T ypes: 17

20 Clear M (σ, p) = σ, jeśli p jest starą zmienną typową wyprowadzenia D M, Clear M (σ, q) = Q, jeśli q jest nową zmienną typową wyprowadzenia D M, Clear M ( α.σ, τ) = α.clear M (σ, τ), jeśli τ nie jest zmienną typową, Clear M (σ 1 σ 2, τ 1 τ 2 ) = Clear M (σ 1, τ 1 ) Clear M (σ 2, τ 2 ). Lemat Dla dowolnego typu σ T ypes i σ ST ypes takiego, że Clear M (σ, σ) jest określone, zachodzi Clear M (σ[α := t], σ) = Clear M (σ, σ)[α := t]. Dowód. Indukcja ze względu na definicję operacji Clear M. Clear M (σ[α := t], p) = σ[α := t] = Clear M (σ, p)[α := t], jeśli p jest starą zmienną typową wyprowadzenia D M. Clear M (σ[α := t], q) = Q = Q[α := t] = Clear M (σ, q)[α := t], jeśli q jest nową zmienną typową wyprowadzenia D M. Jeśli β α, to Clear M (( β.σ)[α := t], τ) = Clear M ( β.(σ[α := t]), τ) = = β.clear M (σ[α := t], τ) = β.clear M (σ, τ)[α := t] = ( β.clear M (σ, τ))[α := t]. Jeśli β = α, to Clear M (( β.σ)[α := t], τ) = Clear M ( β.σ, τ) = β.clear M (σ, τ) = = ( β.clear M (σ, τ))[α := t]. Clear M ((σ 1 σ 2 )[α := t], τ 1 τ 2 ) = Clear M (σ 1 [α := t] σ 2 [α := t], τ 1 τ 2 ) = Clear M (σ 1 [α := t], τ 1 ) Clear M (σ 2 [α := t], τ 2 ) = Clear M (σ 1, τ 1 )[α := t] Clear M (σ 2, τ 2 )[α := t] = (Clear M (σ 1, τ 1 ) Clear M (σ 2, τ 2 ))[α := t]. Niech D będzie wyprowadzeniem pierwszego rzędu o konkluzji Γ M : τ. Używając operacji Clear M skonstruujemy nowe wyprowadzenie pierwszego rzędu o konkluzji Γ M : τ. Najpierw definiujemy środowisko [Γ]: Dom([Γ]) = Dom(Γ), [Γ](x) = Clear M (Γ(x), IDT DM (x)). Następnie definiujemy działanie operacji [. ] na sekwentach wyprowadzenia D. Dla każdego sekwentu S postaci Γ N : σ określamy [S] = [Γ] N : Clear M (σ, T ype(p D (S))). Definicja Wyprowadzenie [D] jest wyprowadzeniem, które powstaje z wyprowadzenia D poprzez zastosowanie operacji [. ] do każdego jego sekwentu oraz usunięcie podwyprowadzeń postaci S S. Lemat Niech D będzie wyprowadzeniem w typach pierwszego rzędu o konkluzji Γ M : τ. Wtedy [D] jest poprawnym wyprowadzeniem pierwszego rzędu o konkluzji Γ M : τ. Dowód. Z konstrukcji jest jasne, że FS [D] = FS D. Pokażemy, że zastosowanie operacji [. ] do kolejnych sekwentów wyprowadzenia D prowadzi albo do poprawnego użycia jednej z reguł, albo do podwyprowadzenia S S. Sprawdzamy kolejne przypadki: 18

21 Sekwent S w D jest zastosowaniem reguły (Ax) postaci Γ, x : τ x : τ. Niech P D (S) =, x : τ x : τ. Wtedy IDT DM = τ. Czyli (x) [S] = [Γ], x : Clear M (τ, τ) x : Clear M (τ, τ), a więc [S] jest poprawnym zastosowaniem reguły (Ax). Zastosowano regułę (App) postaci S 1 S 2 S, gdzie S 1 = Γ N : σ 1 σ 2, S 2 = Γ L : σ 1, S = Γ NL : σ 2. Niech P D (S 2 ) = L : σ 1, P D (S) = NL : σ 2. Wtedy P D (S 1 ) musi być postaci N : σ 1 σ 2, bo D M jest poprawnym wyprowadzeniem. Wówczas jednak [S 1 ] = [Γ] N : Clear M (σ 1 σ 2, σ 1 σ 2 ), [S 2 ] = [Γ] L : Clear M (σ 1, σ 1 ), [S] = [Γ] NL : Clear M (σ 2, σ 2 ). Ale Clear M (σ 1 σ 2, σ 1 σ 2 ) = Clear M (σ 1, σ 1 ) Clear M (σ 2, σ 2 ) i jest dobrze. Zastosowano regułę (Abs) postaci S 1 S 2, gdzie S 1 = Γ, x : σ 1 N : σ 2, S 2 = Γ λx.n : σ 1 σ 2. Wówczas P D (S 1 ) =, x : σ 1 N : σ 2, P D (S 2 ) = λx.n : σ 1 σ 2. Wtedy [S 1 ] = [Γ], x : Clear M (σ 1, σ 1 ) N : Clear M (σ 2, σ 2 ), [S 2 ] = [Γ] λx.m : Clear M (σ 1 σ 2, σ 1 σ 2 ). Jednak Clear M (σ 1 σ 2, σ 1 σ 2 ) = Clear M (σ 1, σ 1 ) Clear M (σ 2, σ 2 ), czyli jest dobrze. S Zastosowano regułę (Gen) postaci 1 S, gdzie S 1 = Γ N : σ, S = Γ N : α.σ. Wtedy zachodzi: P D (S 1 ) = P D (S) = N : σ. Wówczas [S 1 ] = [Γ] N : Clear M (σ, σ), [S] = [Γ] N : Clear M ( α.σ, σ). Jeśli σ jest nową zmienną typową, to Clear M (σ, σ) = Clear M ( α.σ, σ) = Q, czyli [S] = [S 1 ]. Otrzymujemy dwa takie same sekwenty. Jeżeli σ nie jest nową zmienną typową, to Clear M ( α.σ, σ) = α.clear M (σ, σ). Oczywiście skoro α F V ar(γ), to α F V ar([γ]), czyli mamy poprawne użycie reguły (Gen). 19

22 Zastosowano regułę (Inst) postaci S 1 S, gdzie S 1 = Γ N : α.σ, S = Γ N : σ[α := t]. Wtedy P D (S 1 ) = P D (S) = N : σ. Wówczas [S 1 ] = [Γ] N : Clear M ( α.σ, σ), [S] = [Γ] N : Clear M (σ[α := t], σ). Jeżeli σ jest nową zmienną typową, to Clear M ( α.σ, σ) = Clear M (σ[α := t], σ) = Q i jest dobrze. W przeciwnym przypadku Clear M ( α.σ, σ) = α.clear M (σ, σ) oraz z lematu zachodzi Clear M (σ[α := t], σ) = Clear M (σ, σ)[α := t], czyli mamy poprawne użycie reguły (Inst). Uwaga Powyższa konstrukcja nie zależy od tego, czy w sygnaturze jest zeroargumentowy symbol relacyjny Q. Jeżeli takiego symbolu nie ma, możemy Q zastąpić formułą α.p (α,..., α) dla pewnego symbolu relacyjnego P z sygnatury. Łatwo sprawdzić, że powyższe rozumowania są poprawne także w tym przypadku. Otrzymujemy zatem następujący wniosek. Wniosek Jeżeli istnieje wyprowadzenie D w typach pierwszego rzędu o konkluzji Γ M : τ, to istnieje również wyprowadzenie D o takiej samej konkluzji i prostym ST (D ) Wyprowadzenia typu INST-before-GEN Jak stwierdziliśmy poprzednio, wyprowadzenie pierwszego rzędu w pewnym sensie jest wyprowadzeniem w typach prostych, wzbogaconym o odpowiednie rozmieszczenie reguł (Inst) lub (Gen) oraz kwantyfikatorów i termów algebraicznych. Zbadamy, jakie ograniczenia można narzucić na rozmieszczenie reguł (Inst) lub (Gen). Wprowadźmy następującą definicję, zaczerpniętą z [7]. Definicja Wyprowadzenie D ma własność INST-before-GEN wtedy i tylko wtedy, gdy nie ma w nim ciągu sekwentów: Γ M : σ (Gen) Γ M : α.σ (Inst) Γ M : σ[α := t] Pokażemy, że można rozważać tylko wyprowadzenia mające własność INST-before-GEN. Potrzebny nam będzie następujący lemat. Lemat Niech D będzie wyprowadzeniem, w którym konkluzją jest sekwent Γ M : τ. Niech S będzie podstawieniem algebraicznym, w którym Ran(S) BV ar(d) =. Wówczas istnieje wyprowadzenie D mające taką samą strukturę reguł jak wyprowadzenie D, w którym konkluzją jest S(Γ) M : S(τ). Dowód. Indukcja ze względu na ostatnio zastosowaną regułę w wyprowadzeniu D. Jeśli ostatnią zastosowaną regułą był aksjomat Γ, x : τ x : τ, to oczywiście zachodzi S(Γ), x : S(τ) x : S(τ). 20

23 Jeżeli ostatnią użytą regułą była reguła (Abs): to zachodzi Γ, x : τ M : σ, Γ λx.m : τ σ S(Γ), x : S(τ) M : S(σ) S(Γ) λx.m : S(τ) S(σ). Ale S(τ) S(σ) = S(τ σ) z definicji podstawienia, więc otrzymujemy tezę. Ostatnią regułą była reguła (App): Γ N : σ τ Γ L : σ. Γ NL : τ Wtedy z założenia indukcyjnego S(Γ) N : S(σ τ) oraz S(Γ) L : S(σ). Ale S(σ τ) = S(σ) S(τ). Zatem S(Γ) N : S(σ) S(τ) S(Γ) L : S(σ). S(Γ) NL : S(τ) Ostatnią regułą była generalizacja: Γ M : σ. Γ M : α.σ Wtedy α F V ar(γ). Korzystając z założenia indukcyjnego dla podstawienia S α α i wyprowadzenia Γ M : σ otrzymamy: S α α(γ) M : S α α(σ). Z założenia zachodzi Ran(S) BV ar(d) =, więc α F V ar(s(γ)). Możemy zastosować regułę (Gen): Sα(Γ) α M : Sα(σ) α Sα(Γ) α M : α.sα(σ) α. Ale wtedy α.s α α(σ) = S( α.σ) i S α α(γ) = S(Γ), czyli otrzymujemy tezę lematu. Ostatnią regułą jest (Inst): Γ M : α.τ. Γ M : τ[α := t] Wtedy z założenia indukcyjnego S(Γ) M : S( α.τ). Ale S( α.τ) = α.s α α(τ). Czyli S(Γ) M : α.s α α(τ). Ponadto S α α(γ) = S(Γ), bo rozważamy tylko takie wyprowadzenia, w których F V ar(γ) BV ar(d) =. Zatem 21

24 Sα(Γ) α M : α.sα(τ) α Sα(Γ) α M : Sα(τ)[α α := S(t)]. Jednak S α α(τ)[α := S(t)] = S(τ[α := τ]). Zatem istotnie sekwent S(Γ) M : S(τ[α:=t]) jest wyprowadzalny. Lemat Niech D będzie wyprowadzeniem, w którym konkluzją jest sekwent Γ M : τ. Wtedy istnieje wyprowadzenie D mające własność INST-before-GEN, w którym konkluzją jest sekwent Γ M : τ. Dowód. Jeśli D nie ma własności INST-before-GEN, to istnieje w nim podwyprowadzenie: Γ M : τ Γ M : α.τ. Γ M : τ[α := t] Możemy założyć, ze w F V ar(t) BV ar(τ) =, w razie konieczności wymieniając zmienne związane na inne. Ponadto z założenia α nie jest zmienną wolną w żadnym typie pojawiającym się w Γ. Stosuję lemat do wyprowadzenia Γ M : τ i podstawienia [α := t]. Dostaję wyprowadzenie o konkluzji Γ M : τ[α := t], o tej samej strukturze reguł jak wyprowadzenie Γ M : τ w D. Jest ono oczywiście mniejsze niż oryginalne wyprowadzenie. Tę konstrukcję możemy zastosować po kolei do każdego ciągu reguł postaci Γ M : τ Γ M : α.τ. Γ M : τ[α := t] W rezultacie otrzymamy wyprowadzenie D o konkluzji Γ M : τ, mające własność INSTbefore-GEN Kwantyfikatory niewiążące Zajmiemy się teraz kwantyfikatorami niewiążącymi, które występują w wyprowadzeniu pierwszego rzędu. Intuicyjnie jest jasne, że nie niosą one żadnej istotnej informacji, gdyż zastosowanie reguły (Inst) do takiego kwantyfikatora właściwie nie zmienia typu. Nie możemy jednak zupełnie odrzucić kwantyfikatorów niewiążących, bo mogą one wystąpić w warunku brzegowym. W niektórych miejscach wystąpienie takiego kwantyfikatora jest wówczas nieuniknione. Pokażemy jednak, że można nie rozważać kwantyfikatorów niewiążących w miejscach, gdzie warunek brzegowy nie wymusza ich wystąpienia. Definicja Grafem typu prostego τ będę nazywać nieskierowany graf G(τ) = (V, E) o krawędziach etykietowanych 1, 2 taki, że V = P aths(τ), jeśli ρ P aths(τ) i ρ1 P aths(τ), to (ρ1 jeśli ρ P aths(τ) i ρ2 P aths(τ), to (ρ2 Rysunek 2.1 przedstawia graf typu (p q) p. 1 ρ) E, 2 ρ) E. 22

25 ɛ Rysunek 2.1: Graf typu Definicja Grafem typu pierwszego rzędu τ będę nazywać graf odpowiadającego mu typu prostego ST (τ). Ten sam rysunek 2.1 przedstawia graf typu α( β(p (β, α) Q(γ)) P (α, f(α))). W danym wyprowadzeniu w typach prostych E o konkluzji Γ M : τ, każdemu podtermowi N SubT (M) jeden raz lub więcej razy zostaje przypisany typ. Łatwo jednak zauważyć, że jeżeli typ dla termu N jest przypisany więcej niż jeden raz, to za każdym razem jest to ten sam typ. (Przypominam, że nie utożsamiamy alfa-równoważnych podtermów.) Analogicznie łatwo sprawdzić, że w wyprowadzeniu pierwszego rzędu D term N dostaje typy o takim samym grafie. Ten graf będę oznaczać przez G D (N). Definicja Prostym grafem typów dla wyprowadzenia (w typach prostych lub typach pierwszego rzędu) D będę nazywać sumę rozłączną grafów (G D (N)) N SubT (M). Graf ten będę oznaczać przez G 0 (D). Przykład Rozważmy następujące wyprowadzenie. Tutaj Γ oznacza środowisko x : (p q) r, u : p. Γ, y : p q x : (p q) r Γ, y : p q y : p q Γ, y : p q xy : r Γ λy.xy : (p q) r Γ (λy.xy)(λz.u) : r Γ, z : p u : q Γ λz.u : p q Rysunek 2.2 pokazuje prosty graf typów dla tego wyprowadzenia. Definicja Pełnym grafem typów dla wyprowadzenia D nazwę graf G D = (V, E) taki, że V = V (G 0 (D)), jeśli (a l b) E(G 0 l (D))), to (a b) E, jeśli (P, 1ρ) V, (Q, ρ) V i P Q SubT (M), to ((P, 1ρ) jeśli (P, 2ρ) V, (P Q, ρ) V, to ((P, 2ρ) jeśli (λx.p, 1ρ) V, to ((λx.p, 1ρ) e (x, ρ)). e (P Q, ρ)), e (Q, ρ)), Przykład Rysunek 2.3 pokazuje pełny graf typów wyprowadzenia z przykładu

26 (x, ɛ) 1 2 (x, 1) (x, 2) (y, ɛ) (y, 1) (y, 2) (x, 11) (x, 12) (xy, ɛ) (z, ɛ) (u, ɛ) (λy.xy, ɛ) 1 2 (λy.xy, 1) (λy.xy, 2) 1 2 (λy.xy, 11) (λy.xy, 12) (λz.u, ɛ) 1 2 (λz.u, 1) (λz.u, 2) ((λy.xy)(λz.u), ɛ) Rysunek 2.2: Prosty graf typów przykład Niech F : V (G D ) N będzie dowolną funkcją. Określamy funkcje F i dla i N: 1. F 0 = F, e 2. jeśli a, b V (G D ), (a b) E(G D ) i F i (a) F i (b), to F i+1 (a) = F i+1 (b) = max(f i (a), F i (b)) oraz F i+1 (x) = F i (x) dla x V (G D ) takich, że x a i x b. Funkcję F określamy w następujący sposób: F = F n, gdzie n jest najmniejszą liczbą taką, że F n = F n+1. Ponieważ D jest skończone, to F jest dobrze określone. Niech D będzie wyprowadzeniem pierwszego rzędu o konkluzji Γ M : τ. Określam funkcję Θ 0 : V (G D ) N następująco: jeśli y jest zmienną wolną i (y, ρ) V (G D ), to Θ 0 ((y, ρ)) = m, gdzie m jest liczbą niewiążących kwantyfikatorów stojących na pozycji ρ w Γ(y), jeśli ρ P aths(τ), to Θ 0 ((M, ρ)) = m, gdzie m jest liczbą niewiążących kwantyfikatorów stojących na pozycji ρ w τ, Θ 0 (z) = 0 dla pozostałych z V (G D ). Definicja Funkcją ograniczenia będę nazywać funkcję Θ = Θ 0. 24

27 (x, ɛ) e 1 2 (x, 1) (x, 2) e (y, ɛ) (y, 1) (y, 2) (x, 11) (x, 12) e (xy, ɛ) e e e e (z, ɛ) (u, ɛ) e (λy.xy, ɛ) 1 2 (λy.xy, 1) (λy.xy, 2) 1 2 e (λy.xy, 11) (λy.xy, 12) e e e e (λz.u, ɛ) 1 2 (λz.u, 1) (λz.u, 2) e ((λy.xy)(λz.u), ɛ) Rysunek 2.3: Pełny graf typów przykład Lemat Funkcja ograniczenia Θ ma następujące własności: 1. Dla każdego zastosowania reguły (App) postaci Γ M : τ σ Γ N : τ Γ MN : σ każdego ρ P aths(τ) zachodzi Θ((M, 1ρ)) = Θ((N, ρ)). 2. Dla każdego zastosowania reguły (App) postaci Γ M : τ σ Γ N : τ Γ MN : σ każdego ρ P aths(σ) zachodzi Θ((M, 2ρ)) = Θ((MN, ρ)). Γ, x : τ M : σ 3. Dla każdego zastosowania reguły (Abs) postaci Γ λx.m : τ σ ρ P aths(σ) zachodzi Θ((M, ρ)) = Θ((λx.M, 2ρ)). 4. Dla każdego zastosowania reguły (Abs) postaci ρ P aths(τ) zachodzi Θ((x, ρ)) = Θ((λx.M, 1ρ)). Γ, x : τ M : σ Γ λx.m : τ σ i dla i dla i dla każdego i dla każdego Zdefiniuję pomocniczą operację Drop M : SubT (M) {1, 2} T ypes T ypes. Intuicyjne objaśnienie jest takie: N jest podtermem M, σ jest typem przypisanym N w wyprowadzeniu D, ρ jest ścieżką w σ, τ jest formułą, która występuje w σ na pozycji ρ. Wtedy Drop M (N, ρ, τ) to formuła τ, która powstaje z τ przez wytarcie jak najmniejszej liczby zewnętrznych kwantyfikatorów niewiążących w taki sposób, że na pozycji ɛ w τ stoi nie więcej niż Θ(N, ρ)) kwantyfikatorów niewiążących. 25

28 Drop M (N, ρ, P (t 1,..., t n )) = P (t 1,..., t n ), Drop M (N, ρ, τ σ) = Drop M (N, ρ1, τ) Drop M (N, ρ2, σ), Drop M (N, ρ, α.τ) = Drop M (N, ρ, τ), jeśli α F V ar(τ) i w τ na pozycji ɛ jest Θ((N, ρ)) lub więcej kwantyfikatorów niewiążących, Drop M (N, ρ, α.τ) = α.drop M (N, ρ, τ), jeśli α F V ar(τ) lub w τ na pozycji ɛ jest mniej niż Θ((N, ρ)) kwantyfikatorów niewiążących. Lemat Dla dowolnego N SubT (M) oraz ρ i τ takich, że Drop M (N, ρ, τ) jest określone, zachodzi Drop M (N, ρ, τ[α := t]) = Drop M (N, ρ, τ)[α := t]. Dowód. Indukcja ze względu na definicję operacji Drop M i budowę typu τ. Drop M (N, ρ, P (t 1,..., t n )[α:=t])=p (t 1,...t n )[α:=t]=drop M (N, ρ, P (t 1,..., t n ))[α:=t]. Drop M (N, ρ, (τ σ)[α := t]) = Drop M (N, ρ, (τ[α := t]) (σ[α := t])) = = Drop M (N, ρ1, τ[α := t]) Drop M (N, ρ2, σ[α := t]) = Drop M (N, ρ1, τ)[α := t] Drop M (N, ρ2, σ)[α := t] = Drop M (N, ρ, τ σ)[α := t]. Jeśli β F V ar(τ) i w τ na pozycji ɛ jest Θ((N, ρ)) lub więcej kwantyfikatorów niewiążących, to Drop M (N, ρ, ( β.τ)[α := t]) = Drop M (N, ρ, β.(τ[α := t])) = β.drop M (N, ρ, τ[α:=t]) = β.drop M (N, ρ, τ)[α:=t] = ( β.drop M (N, ρ, τ))[α:=t]. Jeśli β F V ar(τ) lub w τ na pozycji ɛ jest mniej niż Θ((N, ρ)) kwantyfikatorów niewiążących, to Drop M (N, ρ, ( β.τ)[α := t]) = Drop M (N, ρ, β.τ[α := t]) = = β.drop M (N, ρ, τ)[α := t] = ( β.drop M (N, ρ, τ))[α := t]. Niech D będzie wyprowadzeniem pierwszego rzędu o konkluzji Γ M : τ. Używając operacji Drop M zdefiniuję nowe wyprowadzenie D. Środowisko Γ jest takie, że: Dom( Γ ) = Dom(Γ), Γ (x) = Drop M (x, ɛ, Γ(x)) dla x Dom(Γ). Dla danego sekwentu S wyprowadzenia D postaci Γ N : σ określam S jako Γ N : Drop M (N, ɛ, σ). Definicja Wyprowadzenie D to wyprowadzenie, które powstaje z wyprowadzenia D poprzez zastosowanie operacji. do każdego sekwentu wyprowadzenia D oraz usunięcie powtarzających się sekwentów. Lemat Wyprowadzenie D jest poprawnym wyprowadzeniem w typach pierwszego rzędu o takiej samej konkluzji, jak wyprowadzenie D. Dowód. Jest jasne, że FS D = FS D. Pokażę, że zastosowanie operacji. do kolejnych sekwentów daje albo poprawne użycie którejś z reguł przypisywania typów, albo identyczne sekwenty. Rozważam wszystkie możliwe przypadki. 26

29 Jeśli zastosowano regułę (Ax) Γ, x : τ x : τ, to czyli jest dobrze. Γ, x : τ x : τ = Γ, x : Drop M (x, ɛ, τ) Drop M (x, ɛ, τ), Zastosowano regułę (Abs) postaci Γ λx.n : σ 1 σ 2. Wtedy S 1 S 2, gdzie S 1 = Γ, x : σ 1 N : σ 2 i S 2 = S 1 = Γ, x : Drop M (x, ɛ, σ 1 ) N : Drop M (N, ɛ, σ 2 ), S 2 = Γ λx.n : Drop M (λx.n, ɛ, σ 1 σ 2 ). Ale Drop M (λx.n, ɛ, σ 1 σ 2 ) = Drop M (λx.n, 1, σ 1 ) Drop M (λx.n, 2, σ 2 ) = Drop M (x, ɛ, σ 1 ) Drop M (N, ɛ, σ 2 ). Ostatnia równość zachodzi na mocy lematu 2.3.8, punkty 3 i 4 oraz definicji operacji Drop. Zatem jest dobrze. S Zastosowano regułę (App) postaci 1 S 2 S S 2 = Γ L : σ 1, S = Γ NL : σ 2. Wtedy, gdzie S 1 = Γ N : σ 1 σ 2, S 1 = Γ N : Drop M (N, ɛ, σ 1 σ 2 ), S 2 = Γ L : Drop M (L, ɛ, σ 1 ), S = Γ MN : Drop M (NL, ɛ, σ 2 ). Ale Drop M (N, ɛ, σ 1 σ 2 ) = Drop M (N, 1, σ 1 ) Drop M (N, 2, σ 2 ). Ponadto na mocy lematu 2.3.8, punkt 1 i definicji operacji Drop M zachodzi Drop M (N, 1, σ 1 ) = Drop M (L, ɛ, σ 1 ) oraz na mocy lematu 2.3.8, punkt 2 i definicji operacji Drop M zachodzi Drop M (N, 2, σ 2 ) = Drop M (NL, ɛ, σ 2 ). Zatem jest dobrze. Zastosowano regułę (Gen) postaci Wtedy S 1 S 2, gdzie S 1 = Γ N : σ, S 2 = Γ N : α.σ. S 1 = Γ N : Drop N (N, ɛ, σ), S 2 = Γ N : Drop M (N, ɛ, α.σ). Jeśli α F V ar(σ), to Drop M (N, ɛ, α.σ) = α.drop M (N, ɛ, σ), zatem jest dobrze. Jeśli α F V ar(σ) i w σ na pozycji ɛ jest mniej niż Θ((N, ɛ)) niewiążących kwantyfikatorów, to Drop M (N, ɛ, α.σ) = α.drop M (N, ɛ, σ), czyli mamy zastosowanie reguły (Gen). Jeśli α F V ar(σ) i w σ na pozycji ɛ jest nie mniej niż Θ((N, ɛ)) niewiążących kwantyfikatorów, to Drop M (N, ɛ, α.σ) = Drop M (N, ɛ, σ), czyli otrzymujemy identyczne sekwenty. Jeśli zastosowano regułę (Inst) Wtedy S 1 S 2, gdzie S 1 = Γ N : α.σ, S 2 = Γ N : σ[α := t]. S 1 = Γ N : Drop M (N, ɛ, α.σ), S 2 = Γ N : Drop M (N, ɛ, σ[α := t]). Jeżeli α F V ar(σ), to Drop M (N, ɛ, α.σ) = α.drop M (N, ɛ, σ). Wtedy Drop M (N, ɛ, σ[α := t]) = Drop M (N, ɛ, σ)[α := t], na mocy lematu 2.3.9, czyli dobrze. 27

30 Jeżeli α F V ar(σ), to σ[α := t] = σ. Wtedy Drop M (N, ɛ, σ[α := t]) = Drop M (N, ɛ, σ). Jeśli Drop M (N, ɛ, α.σ) = Drop(N, ɛ, σ), to S 1 = S 2, czyli dostajemy identyczne sekwenty. Jeśli Drop M (N, ɛ, α.σ) = α.drop(n, ɛ, σ), to otrzymujemy zastosowanie reguły (Inst). Tak czy inaczej, jest dobrze. Z lematu wynikają następujące wnioski. Wniosek Jeżeli Γ M : τ jest wyprowadzalne w logice pierwszego rzędu, to istnieje takie wyprowadzenie D o konkluzji Γ M : τ, w którym dla każdego sekwentu Γ N : σ i dla każdego ρ P aths(σ) liczba kwantyfikatorów niewiążących występujących na pozycji ρ w σ jest nie większa niż Θ((N, ρ)). Wniosek Jeżeli Γ M : τ jest wyprowadzalne w logice pierwszego rzędu, to istnieje takie wyprowadzenie D o konkluzji Γ M : τ, w którym dla każdego sekwentu Γ N : σ i dla każdego ρ P aths(σ) liczba kwantyfikatorów występujących na pozycji ρ w σ jest ograniczona przez arność podformuły występującej na pozycji ρ w σ powiększoną o liczbę Θ((N, ρ)) Dowód rozstrzygalności Lemat Niech D będzie wyprowadzeniem pierwszego rzędu mającym własność INSTbefore-GEN o konkluzji Γ M : τ i takim, że wyprowadzenie ST (D) jest proste. Załóżmy, że w sygnaturze nie ma symboli funkcyjnych o arności większej od zera. Wówczas liczba wolnych zmiennych algebraicznych występujących w wyprowadzeniu D jest ograniczona i ograniczenie to zależy jedynie od konkluzji Γ M : τ. Dowód. Dla każdej zmiennej x V (M) możemy oszacować, ile różnych algebraicznych zmiennych wolnych występuje w IDT D (x). Jeżeli x jest zmienną wolną w M, to IDT D (x) = Γ(x). Zatem znamy liczbę algebraicznych zmiennych wolnych występujących w Γ(x). Dla zmiennej x związanej w M znamy ST (IDT D (x)). Liczba różnych algebraicznych zmiennych wolnych występujących w IDT D (x) jest nie większa niż arność formuły IDT D (x). Dalej zauważmy, że liczba zmiennych wolnych występujących w danym środowisku zależy jedynie od (x) = IDT D (x) dla x Dom( ). Możemy zsumować liczbę zmiennych wolnych występujących w Γ oraz arności formuł IDT D (x) dla x BV (M) i otrzymamy w ten sposób ograniczenie na liczbę zmiennych wolnych, które pojawiają się w środowiskach w wyprowadzeniu D. Zauważmy, że jedyną regułą, która może wprowadzić nową algebraiczną zmienną wolną jest reguła (Inst). Ponieważ sygnatura nie zawiera symboli funkcyjnych o arności większej niż zero, to każda reguła (Inst) wprowadza co najwyżej jedną nową zmienną algebraiczną. Rozważane wyprowadzenie ma własność INST-before-GEN. Zatem w danym ciągu reguł (Inst) lub (Gen) liczba różnych zmiennych algebraicznych w głównym typie sekwentu najpierw rośnie (ale nie przekracza arności formuły), a następnie maleje. Liczba różnych algebraicznych zmiennych wolnych w wyprowadzeniu D nie przekracza sumy liczby zmiennych wolnych występujących w Γ, arności formuł IDT D (x) dla x BV (M) oraz arności formuł IDT D (N) dla N SubT (M). Wszystkie te liczby są znane, bo znamy warunek brzegowy, wyprowadzenie główne D M oraz wiemy, że ST (D) jest proste. 28

31 Wniosek Niech D będzie wyprowadzeniem jak w lemacie Niech {α 1, α 2,...} będzie ustalonym zbiorem zmiennych algebraicznych rozłącznym z F V ar(γ). Wówczas istnieje wyprowadzenie D o konkluzji Γ M : τ i liczba n taka, że F V ar(d ) F V ar(γ) {α 1,..., α n }. Dowód. Z lematu wynika, że zbiór F V ar(d ) jest skończony. Niech n oznacza moc zbioru F V ar(d ) \ F V ar(γ). Niech S będzie różnowartościowym podstawieniem algebraicznym takim, że Dom(S) = F V ar(d ) \ F V ar(γ) i Ran(S) = {α 1,..., α n }. Wówczas S(D) jest szukanym wyprowadzeniem D. Twierdzenie Problem sprawdzania typu dla sygnatury bez symboli funkcyjnych o arności większej od zera jest rozstrzygalny. Dowód. Niech Γ M : τ będzie rozważanym problemem. Przypuśćmy, że istnieje wyprowadzenie D o konkluzji Γ M : τ. Porównując ST (Γ M : τ) i FS DM widzimy, jakie podstawienie zastosowano do starych zmiennych typowych D M, aby otrzymać ST (D). Z lematu wynika, że możemy założyć, że ST (D) jest wyprowadzeniem prostym. Możemy zatem odtworzyć ST (D). Aby otrzymać poprawne wyprowadzenie w typach pierwszego rzędu, musimy w odpowiedni sposób rozmieścić reguły (Gen), (Inst) oraz kwantyfikatory i termy algebraiczne. Z lematu wiemy, że możemy ograniczyć się do wyprowadzeń mających własność INST-before-GEN. Zatem w każdym ciągu reguł (Inst) i (Gen) najpierw występują reguły (Inst), a następnie reguły (Gen). Jest jasne, że w poprawnym wyprowadzeniu ciąg reguł (Inst) nie może być dłuższy niż liczba kwantyfikatorów stojących na pozycji ɛ w pierwszym sekwencie tego ciągu. Z kolei ciąg reguł (Gen) nie może być dłuższy niż liczba kwantyfikatorów stojących na pozycji ɛ w ostatnim sekwencie tego ciągu. Oczywiście w ciągu reguł (Gen) i (Inst) występuje ten sam term N. Z wniosku wiemy, że liczba kwantyfikatorów stojących na pozycji ρ w typie danego termu N jest ograniczona z góry przez pewną znaną liczbę, nazwijmy ją a N,ρ. W szczególności dotyczy to pozycji ɛ. Zatem każdy ciąg reguł (Gen) i (Inst) w D jest nie dłuższy niż 2a N,ɛ. Rozważmy, ile różnych typów może zostać przypisane danemu termowi N SubT (M). Wiemy, że liczba kwantyfikatorów stojących na pozycji ρ w typie termu N nie przekracza a N,ρ. Ponadto na mocy wniosku możemy założyć, że w typie tym pojawiają się tylko zmienne algebraiczne z pewnego ustalonego skończonego zbioru. Istnieje zatem tylko skończenie wiele nierównoważnych typów, które mogą zostać przypisane danemu termowi N. Aby sprawdzić, czy istnieje poprawne wyprowadzenie, wystarczy zatem sprawdzić skończenie wiele wyprowadzeń Złożoność algorytmu W tej części oszacuję złożoność podanego algorytmu. Algorytm polega na sprawdzeniu poprawności pewnej skończonej liczby przypadków. Najpierw zastanówmy się, ile trwa sprawdzenie jednego przypadku. Uwaga Niech D będzie poprawnym składniowo wyprowadzeniem pierwszego rzędu rozmiaru m. Można sprawdzić, czy D jest poprawnym wyprowadzeniem pierwszego rzędu w czasie kwadratowym względem m. 29

32 Dowód. Możemy założyć, że D jest poprawnym składniowo wyprowadzeniem, bo składniową poprawność łatwo sprawdzić w czasie liniowym względem rozmiaru D. W naszej definicji wyprowadzenia przyjęliśmy, że każdy sekwent ma etykietę mówiącą, w wyniku której reguły powstał. Wystarczy zatem sprawdzić, czy jest to poprawne użycie podanej reguły. Łatwo zauważyć, że dla każdej reguły sprawdzenie, czy jest ona poprawnie użyta zajmuje czas kwadratowy względem rozmiaru sekwentów występujących w tej regule. Samo sprawdzenie poprawności typów dla termu zajmuje czas liniowy. Za każdym razem trzeba jeszcze sprawdzić, czy środowiska są równe, a to może zająć czas kwadratowy względem rozmiaru sekwentów. Zajmiemy się teraz oszacowaniem liczby przypadków, które musi zbadać algorytm. Uwaga Niech Γ M : τ będzie rozważanym warunkiem brzegowym rozmiaru n. Wówczas term M, typ τ i środowisko Γ mają rozmiar nie większy niż n. W dalszych rozważaniach będziemy zakładać, że rozmiar termu M, typu τ i środowiska Γ jest liniowy względem n. W szczególności będziemy zakładać, że każdy typ w Γ ma rozmiar liniowy względem n. Uwaga Niech M będzie lambda termem rozmiaru n. Wówczas liczba sekwentów w wyprowadzeniu D M jest liniowa względem n. Dowód. Wyprowadzenie D M jest drzewem. Każdy węzeł wewnętrzny tego drzewa to pewien sekwent. Aplikacji w termie M odpowiada pewien węzeł wewnętrzny stopnia dwa, lambda abstrakcji węzeł wewnętrzny stopnia jeden, a zmiennej pewien liść. Mamy zatem drzewo, w którym każdy węzeł jest stopnia co najwyżej dwa oraz jest co najwyżej n liści i węzłów wewnętrznych stopnia jeden. Łatwo sprawdzić indukcyjnie, że liczba wszystkich węzłów takiego drzewa jest nie większa niż 2n, czyli jest liniowa względem n. Uwaga Niech Γ M : τ będzie sekwentem wielkości n. Niech D będzie wyprowadzeniem pierwszego rzędu o konkluzji Γ M : τ o prostym ST (D). Wtedy rozmiar ST (D) może być wykładniczy względem n. Dowód. Oczywiście rozmiar ST (Γ M : τ) jest nie większy niż n. Wiadomo ([5]), że aby odtworzyć ST (D) trzeba wykonać unifikację pewnego zbioru równań A. Rozmiar tego zbioru równań jest wielomianowy względem n. Podstawienie unifikujące R może być wykładnicze względem rozmiaru zbioru równań. W każdym sekwencie N : σ pojawiają się typy dla zmiennych wolnych termu N oraz typ termu N. Typy te należą do zbioru powstałego przez aplikację podstawienia unifikującego R do zbioru A, zatem mogą być wykładniczo duże względem n. W dziedzinie każdego środowiska w ST (D) występuje liniowo wiele zmiennych, zatem pojedynczy sekwent może mieć zatem wykładniczo duży rozmiar. Wszystkich sekwentów w ST (D) jest liniowo wiele, zatem całe wyprowadzenie również może być wykładniczego rozmiaru. Lemat Niech Γ M : τ będzie sekwentem rozmiaru n. Liczba różnych rozmieszczeń reguł (Gen) lub (Inst), które rozważa algorytm, może być rzędu 2 P (n) dla pewnego wielomianu P. Dowód. Wszystkich reguł (Gen) oraz (Inst) w wyprowadzeniu pierwszego rzędu D jest nie więcej niż sumaryczna liczba kwantyfikatorów występujących w D. Niech N będzie podtermem M. Niech σ będzie takim typem, który algorytm rozważa jako typ dla N. W typie σ liczba kwantyfikatorów wiążących jest co najwyżej równa arności formuły σ. Na mocy lematu arność formuły σ może być wykładnicza względem n. Zatem 30

33 liczba kwantyfikatorów wiążących dla danego typu σ jest może być wykładnicza względem n. Liczbę kwantyfikatorów niewiążących stojących na pozycji ρ w σ można oszacować z góry przez n. Wszystkich pozycji w σ jest wykładniczo wiele, więc niewiążących kwantyfikatorów w σ może być wykładniczo wiele. W typie dla ustalonego termu N może być zatem eksponencjalnie wiele wszystkich kwantyfikatorów. Stąd wynika, że w wyprowadzeniu badanym przez algorytm może pojawić się wykładniczo wiele reguł (Gen) lub (Inst) z termem N. Mamy liniową liczbę wszystkich termów, z każdym z nich jest związana co najwyżej wykładnicza liczba reguł (Gen) lub (Inst). Razem mamy zatem rzędu 2 P (n) rozważanych rozmieszczeń (Inst) i (Gen) dla pewnego wielomianu P. Teraz chcę oszacować, ile nierównoważnych typów może mieć dany term N. Najpierw oszacuję liczbę wszystkich algebraicznych zmiennych wolnych występujących w wyprowadzeniu D. Lemat Niech D będzie wyprowadzeniem pierwszego rzędu mającym własność INSTbefore-GEN o konkluzji Γ M : τ i takim, że wyprowadzenie ST (D) jest proste. Niech n będzie rozmiarem Γ M : τ. Wówczas liczba wolnych zmiennych algebraicznych występujących w wyprowadzeniu D jest wykładnicza względem n. Dowód. Jeżeli x jest zmienną wolną w M, to IDT D (x) = Γ(x). Liczba algebraicznych zmiennych wolnych występujących w IDT D (x) dla wszystkich zmiennych wolnych termu M jest zatem mniejsza niż n. Jeżeli x jest zmienną związaną w M, to liczba algebraicznych zmiennych wolnych występujących w IDT D (x) jest nie większa niż arność IDT D (x). Wiemy, że arność IDT D (x) jest co najwyżej wykładnicza oraz zmiennych związanych w M jest nie więcej niż n, więc algebraicznych zmiennych wolnych występujących w typach dla zmiennych jest co najwyżej wykładniczo wiele. Ponadto reguł (Inst) w wyprowadzeniu D jest co najwyżej wykładniczo wiele, więc wprowadzają one co najwyżej wykładniczo wiele nowych algebraicznych zmiennych wolnych. Zatem liczba wszystkich algebraicznych zmiennych wolnych jest wykładnicza względem n. To teraz chcę oszacować, ile nierównoważnych typów można przypisać danemu podtermowi N. Lemat Niech Γ M : τ będzie sekwentem rozmiaru n. Niech N będzie podtermem termu M. Liczba różnych typów, które algorytm może przypisać termowi N, jest rzędu 2 2Q(n) dla pewnego wielomianu Q. Dowód. Niech σ będzie typem, który algorytm rozważa jako przypisany N. Niech m będzie rozmiarem σ. Wtedy arność σ jest rzędu m. Typ σ ma zatem m miejsc, na których może wystąpić term algebraiczny. Tym termem może być albo zmienna wolna, albo stała, może tam również wystąpić zmienna związana. Mamy do dyspozycji wykładniczą liczbę zmiennych algebraicznych oraz liniową liczbę stałych. Zmienna związana może być związana na jednym z m miejsc. Zatem różnych rozmieszczeń zmiennych i stałych jest rzędu 2 n + n + m m. Wiemy, że m może być wykładniczo duże, zatem 2 n + n + m m jest rzędu 2 2R 1 (n) dla pewnego wielomianu R 1. Ponadto trzeba uwzględnić, że niektóre kwantyfikatory mogą wiązać więcej niż jedno miejsce oraz uwzględnić typy różniące się kolejnością kwantyfikatorów. Miejsc do wiązania jest co najwyżej m. Te m miejsc trzeba podzielić między kwantyfikatory. Podziałów zbioru m-elementowego jest nie więcej niż m m, permutacji m kwantyfikatorów jest m!, czyli mniej niż 2 n2. 31

Paradygmaty dowodzenia

Paradygmaty dowodzenia Paradygmaty dowodzenia Sprawdzenie, czy dana formuła rachunku zdań jest tautologią polega zwykle na obliczeniu jej wartości dla 2 n różnych wartościowań, gdzie n jest liczbą zmiennych zdaniowych tej formuły.

Bardziej szczegółowo

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

System BCD z κ. Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna. Semestr letni 2009/10 System BCD z κ Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna Semestr letni 2009/10 Rozważamy system BCD ze stałą typową κ i aksjomatami ω κ κ i κ ω κ. W pierwszej części tej notatki

Bardziej szczegółowo

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

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. 1 Logika Klasyczna obejmuje dwie teorie:

Bardziej szczegółowo

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

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ). 6. Wykład 6: Rachunek predykatów. Język pierwszego rzędu składa się z: symboli relacyjnych P i, i I, gdzie (P i ) oznaczać będzie ilość argumentów symbolu P i, symboli funkcyjnych f j, j J, gdzie (f j

Bardziej szczegółowo

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

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017 Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język

Bardziej szczegółowo

Struktury formalne, czyli elementy Teorii Modeli

Struktury formalne, czyli elementy Teorii Modeli Struktury formalne, czyli elementy Teorii Modeli Szymon Wróbel, notatki z wykładu dra Szymona Żeberskiego semestr zimowy 2016/17 1 Język 1.1 Sygnatura językowa Sygnatura językowa: L = ({f i } i I, {P j

Bardziej szczegółowo

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

Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017 Logika Stosowana Wykład 2 - Logika modalna Część 2 Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 27 Plan wykładu

Bardziej szczegółowo

-termami -wyrażeń pre-termami abstrakcją aplikacją zmiennych wolnych zmienną związaną domknięte

-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ółowo

Wykład z równań różnicowych

Wykład z równań różnicowych Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.

Bardziej szczegółowo

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.

Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1. 3. Wykłady 3 i 4: Języki i systemy dedukcyjne. Klasyczny rachunek zdań. 3.1. Monoidy wolne. Niech X będzie zbiorem niepustym. Zbiór ten będziemy nazywać alfabetem. Skończony ciąg elementów alfabetu X będziemy

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Matematyka dyskretna. Andrzej Łachwa, UJ, /10 Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 10/10 Podziały i liczby Stirlinga Liczba Stirlinga dla cykli (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji

Bardziej szczegółowo

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i A (symbol F i oznacza ilość argumentów funkcji F i ). W rozważanych przez nas algebrach

Bardziej szczegółowo

Logika intuicjonistyczna

Logika intuicjonistyczna Logika intuicjonistyczna Logika klasyczna oparta jest na pojęciu wartości logicznej zdania. Poprawnie zbudowane i jednoznaczne stwierdzenie jest w tej logice klasyfikowane jako prawdziwe lub fałszywe.

Bardziej szczegółowo

LOGIKA I TEORIA ZBIORÓW

LOGIKA I TEORIA ZBIORÓW LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja

Bardziej szczegółowo

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I

Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I Metody dowodzenia twierdzeń i automatyzacja rozumowań Systemy aksjomatyczne I Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@.edu.pl OSTRZEŻENIE Niniejszy plik nie zawiera wykładu z Metod dowodzenia...

Bardziej szczegółowo

Logika Matematyczna (10)

Logika Matematyczna (10) Logika Matematyczna (10) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Rezolucja w KRZ Jerzy Pogonowski (MEG) Logika Matematyczna (10) Rezolucja w KRZ 1 / 39 Plan

Bardziej szczegółowo

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

Wykład 4. Określimy teraz pewną ważną klasę pierścieni. Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka dyskretna. Andrzej Łachwa, UJ, /15 Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 7/15 Rachunek różnicowy Dobrym narzędziem do obliczania skończonych sum jest rachunek różnicowy. W rachunku tym odpowiednikiem operatora

Bardziej szczegółowo

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

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka

Bardziej szczegółowo

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ) Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też L = {vw : vuw L dla pewnego u A takiego, że u = v + w } Rozwiązanie. Niech A =

Bardziej szczegółowo

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a); Ciała i wielomiany 1 Ciała i wielomiany 1 Definicja ciała Niech F będzie zbiorem, i niech + ( dodawanie ) oraz ( mnożenie ) będą działaniami na zbiorze F. Definicja. Zbiór F wraz z działaniami + i nazywamy

Bardziej szczegółowo

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

Andrzej Wiśniewski Logika II. Materiały do wykładu dla studentów kognitywistyki Andrzej Wiśniewski Logika II Materiały do wykładu dla studentów kognitywistyki Wykład 5. Wprowadzenie do semantyki teoriomodelowej cz.5. Wynikanie logiczne 1 Na poprzednim wykładzie udowodniliśmy m.in.:

Bardziej szczegółowo

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

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie 3. Wykłady 5 i 6: Semantyka klasycznego rachunku zdań. Dotychczas rozwinęliśmy klasyczny rachunek na gruncie czysto syntaktycznym, a więc badaliśmy metodę sprawdzania, czy dana formuła B jest dowodliwa

Bardziej szczegółowo

Indukcja matematyczna. Zasada minimum. Zastosowania.

Indukcja matematyczna. Zasada minimum. Zastosowania. Indukcja matematyczna. Zasada minimum. Zastosowania. Arkadiusz Męcel Uwagi początkowe W trakcie zajęć przyjęte zostaną następujące oznaczenia: 1. Zbiory liczb: R - zbiór liczb rzeczywistych; Q - zbiór

Bardziej szczegółowo

Adam Meissner.

Adam Meissner. Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Podstawy logiki pierwszego rzędu

Bardziej szczegółowo

Indukcja matematyczna

Indukcja matematyczna Indukcja matematyczna 1 Zasada indukcji Rozpatrzmy najpierw następujący przykład. Przykład 1 Oblicz sumę 1 + + 5 +... + (n 1). Dyskusja. Widzimy że dla n = 1 ostatnim składnikiem powyższej sumy jest n

Bardziej szczegółowo

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

Konstrukcja liczb rzeczywistych przy pomocy ciągów Cauchy ego liczb wymiernych Konstrukcja liczb rzeczywistych przy pomocy ciągów Cauchy ego liczb wymiernych Marcin Michalski 14.11.014 1 Wprowadzenie Jedną z intuicji na temat liczb rzeczywistych jest myślenie o nich jako liczbach,

Bardziej szczegółowo

Metoda Tablic Semantycznych

Metoda Tablic Semantycznych Procedura Plan Reguły Algorytm Logika obliczeniowa Instytut Informatyki Plan Procedura Reguły 1 Procedura decyzyjna Logiczna równoważność formuł Logiczna konsekwencja Procedura decyzyjna 2 Reguły α, β,

Bardziej szczegółowo

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

Elementy 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ółowo

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

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów. 5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów. Algebra jest jednym z najstarszych działów matematyki dotyczącym początkowo tworzenia metod rozwiązywania równań

Bardziej szczegółowo

Egzamin z logiki i teorii mnogości, rozwiązania zadań

Egzamin z logiki i teorii mnogości, rozwiązania zadań Egzamin z logiki i teorii mnogości, 08.02.2016 - rozwiązania zadań 1. Niech φ oraz ψ będą formami zdaniowymi. Czy formuła [( x : φ(x)) ( x : ψ(x))] [ x : (φ(x) ψ(x))] jest prawem rachunku kwantyfikatorów?

Bardziej szczegółowo

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie),

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie), Elementy logiki 1 Przykłady zdań w matematyce Zdania prawdziwe: 1 3 + 1 6 = 1 2, 3 6, 2 Q, Jeśli x = 1, to x 2 = 1 (x oznacza daną liczbę rzeczywistą), Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości

Bardziej szczegółowo

Trzy razy o indukcji

Trzy razy o indukcji Trzy razy o indukcji Antoni Kościelski 18 października 01 1 Co to są liczby naturalne? Indukcja matematyczna wiąże się bardzo z pojęciem liczby naturalnej. W szkole zwykle najpierw uczymy się posługiwać

Bardziej szczegółowo

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią. Semantyczne twierdzenie o podstawianiu Jeżeli dana formuła rachunku zdań jest tautologią i wszystkie wystąpienia pewnej zmiennej zdaniowej w tej tautologii zastąpimy pewną ustaloną formułą, to otrzymana

Bardziej szczegółowo

Topologia zbioru Cantora a obwody logiczne

Topologia zbioru Cantora a obwody logiczne Adam Radziwończyk-Syta Michał Skrzypczak Uniwersytet Warszawski 1 lipca 2009 http://students.mimuw.edu.pl/~mskrzypczak/dokumenty/ obwody.pdf Zbiór Cantora Topologia Definicja Przez zbiór Cantora K oznaczamy

Bardziej szczegółowo

Imię, nazwisko, nr indeksu

Imię, nazwisko, nr indeksu Imię, nazwisko, nr indeksu (kod) (9 punktów) Wybierz 9 z poniższych pytań i wybierz odpowiedź tak/nie (bez uzasadnienia). Za prawidłowe odpowiedzi dajemy +1 punkt, za złe -1 punkt. Punkty policzymy za

Bardziej szczegółowo

O pewnych związkach teorii modeli z teorią reprezentacji

O pewnych związkach teorii modeli z teorią reprezentacji O pewnych związkach teorii modeli z teorią reprezentacji na podstawie referatu Stanisława Kasjana 5 i 12 grudnia 2000 roku 1. Elementy teorii modeli Będziemy rozważać język L składający się z przeliczalnej

Bardziej szczegółowo

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

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0 ĆWICZENIE 1 Klasyczny Rachunek Zdań (KRZ): zdania w sensie logicznym, wartości logiczne, spójniki logiczne, zmienne zdaniowe, tabele prawdziwościowe dla spójników logicznych, formuły, wartościowanie zbioru

Bardziej szczegółowo

Przykładowe zadania z teorii liczb

Przykładowe zadania z teorii liczb Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę

Bardziej szczegółowo

Rozdział 6. Ciągłość. 6.1 Granica funkcji

Rozdział 6. Ciągłość. 6.1 Granica funkcji Rozdział 6 Ciągłość 6.1 Granica funkcji Podamy najpierw dwie definicje granicy funkcji w punkcie i pokażemy ich równoważność. Definicja Cauchy ego granicy funkcji w punkcie. Niech f : X R, gdzie X R oraz

Bardziej szczegółowo

JAO - Wprowadzenie do Gramatyk bezkontekstowych

JAO - Wprowadzenie do Gramatyk bezkontekstowych JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa

Bardziej szczegółowo

VI. Równania różniczkowe liniowe wyższych rzędów

VI. Równania różniczkowe liniowe wyższych rzędów VI. 1. Równanie różniczkowe liniowe n-tego rzędu o zmiennych współczynnikach Niech podobnie jak w poprzednim paragrafie K = C lub K = R. Podobnie jak w dziedzinie rzeczywistej wprowadzamy pochodne wyższych

Bardziej szczegółowo

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ 1 Inferencyjna równoważność formuł Definicja 9.1. Formuła A jest

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca

Bardziej szczegółowo

Definicja: alfabetem. słowem długością słowa

Definicja: alfabetem. słowem długością słowa Definicja: Niech X będzie zbiorem niepustym. Zbiór ten będziemy nazywać alfabetem. Skończony ciąg elementów alfabetu X będziemy nazywać słowem a liczbę elementów tego ciągu nazywamy długością słowa. Na

Bardziej szczegółowo

Algebry skończonego typu i formy kwadratowe

Algebry skończonego typu i formy kwadratowe Algebry skończonego typu i formy kwadratowe na podstawie referatu Justyny Kosakowskiej 26 kwietnia oraz 10 i 17 maja 2001 Referat został opracowany w oparciu o prace Klausa Bongartza Criterion for finite

Bardziej szczegółowo

Przykładami ciągów, które Czytelnik dobrze zna (a jeśli nie, to niniejszym poznaje), jest ciąg arytmetyczny:

Przykładami ciągów, które Czytelnik dobrze zna (a jeśli nie, to niniejszym poznaje), jest ciąg arytmetyczny: Podstawowe definicje Definicja ciągu Ciągiem nazywamy funkcję na zbiorze liczb naturalnych, tzn. przyporządkowanie każdej liczbie naturalnej jakiejś liczby rzeczywistej. (Mówimy wtedy o ciągu o wyrazach

Bardziej szczegółowo

Podstawowe Pojęcia. Semantyczne KRZ

Podstawowe Pojęcia. Semantyczne KRZ Logika Matematyczna: Podstawowe Pojęcia Semantyczne KRZ I rok Językoznawstwa i Informacji Naukowej UAM 2006-2007 Jerzy Pogonowski Zakład Logiki Stosowanej UAM http://www.logic.amu.edu.pl Dodatek: ściąga

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

1 Nierówność Minkowskiego i Hoeldera

1 Nierówność Minkowskiego i Hoeldera 1 Nierówność Minkowskiego i Hoeldera Na państwa użytek załączam precyzyjne sformułowania i dowody nierówności Hoeldera i Minkowskiego: Twierdzenie 1.1 Nierówność Hoeldera). Niech p, q będą takimi liczbami

Bardziej szczegółowo

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

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa. Plan Procedura decyzyjna Reguły α i β - algorytm Plan Procedura decyzyjna Reguły α i β - algorytm Logika obliczeniowa Instytut Informatyki 1 Procedura decyzyjna Logiczna konsekwencja Teoria aksjomatyzowalna

Bardziej szczegółowo

III rok kognitywistyki UAM,

III rok kognitywistyki UAM, METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ WYKŁAD 6A: REZOLUCJA III rok kognitywistyki UAM, 2016 2017 1 Rezolucja w KRZ Dowody rezolucyjne w KRZ są równie proste, jak dowody tablicowe Metoda

Bardziej szczegółowo

Andrzej Wiśniewski Logika II. Wykład 6. Wprowadzenie do semantyki teoriomodelowej cz.6. Modele i pełność

Andrzej Wiśniewski Logika II. Wykład 6. Wprowadzenie do semantyki teoriomodelowej cz.6. Modele i pełność Andrzej Wiśniewski Logika II Materiały do wykładu dla studentów kognitywistyki Wykład 6. Wprowadzenie do semantyki teoriomodelowej cz.6. Modele i pełność 1 Modele Jak zwykle zakładam, że pojęcia wprowadzone

Bardziej szczegółowo

Logika Matematyczna (1)

Logika Matematyczna (1) Logika Matematyczna (1) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Wprowadzenie Jerzy Pogonowski (MEG) Logika Matematyczna (1) Wprowadzenie 1 / 20 Plan konwersatorium

Bardziej szczegółowo

Programowanie funkcyjne Wykład 14. Rachunek λ z typami prostymi

Programowanie 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ółowo

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@.edu.pl Metoda tabel syntetycznych (MTS) MTS

Bardziej szczegółowo

Rozwiązania, seria 5.

Rozwiązania, seria 5. Rozwiązania, seria 5. 26 listopada 2012 Zadanie 1. Zbadaj, dla jakich wartości parametru r R wektor (r, r, 1) lin{(2, r, r), (1, 2, 2)} R 3? Rozwiązanie. Załóżmy, że (r, r, 1) lin{(2, r, r), (1, 2, 2)}.

Bardziej szczegółowo

Rozkład figury symetrycznej na dwie przystające

Rozkład figury symetrycznej na dwie przystające Rozkład figury symetrycznej na dwie przystające Tomasz Tkocz 10 X 2010 Streszczenie Tekst zawiera notatki do referatu z seminarium monograficznego Wybrane zagadnienia geometrii. Całość jest oparta na artykule

Bardziej szczegółowo

3 Abstrakcyjne kompleksy symplicjalne.

3 Abstrakcyjne kompleksy symplicjalne. 3 Abstrakcyjne kompleksy symplicjalne. Uwaga 3.1. Niech J będzie dowolnym zbiorem indeksów, niech R J = {(x α ) α J J α x α R} będzie produktem kartezjańskim J kopii R, niech E J = {(x α ) α J R J x α

Bardziej szczegółowo

Rachunek logiczny. 1. Język rachunku logicznego.

Rachunek logiczny. 1. Język rachunku logicznego. Rachunek logiczny. Podstawową własnością rozumowania poprawnego jest zachowanie prawdy: rozumowanie poprawne musi się kończyć prawdziwą konkluzją, o ile wszystkie przesłanki leżące u jego podstaw były

Bardziej szczegółowo

Uzgadnianie formuł rachunku predykatów

Uzgadnianie formuł rachunku predykatów Składanie podstawień Plan wykładu Uzgadnianie Logika obliczeniowa Instytut Informatyki Plan wykładu Składanie podstawień 1 Składanie podstawień Podstawienie Motywacja Złożenie podstawień 2 Uzgadnianie

Bardziej szczegółowo

1 Działania na zbiorach

1 Działania na zbiorach M. Beśka, Wstęp do teorii miary, rozdz. 1 1 1 Działania na zbiorach W rozdziale tym przypomnimy podstawowe działania na zbiorach koncentrując się na własnościach tych działań, które będą przydatne w dalszej

Bardziej szczegółowo

Dystrybucje, wiadomości wstępne (I)

Dystrybucje, wiadomości wstępne (I) Temat 8 Dystrybucje, wiadomości wstępne (I) Wielkości fizyczne opisujemy najczęściej przyporządkowując im funkcje (np. zależne od czasu). Inną drogą opisu tych wielkości jest przyporządkowanie im funkcjonałów

Bardziej szczegółowo

Kongruencje pierwsze kroki

Kongruencje pierwsze kroki Kongruencje wykład 1 Definicja Niech n będzie dodatnią liczbą całkowitą, natomiast a i b dowolnymi liczbami całkowitymi. Liczby a i b nazywamy przystającymi (kongruentnymi) modulo n i piszemy a b (mod

Bardziej szczegółowo

3.Funkcje elementarne - przypomnienie

3.Funkcje elementarne - przypomnienie 3.Funkcje elementarne - przypomnienie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny3.Funkcje w Krakowie) elementarne - przypomnienie 1 / 51 1 Funkcje

Bardziej szczegółowo

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

Definicja: zmiennych zdaniowych spójnikach zdaniowych: Definicja: Alfabet języka logiki zdań składa się z nieskończonego (najczęściej zakładamy: przeliczalnego) zbioru P, o którym myślimy jak o zbiorze zmiennych zdaniowych i skończonego zbioru symboli, o których

Bardziej szczegółowo

Matematyka dyskretna dla informatyków

Matematyka dyskretna dla informatyków Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności

Bardziej szczegółowo

Problemy Decyzyjne dla Systemów Nieskończonych

Problemy Decyzyjne dla Systemów Nieskończonych Problemy Decyzyjne dla Systemów Nieskończonych Ćwiczenia 1 17 lutego 2012 Na tych ćwiczeniach zajmiemy się pojęciem well quasi-ordering (WQO) bardzo przydatnym do analizy nieskończonych ciągów. Definicja

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 4a: Rozwiązywanie rekurencji http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Czas działania programu Dla konkretnych

Bardziej szczegółowo

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

1. Wykład NWD, NWW i algorytm Euklidesa. 1.1. NWD, NWW i algorytm Euklidesa. 1. Wykład 1 Twierdzenie 1.1 (o dzieleniu z resztą). Niech a, b Z, b 0. Wówczas istnieje dokładnie jedna para liczb całkowitych q, r Z taka, że a = qb + r oraz 0 r< b.

Bardziej szczegółowo

MODELE MATEMATYCZNE W UBEZPIECZENIACH

MODELE MATEMATYCZNE W UBEZPIECZENIACH MODELE MATEMATYCZNE W UBEZPIECZENIACH WYKŁAD 6: SKŁADKI OKRESOWE Składki okresowe netto Umowę pomiędzy ubezpieczycielem a ubezpieczonym dotyczącą ubezpieczenia na życie nazywa się polisą ubezpieczeniową

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl 4/14 Indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej

Bardziej szczegółowo

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: Ciągi rekurencyjne Zadanie 1 Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: w dwóch przypadkach: dla i, oraz dla i. Wskazówka Należy poszukiwać rozwiązania w postaci, gdzie

Bardziej szczegółowo

1 Automaty niedeterministyczne

1 Automaty niedeterministyczne Szymon Toruńczyk 1 Automaty niedeterministyczne Automat niedeterministyczny A jest wyznaczony przez następujące składniki: Alfabet skończony A Zbiór stanów Q Zbiór stanów początkowych Q I Zbiór stanów

Bardziej szczegółowo

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań System aksjomatyczny logiki Budując logikę

Bardziej szczegółowo

Logika Matematyczna (1)

Logika Matematyczna (1) Logika Matematyczna (1) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl 4 X 2007 Jerzy Pogonowski (MEG) Logika Matematyczna (1) 4 X 2007 1 / 18 Plan konwersatorium Dzisiaj:

Bardziej szczegółowo

Matematyka dyskretna

Matematyka dyskretna Matematyka dyskretna Wykład 13: Teoria Grafów Gniewomir Sarbicki Literatura R.J. Wilson Wprowadzenie do teorii grafów Definicja: Grafem (skończonym, nieskierowanym) G nazywamy parę zbiorów (V (G), E(G)),

Bardziej szczegółowo

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

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń Elementy logiki Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń 1 Klasyczny Rachunek Zdań 1.1 Spójniki logiczne Zdaniem w sensie logicznym nazywamy wyrażenie, które jest

Bardziej szczegółowo

CO TO SĄ BAZY GRÖBNERA?

CO TO SĄ BAZY GRÖBNERA? CO TO SĄ BAZY GRÖBNERA? Wykład habilitacyjny, Toruń UMK, 5 czerwca 1995 roku Andrzej Nowicki W. Gröbner, 1899-1980, Austria. B. Buchberger, Austria. H. Hironaka, Japonia (medal Fieldsa). Bazy, o których

Bardziej szczegółowo

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

Logika Stosowana. Wykład 2 - Logika modalna Część 3. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2017/2018 Logika Stosowana Wykład 2 - Logika modalna Część 3 Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2017/2018 Marcin Szczuka (MIMUW) Logika Stosowana 2018 1 / 36 Plan wykładu

Bardziej szczegółowo

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP 1 Pojęcie dowodu w KRP Pojęcia: formuły zdaniowej języka Klasycznego Rachunku

Bardziej szczegółowo

Elementy logiki matematycznej

Elementy logiki matematycznej Elementy logiki matematycznej Przedmiotem logiki matematycznej jest badanie tzw. wyrażeń logicznych oraz metod rozumowania i sposobów dowodzenia używanych w matematyce, a także w innych dziedzinach, w

Bardziej szczegółowo

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

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 C. Bagiński Materiały dydaktyczne 1 Matematyka Dyskretna /008 rozwiązania 1. W każdym z następujących przypadków podać jawny wzór na s n i udowodnić indukcyjnie jego poprawność: (a) s 0 3, s 1 6, oraz

Bardziej szczegółowo

Graf. Definicja marca / 1

Graf. Definicja marca / 1 Graf 25 marca 2018 Graf Definicja 1 Graf ogólny to para G = (V, E), gdzie V jest zbiorem wierzchołków (węzłów, punktów grafu), E jest rodziną krawędzi, które mogą być wielokrotne, dokładniej jednoelementowych

Bardziej szczegółowo

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ KONWERSATORIUM 6: REZOLUCJA V rok kognitywistyki UAM 1 Kilka uwag terminologicznych Słuchacze zapewne pamiętają z zajęć dotyczących PROLOGu poniższą

Bardziej szczegółowo

LX Olimpiada Matematyczna

LX Olimpiada Matematyczna LX Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia drugiego 13 lutego 2009 r. (pierwszy dzień zawodów) Zadanie 1. Liczby rzeczywiste a 1, a 2,..., a n (n 2) spełniają warunek a 1

Bardziej szczegółowo

Problem. Uzgadnianie wyrażeń rachunku predykatów. Instancja wyrażenia. Podstawienie termu za zmienną. Joanna Józefowska

Problem. Uzgadnianie wyrażeń rachunku predykatów. Instancja wyrażenia. Podstawienie termu za zmienną. Joanna Józefowska Problem Instytut Informatyki jedzenie(x 1 ) lubi(adam, x 1 ) jedzenie(jabłko) jedzenie(kurczak) je(x 1, x 2 ) żyje(x 1 ) jedzenie(x 2 ) je(bogdan, orzeszki) żyje(bogdan) je(bogdan, x 2 ) je(zuzia, x 2

Bardziej szczegółowo

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

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań. Wykłady z Analizy rzeczywistej i zespolonej w Matematyce stosowanej Wykład ELEMENTY LOGIKI ALGEBRA BOOLE A Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek

Bardziej szczegółowo

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

n=0 Dla zbioru Cantora prawdziwe są wersje lematu 3.6 oraz lematu 3.8 przy założeniu α = : 4. Zbiory borelowskie. Zbiór wszystkich podzbiorów liczb naturalnych będziemy oznaczali przez ω. Najmniejszą topologię na zbiorze ω, w której zbiory {A ω : x A ω \ y}, gdzie x oraz y są zbiorami skończonymi,

Bardziej szczegółowo

Definicja: zmiennych zdaniowych spójnikach zdaniowych:

Definicja: zmiennych zdaniowych spójnikach zdaniowych: Definicja: Alfabet języka logiki zdań składa się z nieskończonego (najczęściej zakładamy: przeliczalnego) zbioru P, o którym myślimy jak o zbiorze zmiennych zdaniowych i skończonego zbioru symboli, o których

Bardziej szczegółowo

Dlaczego nie wystarczają liczby wymierne

Dlaczego nie wystarczają liczby wymierne Dlaczego nie wystarczają liczby wymierne Analiza zajmuje się problemami, w których pojawia się przejście graniczne. Przykładami takich problemów w matematyce bądź fizyce mogą być: 1. Pojęcie prędkości

Bardziej szczegółowo

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację

Bardziej szczegółowo

2 Rodziny zbiorów. 2.1 Algebry i σ - algebry zbiorów. M. Beśka, Wstęp do teorii miary, rozdz. 2 11

2 Rodziny zbiorów. 2.1 Algebry i σ - algebry zbiorów. M. Beśka, Wstęp do teorii miary, rozdz. 2 11 M. Beśka, Wstęp do teorii miary, rozdz. 2 11 2 Rodziny zbiorów 2.1 Algebry i σ - algebry zbiorów Niech X będzie niepustym zbiorem. Rodzinę indeksowaną zbiorów {A i } i I 2 X nazywamy rozbiciem zbioru X

Bardziej szczegółowo

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2012/13

Jarosław Wróblewski Analiza Matematyczna 1A, zima 2012/13 35. O zdaniu 1 T (n) udowodniono, że prawdziwe jest T (1), oraz że dla dowolnego n 6 zachodzi implikacja T (n) T (n+2). Czy można stąd wnioskować, że a) prawdziwe jest T (10), b) prawdziwe jest T (11),

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka dyskretna. Andrzej Łachwa, UJ, /15 Matematyka dyskretna Andrzej Łachwa, UJ, 2015 andrzej.lachwa@uj.edu.pl 3/15 Indukcja matematyczna Poprawność indukcji matematycznej wynika z dobrego uporządkowania liczb naturalnych, czyli z następującej

Bardziej szczegółowo

FUNKCJA LINIOWA - WYKRES

FUNKCJA LINIOWA - WYKRES FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2012 andrzej.lachwa@uj.edu.pl 2/14 Funkcji podłogi z logarytmu można użyć do wyliczenia liczby cyfr liczby naturalnej k (k>0): w układzie dziesiętnym log 10 (k)

Bardziej szczegółowo

Początki informatyki teoretycznej. Paweł Cieśla

Początki informatyki teoretycznej. Paweł Cieśla Początki informatyki teoretycznej Paweł Cieśla Wstęp Przykładowe zastosowanie dzisiejszych komputerów: edytowanie tekstów, dźwięku, grafiki odbiór telewizji gromadzenie informacji komunikacja Komputery

Bardziej szczegółowo

Dwa równania kwadratowe z częścią całkowitą

Dwa równania kwadratowe z częścią całkowitą Dwa równania kwadratowe z częścią całkowitą Andrzej Nowicki Wydział Matematyki i Informatyki Uniwersytet M. Kopernika w Toruniu anow @ mat.uni.torun.pl 4 sierpnia 00 Jeśli r jest liczbą rzeczywistą, to

Bardziej szczegółowo