Logika matematyczna w informatyce

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

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

Uwaga 1.2. Niech (G, ) będzie grupą, H 1, H 2 < G. Następujące warunki są równoważne:

Metalogika (1) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM

Podstawy logiki i teorii mnogości Informatyka, I rok. Semestr letni 2013/14. Tomasz Połacik

Wstęp do Matematyki (2)

RELACJE I ODWZOROWANIA

- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S.

Zbiory. Specjalnym zbiorem jest zbiór pusty nie zawierajacy żadnych elementów. Oznaczamy go symbolem.

Działania Definicja: Działaniem wewnętrznym w niepustym zbiorze G nazywamy funkcję działającą ze zbioru GxG w zbiór G.

Relacje. opracował Maciej Grzesiak. 17 października 2011

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

Wykład ze Wstępu do Logiki i Teorii Mnogości

Notatki z Analizy Matematycznej 1. Jacek M. Jędrzejewski

Relacje binarne. Def. Relację ϱ w zbiorze X nazywamy. antysymetryczną, gdy x, y X (xϱy yϱx x = y) spójną, gdy x, y X (xϱy yϱx x = y)

Funkcje. Oznaczenia i pojęcia wstępne. Elementy Logiki i Teorii Mnogości 2015/2016

Relacje. Relacje / strona 1 z 18

Zbiory, relacje i funkcje

Matematyka dyskretna. 1. Relacje

Logika Matematyczna (1)

Logika I. Wykład 3. Relacje i funkcje

Struktury formalne, czyli elementy Teorii Modeli

Rozdzia l 3. Elementy algebry uniwersalnej

1 Logika Zbiory Pewnik wyboru Funkcje Moce zbiorów Relacje... 14

1 Zbiory. 1.1 Kiedy {a} = {b, c}? (tzn. podać warunki na a, b i c) 1.2 Udowodnić, że A {A} A =.

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

Chcąc wyróżnić jedno z działań, piszemy np. (, ) i mówimy, że działanie wprowadza w STRUKTURĘ ALGEBRAICZNĄ lub, że (, ) jest SYSTEMEM ALGEBRAICZNYM.

Zadania z algebry liniowej - sem. I Struktury algebraiczne

Podstawy logiki i teorii mnogości Informatyka, I rok. Semestr letni 2013/14. Tomasz Połacik

Teoria automatów i języków formalnych. Określenie relacji

Logika Matematyczna. Jerzy Pogonowski. Własności relacji. Zakład Logiki Stosowanej UAM

ALGEBRA Z GEOMETRIĄ PIERŚCIENIE, CIAŁA I HOMOMORFIZMY

