1 Rachunek zdań Formuły zdaniowe (lub krócej: zdania) w klasycznym rachunku zdań składają się ze zmiennych zdaniowych nazywanych też zdaniami składowymi (oznaczane są zazwyczaj p, q, r,...) oraz operatorów logicznych. Wartość logiczna każdego zdania to prawda lub fałsz, albo krócej: 1 lub 0. Jeśli zdanie p jest prawdziwe to będziemy to oznaczać: w(p) = 1 lub p 1 lub [p] = 1 a jeśli jest fałszywe to: w(p) = 0 lub p 0 lub [p] = 0 Operatory logiczne najłatwiej zdefiniować przy użyciu tabelek w których podane jest jaką wartość logiczną ma operator zależnie od wartości logicznych zdań składowych. Najważniejsze operatory logiczne to jednoargumentowa negacja oraz dwuargumentowe alternatywa, koniunkcja, implikacja i równoważność: p p 1 0 0 1 p q p q 1 1 1 1 0 1 0 1 1 0 0 0 p q p q 1 1 1 1 0 0 0 1 0 0 0 0 p q p q 1 1 1 1 0 0 0 1 1 0 0 1 p q p q 1 1 1 1 0 0 0 1 0 0 0 1 Prawem logicznym lub inaczej tautologią nazywamy zdanie które jest prawdziwe dla dowolnych wartości logicznych zdań składowych. Zdaniem spełnialnym nazywamy zdanie, które jest prawdziwe dla pewnych wartości logicznych zdań składowych, a zdaniem niespełnialnym nazywamy zdanie fałszywe dla dowolnych wartości logicznych zdań składowych. Nietrudno zauważyć, że zdanie jest tautologią wtedy i tylko wtedy gdy jego negacja jest zdaniem niespełnialnym, a zdanie nie jest tautologią wtedy i tylko wtedy gdy jego negacja jest zdaniem spełnialnym. Najważniejsze prawa logiczne: Prawo podwójnej negacji : ( p) p Prawo wyłączonego środka : p p Pierwsze prawo de Morgana : (p q) ( p q) Drugie prawo de Morgana (p q) ( p q) Prawo zaprzeczenia implikacji : (p q) (p q) Prawo kontrapozycji : (p q) ( q p) Rozdzielność koniunkcji względem alternatywy : (p q) r (p r) (q r) Rozdzielność alternatywy względem koniunkcji : (p q) r (p r) (q r) W rachunku zdań najczęściej interesuje nas rozstrzygnięcie czy jakieś zdanie jest tautologią. Istnieje kilka sposobów by to zrobić - omówimy je na przykładzie zdania: p [( p q) ( p q)] 1
1) Metoda zero-jedynkowa (tabelka). Ta metoda jest najprostsza (bo schematyczna), ale zarazem najczęściej najdłuższa. Polega na rozpatrzeniu wszystkich możliwych wartości logicznych zdań składowych i zbadaniu (stopniowo) jaką wartość logiczną ma w poszczególnych przypadkach całe zdanie. p q p q p [( p q) ( p q)] 1 1 1 0 0 1 0 0 Poszczególne kolumny odpowiadają za poszczególne kawałki całego zdania - warto zwrócić uwagę, że nagłówki kolumn są takie, by było mniej pisania (nie jest to konieczne, ale wygodne). Najpierw wypełniamy kolumnę trzecią i czwartą, następnie szóstą i ósmą, na ich podstawie siódmą, a na koniec na podstawie pierwszej i siódmej - piątą, w której znajdą się wartości logiczne całego zdania: p q p q p [( p q) ( p q)] 1 1 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 W piątej kolumnie są same jedynki, a zatem nasze zdanie jest zawsze prawdziwe. Z uwagi na to, że w przypadku n zdań składowych tabelka ma 2 n wierszy zdrowy rozsądek podpowiada by w praktyce używać tej metody tylko dla n 3 (wersja dla leniwych: dla n 2). 2) Skrócona metoda zero-jedynkowa. Powyższy schemat można skrócić, ale niestety w sposób nieschematyczny, to znaczy wymaga to od nas pewnej inwencji twórczej. Skrócenie polega na sprytnym rozpatrywaniu poszczególnych przypadków. W naszym zdaniu zauważmy, że całość jest prawdziwa jeśli p jest zdaniem prawdziwym (ta prosta obserwacja zastępuje całe dwa pierwsze wiersze tabelki). Jeśli natomiast zdanie p jest fałszywe, to p jest fałszywe i wtedy można zauważyć, że p q ma taką samą wartość logiczną jak q, a p q ma taką samą wartość logiczną jak q. Stąd nawias kwadratowy ma taką samą wartość logiczną jak q q, czyli jest zdaniem zawsze prawdziwym, bo to prawo wyłączonego środka. Tak więc i w tym wypadku całe zdanie jest prawdziwe. 3) Dowód nie wprost. Jeśli zdanie jest tautologią, to jego zaprzeczenie jest zdaniem niespełnialnym. Pomysł polega więc na założeniu, że zaprzeczenie jest spełnialne - jeśli to założenie doprowadzi nas do sprzeczności, to znaczy ze zaprzeczenie jest niespełnialne, czyli wyjściowe zdanie jest tautologią. A jeśli to założenie nie doprowadzi nas do sprzeczności, to doprowadzi nas do takiego wartościowania zdań składowych dla których zaprzeczenie jest prawdziwe i wtedy wyjściowe zdanie nie jest tautologią. W naszym przykładzie zaprzeczenie zdania jest kolejno równoważne (na mocy praw de Morgana): (p [( p q) ( p q)]) p [( p q) ( p q)] p ( p q) ( p q) p (p q) (p q) Jeśli zakładamy, że to zdanie jest prawdziwe, to prawdziwe muszą być zdania: p, p q, p q. Jeśli p prawdziwe, to p fałszywe. Ale w takim razie z prawdziwości trzeciego zdania wynika, że q jest prawdziwe, a z prawdziwości drugiego zdania wynika, że q jest prawdziwe, czyli q fałszywe. To zaś oznacza sprzeczność, a stąd wniosek, że niemożliwe jest by zaprzeczenie naszego zdania było prawdziwe. Skoro więc zaprzeczenie zdania jest niespełnialne, to wyjściowe zdanie jest tautologią. 2
Warto zauważyć, że dowodzenie nie wprost jest wygodne gdy wyjściowe zdanie jest alternatywą lub koniunkcją, bo wtedy negacja tego zdania jest koniunkcją, a zatem z założenia jej prawdziwości dostajemy dużo warunków. 4) Przekształcenie zdania. Czasem możliwe jest proste przekształcenie równoważne zdania do jakiegoś prawa logicznego i to oczywiście wystarcza. Ta sytuacja (przynajmniej z naciskiem na słowo proste ) jest niestety rzadka. W naszym przypadku z prawa rozdzielności alternatywy względem koniunkcji nasze zdanie jest równoważne: p [ p (q q)] Tutaj zaś w nawiasie okrągłym mamy prawo wyłączonego środka, zatem nawias kwadratowy ma taką samą wartość logiczną jak p, więc zdanie jest równoważne... p p...to zaś znów jest prawo wyłączonego środka, czyli zdanie zawsze prawdziwe. Ćwiczenia 1.1 Rozstrzygnij czy następujące zdania są tautologiami: a) (p (q r)) ((p q) r) b) [(p q) (q r)] (p r) c) [(p q) (q r)] (p r) d) [(p q) (r s)] [(p r) (q s)] e) [(p q) p] q f) (q r) [(p q) (p r) g) (p q) [(p (q r)) (p r)] h) ([(p q) r] [(p q) r]) ( p q r) 1.2 Szalony ćwiczeniowiec zapytany przez studenta o to kiedy można przyjść na konsultacje odpowiedział: Będę we wtorek lub też, jeśli będę w poniedziałek, to będę w środę. Jeśli będę we wtorek, to nie będzie mnie w poniedziałek. Jeśli będę w środę, to będę w poniedziałek. Jeśli nie będzie mnie w poniedziałek, to będę w środę. Kiedy student może przyjść na konsultacje? 3
2 Rachunek kwantyfikatorów Funkcja zdaniowa zmiennej x to takie wyrażenie p(x) które staje się zdaniem dla ustalonej wartości x. Przykładowo jeśli p(x) znaczy tyle co x 2 4 = 0 to zdanie p(2) jest prawdziwe, a p(3) fałszywe. Funkcja zdaniowa sama w sobie nie jest zdaniem logicznym, ale stanie się nim jeśli poprzedzona zostanie kwantyfikatorami wiążącymi wszystkie zmienne. Zdaniami logicznymi są więc wyrażenia x p(x) (czyli: dla każdego x zachodzi p(x)) oraz x p(x) (czyli: dla pewnego x zachodzi p(x)). Pierwszy z tych kwantyfikatorów nazywamy ogólnym, a drugi szczegółowym. Warto jednak zwrócić, że wartość logiczna takiego zdania zależy od uniwersum, czyli zbioru w którym działają nasze kwantyfikatory. We wcześniejszym przykładzie zdanie x p(x) będzie zdaniem fałszywym w uniwersum R, ale zdaniem prawdziwym w uniwersum { 2}. Matematycy zwyczajowo podają uniwersum przy kwantyfikatorze, pisząc na przykład: x R p(x) (co z pewnych przyczyn nie zawsze pasuje informatykom). Zmiennych w funkcji zdaniowej może być więcej niż jedna, stąd sens mają też napisy p(x, y), p(x, y, z) itd. Zdanie z kwantyfikatorami nazwiemy prawem rachunku kwantyfikatorów jeśli dla dowolnych funkcji zdaniowych występujących w zdaniu oraz dla dowolnego uniwersum będzie zdaniem prawdziwym. Podstawowe takie prawa to prawa de Morgana dla kwantyfikatorów: ( x p(x)) x ( x p(x)) x p(x) p(x) Warto zauważyć, że oznacza to tyle, że łatwo obalić zdanie poprzedzone kwantyfikatorem ogólnym (jeśli jest fałszywe), bo wtedy wystarczy podać jeden kontrprzykład, a trudno obalić zdanie poprzedzone kwantyfikatorem szczegółowym (jeśli jest fałszywe), bo wówczas trzeba przeprowadzić rozumowanie ogólne. Tak samo łatwo udowodnić zdanie poprzedzone kwantyfikatorem szczegółowym (jeśli jest prawdziwe), bo wtedy wystarczy podać jeden przykład, a trudno udowodnić zdanie poprzedzone kwantyfikatorem ogólnym (jeśli jest prawdziwe), bo wówczas trzeba przeprowadzić rozumowanie ogólne. Na przykład dowód prawdziwego zdania, że każda funkcja różniczkowalna w punkcie jest w tym punkcie ciągła wymaga odrobiny wysiłku (jak przekonają się Państwo na wykładzie), natomiast obalić fałszywe twierdzenie, że funkcja ciągła w punkcie jest w tym punkcie różniczkowalna jest łatwo, bo wystarczy podać jeden kontrprzykład, np. f(x) = x i punkt x 0 = 0. W ogólności sprawdzanie czy jakieś zdanie z kwantyfikatorami jest lub nie jest prawem rachunku kwantyfikatorów - jest trudne, bo nie ma żadnego schematu jak w przypadku zwykłego rachunku zdań. Każdy przykład trzeba więc analizować osobno i zdać się na zdrowy rozsądek. Warto przy tym traktować zdanie p(x) jako x ma własność p, co pomaga zrozumieć co w istocie znaczy dane zdanie. Rozstrzygnijmy na przykład czy prawem rachunku kwantyfikatorów będzie: x (p(x) q(x)) ( x p(x)) ( x q(x)) 4
Zgodnie z poprzednią uwagą po przetłumaczeniu na język polski to zdanie znaczy tyle co jeśli każdy x ma którąś z własności p i q, to każdy x ma własność p lub każdy x ma własność q. I w tej postaci widać, że to nie jest w ogólności prawda - łatwo więc skonstruować kontrprzykład. Niech na przykład uniwersum będzie zbiór studentów Informatyki Stosowanej, zdanie p(x) oznacza, że x zaliczy ćwiczenia z matematyki, a q(x) - że x nie zaliczy ćwiczeń z matematyki. Wówczas poprzednik implikacji niewątpliwie jest prawdziwy, bo każdy student zaliczy bądź też nie zaliczy ćwiczeń. Ale następnik jest fałszywy, bo nie jest prawdą, że każdy student zaliczy ćwiczenia (choć szczerze Państwu tego życzę) ani też, że wszyscy studenci obleją ćwiczenia (a przynajmniej miejmy nadzieję, że nie jest prawdą). Natomiast prawem rachunku kwantyfikatorów byłoby: x (p(x) q(x)) ( x p(x)) ( x q(x)) Oznacza to bowiem tyle co jeśli każdy x ma obie własności p i q, to każdy x ma własność p i każdy x ma własność q, co w sposób oczywisty jest prawdą. Kontrprzykład z poprzedniego przypadku oczywiście tu nie działa, bo tym razem poprzednik nie byłby prawdziwy. Zauważmy jeszcze, że z praw de Morgana łatwo wynika w jaki sposób negować zdania z kwantyfikatorami - wystarczy zmienić każdy kwantyfikator na przeciwny oraz zanegować formułę zdaniową. Na przykład: ( x y z x + y z) jest równoważne: x y z x + y > z. 2.1 Rozstrzygnij czy następujące zdania są prawdziwe: a) x N y N x < y b) y N x N x < y c) y R x R x y 2.2 Napisz zaprzeczenia zdań bez użycia symbolu negacji: a) x y (x > y 2 y x) b) x y z [y > z (x z + 1 y = x + 3)] 2.3 Rozstrzygnij czy następujące zdania są prawami rachunku kwantyfikatorów. a) ( x p(x) q(x)) ( x p(x)) ( x q(x)) b) x (p(x) q(x)) [ x p(x) x q(x)] c) x (p(x) q(x)) [ x p(x) x q(x)] d) x y p(x, y) y x p(x, y) e) x y p(x, y) y x p(x, y) 5
3 Rachunek zbiorów Używając języka rachunku zdań możemy ściśle definiować relacje między zbiorami: oraz operatory rachunku zbiorów: A B x (x A x B) A = B (A B B A) x (x A x B) x A B (x A x B) x A B (x A x B( x A B (x A x B) Naszym najczęstszym celem jest sprawdzenie czy jakaś równość lub zawieranie zbiorów, jest prawdziwa-e dla dla dowolnych występujących tam zbiorów A, B, C,.... Jeśli chcemy to wykazać, to musimy skorzystać z powyższych definicji, a jeśli chcemy to obalić, to wystarczy wskazać przykład konkretnych zbiorów A, B, C,... dla których nie jest to prawda. Przykładowo by pokazać, że równość: A (B C) = (A B) (A C) nie zachodzi dla dowolnych zbiorów A, B, C wystarczy wskazać kontrprzykład A = C = {1} i B = dla którego lewa strona to {1}, a prawa. Natomiast by pokazać, że równość: A (B C) = (A B) (A C) zachodzi dla dowolnych A, B, C musimy pokazać, że x L x P. Mamy: x P x (A B) (A C) x (A B) (A C) (x A x B) (x A x B) x A (x B x C) x A ( (x B) (x C) x A (x B x C) x A (x B C) x A x (B C) x A (B C) x L Oczywiście powstaje naturalne pytanie skąd wiadomo, że w pierwszym przypadku trzeba szukać kontrprzykładu (i jak go znaleźć), a w drugim przypadku należy dowodzić prawdziwość równości. Rozstrzygnąć to mogą diagramy Venna, czyli graficzna ilustracja zbioru (teoretycznie zawsze wykonalna, ale czytelna tylko gdy w napisie występują co najwyżej trzy zbiory A, B, C). Nietrudno sprawdzić, że w drugim przykładzie zbiór po obu stronach to: 6
a stąd wniosek, że równość musi być prawdziwa i tego należy dowodzić (uwaga: sam rysunek nie jest formalnym dowodem!). Natomiast w pierwszym przykładzie prawa strona jest taka sama, ale lewa to: skąd widać, że lewa i prawa strona się różnią (ale i w tym wypadku sam rysunek to za mało i należy wskazać kontrprzykład). A różnią się na przykład tym fragmentem, który siedzi w A i C, a nie w B. Stąd też właśnie się wziął kontrprzykład: wystarczyło podać przykład takich zbiorów dla których istnieje element należący do A i C, ale nie do B (i oczywiście najlepiej podać najprostszy taki kontrprzykład). 3.0.1 Rozstrzygnij czy dla dowolnych zbiorów A, B, C, D prawdą jest, że: a) A (A B) = A f) (A B C) (B C) = A b) A (B C) = [(A B) C] (A C) g) A (A B) = A c) A (B C) = (A B) (A C) h) A B A B d) A (B C) = (A B) C i) (A B) C C (A B) e) A (B C) = (A B) C j) (A B) C (C A) C 7
4 Relacje Iloczynem kartezjańskim zbiorów A i B nazwiemy zbiór A B zawierający wszystkie pary elementów takich, że pierwszy element należy do A, a drugi do B. Formalnie: (x, y) A B (x A y B) Analogicznie można też zdefiniować iloczyn kartezjański większej liczby (nawet nieskończonej) zbiorów. Relacją dwuargumentową na zbiorze A nazwiemy dowolny podzbiór R iloczynu kartezjańskiego A A. Intuicyjnie należy rozumieć to w ten sposób, że relację definiuje się poprzez podanie które pary ze zbioru A są mają ze sobą ustalony związek (czyli są w tym co potocznie nazywa się relacją). Przykładowo relacja R = na zbiorze {1, 2, 3} to zbiór: R = {(1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3)} Zwyczajowo przy tym zamiast pisać (1, 2) R piszemy 1R2, tak samo jak w szkole pisało się 1 2, a nie (1, 2). Relacje mogą mieć różne własności, które są w matematyce na tyle użyteczne, że nadano im nazwy. Powiemy, że relacja jest: ˆ zwrotna, jeśli x A xrx; ˆ przeciwzwrotna, jeśli x A ˆ symetryczna, jeśli x,y A xrx; xry yrx; ˆ antysymetryczna, jeśli x,y A xry yrx; ˆ słabo antysymetryczna, jeśli x,y A xry yrx x = y; ˆ przechodnia, jeśli x,y,z A xry yrz xrz; ˆ spójna, jeśli x,y A xry yrx x = y; ˆ równoważności, jeśli jest zwrotna, symetryczna i przechodnia; ˆ częściowego porządku, jeśli jest zwrotna, słabo antysymetryczna i przechodnia; ˆ liniowego porządku, jeśli jest częściowego porządku i spójna. Uwaga: terminologia bywa różna, w szczególności przyjętą konwencją jest też, żeby zamiast terminu antysymetryczna używać terminu asymetryczna i wówczas zamiast słabo antysymetryczna mówi się po prostu antysymetryczna. Patologiczna relacja określona na zbiorze pustym ma wszystkie powyższe własności. Natomiast porządne relacje (określone na zbiorach niepustych) mają intuicyjne własności: zwrotność i przeciwzwrotność się wykluczają, podobnie jak symetryczność i antysymetryczność; jedyną relacją symetryczną i słabo antysymetryczną jest relacja równości. Dzięki tym obserwacjom łatwiej sprawdzać własności danej relacji, bo często skraca to nam pracę. 8
Zbadajmy dla przykładu własności relacji R określonej na zbiorze liczb naturalnych i zdefiniowanej jako xry x + y = 3. Z uwagi na 2R2 wiadomo, że relacja nie jest zwrotna, ale nie jest też przeciwzwrotna, bo 3 2 R 3 2. Jest za to w oczywisty sposób symetryczna, bo warunek z definicji xry yrx to w tym przypadku tyle co x + y = 3 y + x = 3, a to naturalnie prawda. Wyklucza to więc antysymetroczność i słabą antysymetryczność. Relacja nie jest też przechodnia, bo 1R2 i 2R 1, ale nie 1R( 1); ani spójna, bo ani nie jest 2R3, ani też 3R2. Zbadajmy jeszcze własności relacji xry 5 (x y) określonej na zbiorze liczb całkowitych. Z uwagi na to, że jest to nieznacznie trudniejszy przykład, warto podejść do zadania systematycznie, to znaczy przy badaniu kolejnych własności ściśle przełożyć warunek z definicji na naszą konkretną relację i sprawdzić czy ten warunek zachodzi. 1. Zwrotność - w naszym wypadku oznacza ona: x Z 5 (x x) czyli x Z 5 0 a to oczywiście prawda. 2. Symetryczność - u nas to tyle co: x,y Z 5 (x y) 5(y x) i jest to prawda, ponieważ y x = (x y) oraz wiadomo, że jeśli piątka dzieli jakąś liczbę całkowitą, to dzieli też liczbę do niej przeciwną. 3. Przechodniość - dla naszej relacji to spełnianie warunku: x,y,z Z [5 (x y) 5 (y z)] 5 (x z) Tym razem by wykazać, że to prawda, możemy powołać się na równość x z = (x y) + (y z) i fakt, że suma dwóch liczb podzielnych przez pięć też jest podzielna przez pięć. 4. Z powyższych trzech własności wynika, że nasza relacja to relacja równoważności. Z relacją równoważności (i tylko z nią!) związane jest pojęcie klas abstrakcji, tzn. zbiorów: [x] R = {y R xry} W poprzednim przykładzie nietrudno sprawdzić, że: [0] R = {0, 5, 5, 10,...} [1] R = {1, 6, 4, 11,...} [2] R = {2, 7, 3, 12,...} [3] R = {3, 8, 2, 12,...} [4] R = {4, 9, 1, 13,...} i więcej klas abstrakcji już nie ma, bo np. [5] R to to samo co [0] R. Warto zwrócić uwagę, że powyższe zbiory wyznaczają nam tak zwany podział zbioru liczb całkowitych, to znaczy są parami rozłączne, ale ich suma to zbiór wszystkich liczb całkowitych. Ponadto każda liczba jest w relacji ze wszystkimi elementami swojej klasy abstrakcji i z żadnymi innymi. Każda relacja równoważności dzieli nam zbiór na takie klasy abstrakcji i co więcej można powiedzieć, że jest to podział z uwagi na jedną wyabstrahowaną cechę - w naszym przykładzie ta cecha to reszta z dzielenia przez pięć. Często w matematyce utożsamia się elementy jednej klasy abstrakcji - można to zaobserwować na przykład na znanym działaniu modulo któro de facto jest działaniem wyłącznie na klasach abstrakcji (resztach z dzielenia). 9
Wszystkie powyższe uwagi dotyczyły relacji R A A. Równie dobrze jednak relacja może być określona na dwóch (a wieloargumentowa nawet na wielu) różnych zbiorach i w ogólności relacja dwuargumentowa między elementami zbioru A i elementami zbioru B to dowolny pozdbiór R A B. W tym przypadku w szczególności jeśli dla dowolnego a A istnieje dokładnie jeden element b B taki, że (a, b) R, to relację R nazywamy funkcją i piszemy: y = f(x) (x, y) R (napis ten ma sens z uwagi na jedyność igreka) W teorii mnogości takie ujęcie funkcji jest bardzo przydatne, bo zamiast nieścisłej definicji mówiącej, że funkcja to pewne przyporządkowanie, mamy definicję bardzo ścisłą. Rzecz jasna w matematyce teoretycznej taka ścisłość jest niezbędna, ale w matematyce praktycznej z powodzeniem można pozostać przy rozumieniu funkcji jako pewnego przyporządkowania i potraktowaniu powyższej definicji głównie w ramach ciekawostki. Ćwiczenia 4.1 Zbadaj czy poniższe równości są prawami rachunku zbiorów: a) A (B C) = (A B) (A C) b) A (B C) = (A B) (A C) c) A (B C) = (A B) (A C) d) (A B) (C D) = (A C) (B D) 4.2 Zbadaj własności następujących relacji: a) R R R, xry x 2 y 2 b) R N N, nrm n m c) R R R, xry xy = 0 d) R R R, xry y = x 2 e) R Z Z, xry x = 3 y = 3 f) r określona na zbiorze podzbiorów liczb rzeczywistych i taka, że ArB A B 4.3 Wykaż, że poniższe relacje są relacjami równoważności i wyznacz (opisz) ich klasy abstrakcji: a) R R R, xry x 2 = y 2 b) R R R, xry x y Q c) R R R, xry x = y d) R Z Z, nrm 7 (n 2 m 2 ) e) R (N N) (N N), (n, m)r(k, l) n + l = m + k f) r określona zbiorze wielomianów rzeczywistych i taka, że W rv W (0) = V (0) 10