... [a n,b n ] kn [M 1,M 2 ], gdzie a i M 1, b i M 2, dla i {1,..., n}. Wówczas: [a 1,b 1 ] k [a n,b n ] kn =(a 1 b 1 a 1

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

PRZEWODNIK PO PRZEDMIOCIE

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

Wniosek Niech R będzie pierścieniem, niech I R. WówczasI R wtedy i tylko wtedy, gdy I jest jądrem pewnego homomorfizmu.

Ćwiczenia 1 - Pojęcie grupy i rzędu elementu

14. Wykład 14: Grupa Galois wielomianu. Zasadnicze twierdzenia teorii Galois. Rozszerzenia rozwiązalne, cykliczne i abelowe

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

Topologia Algebraiczna - Pomocnik studenta. 1. Język teorii kategorii

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

1. R jest grupą abelową względem działania + (tzn. działanie jest łączne, przemienne, istnieje element neutralny oraz element odwrotny)

Systemy algebraiczne. Materiały pomocnicze do wykładu. przedmiot: Matematyka Dyskretna 1 wykładowca: dr Magdalena Kacprzak

Analiza matematyczna 1

1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.

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

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Elementy teorii mnogości. Część I. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im.

Logika Matematyczna (1)

KARTA KURSU. Kod Punktacja ECTS* 7

W poprzednim odcinku... Podstawy matematyki dla informatyków. Relacje równowa»no±ci. Zbiór (typ) ilorazowy. Klasy abstrakcji

Topologia I Wykład 4.

Logika Matematyczna 16 17

Podstawowe struktury algebraiczne

W pewnym mieście jeden z jej mieszkańców goli wszystkich tych i tylko tych jej mieszkańców, którzy nie golą się

Paweł Gładki. Algebra. pgladki/

2 Kongruencje 5. 4 Grupy 9. 5 Grupy permutacji Homomorfizmy grup Pierścienie 16

1 Logika (3h) 1.1 Funkcje logiczne. 1.2 Kwantyfikatory. 1. Udowodnij prawa logiczne: 5. (p q) (p q) 6. ((p q) r) (p (q r)) 3.

Naukoznawstwo (Etnolingwistyka V)

Paweł Gładki. Algebra. pgladki/

DEFINICJA. Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B.

KARTA KURSU. Wstęp do logiki i teorii mnogości Introduction to Logic and Set Theory

Grupy, pierścienie i ciała

IVa. Relacje - abstrakcyjne własności

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

O pewnych związkach teorii modeli z teorią reprezentacji

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

Elementy logiki matematycznej

Pytania i polecenia podstawowe

1 Relacje i odwzorowania

Działanie grupy na zbiorze

Co to są liczby naturalne i czemu ich nie ma?! Adam Kolany

1 Grupy. 1.1 Grupy. 1.2 Podgrupy. 1.3 Dzielniki normalne. 1.4 Homomorfizmy

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

Elementy teorii mnogości. Część II. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im.

. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ

Kierunek i poziom studiów: Matematyka, studia I stopnia, rok 1 Sylabus modułu: Wstęp do matematyki (Kod modułu: 03-MO1N-12-WMat)

KARTA PRZEDMIOTU. 12. PRZEDMIOTOWE EFEKTY KSZTAŁCENIA Odniesienie do kierunkowych efektów kształcenia (symbol)

FUNKCJE. (odwzorowania) Funkcje 1

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

1 Działania na zbiorach

Działanie grupy na zbiorze

Teoria ciała stałego Cz. I

Filtry i nety w przestrzeniach topologicznych

Algebra konspekt wykladu 2009/10 1. du na dzialanie na zbioze G, jeśli dla dowolnych elementów x, y S, x y S. S jest zamkniety ze wzgle

Semantyka rachunku predykatów

Definicje- Algebra III

KARTA KURSU. Kod Punktacja ECTS* 6. Znajomość podstaw logiki, teorii mnogości i algebry liniowej.

Metalogika (12) Jerzy Pogonowski. Uniwersytet Opolski. Zakład Logiki Stosowanej UAM

Wykłady z Matematyki Dyskretnej

Paradygmaty dowodzenia

5. Relacja prawostronnie jednoznaczna (jednoznaczna, inaczej: jest funkcją), jeżeli

Podstawowe struktury algebraiczne

Wstęp do Techniki Cyfrowej... Algebra Boole a

= b i M i [x], gdy charf = p, to a i jest pierwiastkiem wielomianu x n i

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

1. Wprowadzenie do rachunku zbiorów

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami.

Transkrypt:

Paweł Gładki Logika matematyczna w informatyce http://www.math.us.edu.pl/ pgladki/

Konsultacje: Piątek, 8:00-9:30 Jeżeli chcesz spotkać się z prowadzącym podczas konsultacji, postaraj się powiadomić go o tym przed lub po zajęciach, zadzwoń do jego pokoju, lub wyślij mu emaila.

Zasady zaliczania przedmiotu: 7 zadań domowych wartych w sumie 70 punktów i kolokwium warte 30 punktów. Brak egzaminu Kolokwium odbędzie się na przedostatnich zajęciach laboratoryjnych i będzie trwało 90 minut.

Zadania domowe: Rozwiązania zadań domowych należy przesyłać przez email. Dopuszczalne, a nawet pożądane jest organizowanie się w grupy do wspólnej nauki, ale rozwiązania muszą być indywidualne: prace, których autorstwo będzie budziło wątpliwości zostaną ocenione na 0 punktów.

Plan wykładu: 1. Rachunek zdań. 2. Rachunek predykatów. Semantyka formuł. Prawdziwość i spełnialność. Nierozstrzygalność. 3. Paradygmaty dowodzenia. Naturalna dedukcja. Rachunek sekwentów. 4. Logika intuicjonistyczna. Intuicjonistyczny rachunek zdań. Normalizacja dowodów. 5. Rachunek λ z typami prostymi. Izomorfizm Curry ego-howarda dla minimalnego intuicjonistycznego rachunku zdań. 6. Rachunek λ z typami zależnymi. Izomorfizm Curry ego-howarda-de Bruijna dla minimalnego intuicjonistycznego rachunku predykatów. 7. Obliczenia i wnioskowanie w systemie Coq.

Literatura: 1. Notatki z wykładów dostępne na stronie (w permanentnej konstrukcji...). 2. J. Tiuryn, J. Tyszkiewicz, P. Urzyczyn, Logika dla informatyków, http://www.mimuw.edu.pl/ urzy/calosc.pdf 3. M. Huth, M. Ryan, Logic in Computer Science, Cambridge, 2004. 4. P. Urzyczyn, Rachunek lambda, http://www.mimuw.edu.pl/ urzy/lambda/erlambda.pdf 5. Y. Bertot, P. Casteran, Interactive Theorem Proving and Program Development. Coq Art: The Calculus of Inductive Constructions, Springer, 2004. 6. A. Chlipala, Certified Programming with Dependent Types, http://adam.chlipala.net/cpdt/.

Czym jest Coq? Proof assistant/proof management system: narzędzie do interaktywnego dowodzenia twierdzeń: w języku specyfikacji możemy zapisać matematyczne definicje, twierdzenia, dowody, ale też wykonywalne programy funkcyjne z typami zależnymi; interaktywne środowisko dowodzenia twierdzeń pozwala na dowodzenie za pomocą taktyk; wspiera automatyzację dowodzenia.

Zastosowania Coq Kto i do czego używa Proof assistants? Informatycy używają ich do: weryfikacji fragmentów informatyki (weryfikacja dedukcyjna); formalizacji metateorii języków programowania; weryfikacji programów; generowania kodu (ekstrakcja z dowodu); współpracy z zewnętrznymi narzędziami do weryfikacji programów (Why 3, Frama C)

Projekty o znaczeniu nie tylko akademickim: Popl mark challenge czyli zmechanizowana metateoria dla mas: formalnie udowodnij metateorię dla twojego ulubionego języka programowania; Cristal Project: certyfikowany kompilator języka C CompCert; weryfikacja Java Card.

Matematycy używają ich to: konstruowania nowych teorii formalnych; weryfikowania dowodów. Matematycy nie są głównymi użytkownikami tego typu oprogramowania: weryfikacja dowodów matematycznych przy użyciu Coq jest zbyt czasochłonna, jest to też proces głównie mechaniczny.

Preliminaria algebraiczne

Relacje i funkcje. Niech X i Y będą niepustymi zbiorami. Zbiór wszystkich par uporządkowanych (x, y), x X, y Y, nazywamy produktem zbiorów X i Y i oznaczamy: Uwaga: X Y = {(x, y) x X, y Y }. (x, y) = {x, {x, y}}. Przez indukcję wprowadzamy pojęcie n-ki uporządkowanej: oraz produktu n zbiorów: (x 1,..., x n ) = ((x 1,..., x n 1 ), x n ) X 1... X n = {(x 1,..., x n ) x 1 X 1,..., x n X n }. Dla uproszczenia notacji będziemy pisali n X i = X 1... X n oraz i=1 X n = n X. i=1

Relacją ze zbioru X w zbiór Y nazywamy podzbiór R X Y. Jeżeli (x, y) R, to zwyczajowo piszemy xry. W przypadku, gdy X = Y, mówimy po prostu o relacji w zbiorze X. Dla danej relacji R X Y możemy zdefiniować relację odwrotną R 1 Y X w następujący sposób: (y, x) R 1 (x, y) R. Podobnie, jeśli R X Y oraz S Y Z są relacjami, to możemy zdefiniować złożenie relacji S R: (x, z) S R y Y [(x, y) R (y, z) S].

Wśród relacji na zbiorze X wyróżniamy kilka szczególnych typów: mówimy, że relacja R X X jest 1. zwrotna, jeżeli dla x X zachodzi xrx; 2. symetryczna, jeżeli dla x, y X zachodzi xry yrx; 3. antysymetryczna, jeżeli dla x, y X zachodzi xry yrx x = y; 4. przechodnia, jeżeli dla x, y, z X zachodzi xry yrz xrz; 5. spójna, jeżeli dla x, y X zachodzi xry yrx.

Funkcją ze zbioru X w zbiór Y nazywamy relację f X Y taką, że: xfy xfy y = y. Funkcje f X Y zwykle oznaczamy jako f : X Y, zaś zamiast xfy piszemy na ogół f (x) = y. f : X Y nazywamy 1. injekcją (albo funkcją różnowartościową), gdy jeśli f (x 1 ) = f (x 2 ), to x 1 = x 2, dla x 1, x 2 X ; 2. surjekcją (albo funkcją na ), gdy dla każdego y Y istnieje x X taki, że f (x) = y; 3. bijekcją, gdy jest injekcją i bijekcją. Do danej funkcji zawsze istnieje relacja odwrotna, ale nie zawsze musi ona być funkcją. Stwierdzenie Niech f : X Y będzie funkcją. Wówczas f jest injekcją wtedy i tylko wtedy, gdy istnieje do niej funkcja odwrotna. Jeżeli s : X Y i r : Y X są funkcjami takimi, że s r = id X, to s nazywamy sekcją, a r retrakcją.

Wśród wszystkich relacji, jakimi będziemy się zajmować, wyszczególnimy dwa rodzaje: równoważności i porządki. Równoważnością nazywamy relację w zbiorze X, która jest 1. zwrotna, 2. symetryczna oraz 3. przechodnia. Jeżeli x X oraz jest relacją równoważności w X, to zbiór wszystkich elementów, które są w relacji z x nazywamy klasą abstrakcji x (lub klasą równoważności x) i oznaczamy [x] = {y X : x y}. Gdy będzie jasne z jaką relacją akurat pracujemy, to będziemy zwyczajnie pisać [x] zamiast [x]. Zbiór wszystkich klas abstrakcji relacji oznaczamy przez X / = {[x] : x X }.

Wspomnijmy jeszcze o związku między relacjami równoważności a partycjami zbioru. Partycją (lub podziałem) zbioru X nazywamy rodzinę jego podzbiorów P taką, że: 1. P 1, P 2 P(P 1 P 2 P 1 P 2 = ) (a zatem P 1 i P 2 są parami rozłączne) oraz 2. {P P} = X (a więc P jest pokryciem zbioru X ). Mamy następujące: Stwierdzenie Niech będzie relacją równoważności w zbiorze X. Wówczas X / jest partycją zbioru X. Na odwrót, każda partycja wyznacza relację równoważności.

Porządkiem w zbiorze X nazywamy relację, która jest: 1. zwrotna, 2. antysymetryczna oraz 3. przechodnia.

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 I najczęściej będzie zbiorem skończonym. Typem (lub sygnaturą) algebry A = (A, {F i : i I }) nazywamy układ τ A = ( F i : i I ). Algebry A i B są podobne, gdy τ A = τ B. Jeżeli σ : I N oraz τ : J N spełniają warunki 1. I J, 2. σ(a) = τ(a) dla a J, to σ nazywamy wzbogaceniem typu τ, a τ reduktem typu σ.

Ważnym przykładem algebr, który będziemy bliżej studiować są monoidy. Monoidem nazywamy algebrę M = (M, +, 0) o typie τ M = (2, 0), dla której spełnione są następujące aksjomaty: 1. x + 0 = 0 + x = x dla wszelkich x M (tzn. 0 jest elementem neutralnym +) oraz 2. x + (y + z) = (x + y) + z dla wszelkich x, y, z M (tzn. + jest łączne). Jeżeli ponadto spełniony jest warunek x + y = y + x dla wszelkich x, y M, to M nazywamy monoidem przemiennym (lub abelowym).

Oznaczmy przez K(τ) klasę wszystkich algebr typu τ. Niech A = (A, {F i : i I }) i B = (B, {G i : i I }) będą algebrami podobnymi. Mówimy, że B jest podalgebrą algebry A (oznaczamy B A), gdy B A oraz dla każdego i I G i = F i B F i (symbol oznacza istotne zacieśnienie). Dalej, niech X B. Mówimy, że X generuje algebrę B, gdy B jest najmniejszą podalgebrą algebry A zawierającą uniwersum zawierające X.

Niech A = (A, {F i : i I }) i B = (B, {G i : i I }) będą algebrami podobnymi. Odwzorowanie φ : A B nazywamy homomorfizmem algebr A i B, co oznaczamy przez φ : A B, gdy dla każdego i I i dla dowolnych a 1,..., a n A, gdzie n = F i : φ(f i (a 1,..., a n )) = G i (φ(a 1 ),..., φ(a n )). Monomorfizm jest to homomorfizm injektywny, epimorfizm to homomorfizm surektywny, a izomorfizm to homomorfizm bijektywny.

Odtąd tam, gdzie jest to konieczne, milcząco zakładamy podobieństwo algebr A i B. Niech K oznacza klasę algebr podobnych. Spośród licznych konstrukcji na algebrach wyróżnimy trzy: algebry wolne, ilorazowe i produkty algebr. Mówimy, że A jest algebrą wolnąw K ze zbiorem wolnych generatorów X, gdy X generuje A oraz dla każdej algebry B K i dowolnego odwzorowania φ : X B istnieje dokładnie jedno przedłużenie φ do homomorfizmu algebr φ : A B. Algebrę B nazywamy po prostu wolną, gdy jest algebrą wolną w klasie wszystkich algebr podobnych do A.

Niech A = (A, {F i : i I }). Kongruencją algebry A nazywamy relację R A A taką, że 1. R jest relacją równoważności, 2. dla każdego i I i dla dowolnych a 1,..., a n A, gdzie n = F i : jeżeli a 1 Rb 1,..., a n Rb n, to F i (a 1,..., a n )RG(b 1,..., b n ). Niech A = (A, {F i : i I }) i niech R będzie kongruencją algebry A. Algebrą ilorazową algebry A nazywamy algebrę gdzie A/R = (A/R, {F R i : i I }), F R i ([a 1 ],..., [a n ]) = [F i (a 1,..., a n )], dla każdego i I i dla dowolnych a 1,..., a n A, gdzie n = F i. Epimorfizm κ : A A/R dany wzorem κ(a) = [a] zwiemy epimorfizmem kanonicznym.

Na koniec niech {A t : t T }, przy czym A t = (A t, {Fi t : i I }), będzie rodziną algebr podobnych. Produktem tej rodziny nazywamy algebrę A t, {G i : i I }) gdzie t T A t = ( t T G i ((a 1 t ) t,..., (a n t ) t ) = (F t i (a 1 t,..., a n t )) t dla dowolnych i I, a 1 t,..., a n t i n = F i.