4 Klasyczny rachunek zdań Elementy Logiki i Teorii Mnogości 2015/2016 Spis najważniejszych tautologii: (a) p p prawo wyłączonego środka (b) ( p) p prawo podwójnej negacji (c) p q q p (d) p q q p prawo przemienności koniunkcji prawo przemienności alternatywy (e) (p (p q)) q (f) (p q) ( p) ( q) (p q) ( p) ( q) prawo odrywania prawa de Morgana (g) (p q) ( q p) prawo kontrapozycji (h) (p q) ((p q) (r r)) prawo dowodzenia przez sprzeczność (i) (p q) (p q) (q p) (j) p (r s) (p r) (p s) (r s) p (r p)(s p) prawo rozdzielności koniunkcji względem alternatywy (k) p (r s) (p r) (p s) (r s) p (r p) (s p) prawo rozdzielności alternatywy względem koniunkcji. Zadanie 1. Podaj schematy logiczne następujących zdań. Które z tych zdań są prawdziwe? W których przypadkach schemat logiczny jest tautologią? (a) Jeśli nie jest prawdą że liczba n jest podzielna przez 2 i przez 3 to nie jest prawdą że n jest podzielna przez 2 lub nie jest prawdą że n jest podzielna przez 3. (b) Jeśli liczba n N dzieli się przez 6 to n dzieli się przez 3. (c) Zbiór A jest skończony wtedy i tylko wtedy gdy zbiór A nie jest nieskończony. 1
(d) Jeżeli z faktu że słoń ma cztery nogi wynika że słoń ma trąbę to z faktu że słoń nie ma trąby wynika że słoń nie ma czterech nóg. (e) Jeśli liczba n N jest liczbą pierwszą to n równa się 4 o ile n jest liczbą złożoną. (f) Jeśli figura A jest czworokątem i A ma wszystkie kąty równe to z faktu iż A jest czworokątem wynika że A ma wszystkie boki równe. (g) Jeśli liczba n N dzieli się przez 3 i dzieli się przez 5 to z faktu iż n dzieli się przez 3 wynika że n dzieli się przez 5. (h) Jeśli nie jest prawdą że albo prosta k jest równoległa do prostej l albo prosta m nie jest równoległa do prostej l to albo prosta k nie jest równoległa do prostej l albo prosta m jest równoległa do prostej l. Kilka następnych zadań dotyczy instrukcji warunkowej if z języka C. Używamy następujących oznaczeń operatorów logicznych z tego języka. -- operator logiczny OR && -- operator logiczny AND! -- operator logiczny NOT Zadanie 2. W instrukcji warunkowej if (???) printf("nie") else printf("tak"); uzupełnij warunek logiczny (???) tak aby na ekranie zostało wyświetlone słowo TAK. Zadanie 3. Zmienne a b typu int zostały wcześniej zadeklarowane i przypisano im pewne wartości będące liczbami całkowitymi. Co pojawi się na ekranie po wykonaniu następujących instrukcji? Czy wynik zależy od wartości które zostały przypisane zmiennym a b? (a) if ((a<b) &&!(a<b)) printf("tak") else printf("nie"); (b) if ((a<b)!(a<b)) printf("tak") else printf("nie"); (c) if (!((a<b) &&!(a<b))) printf("tak") else printf("nie"); (d) if (!((a<b)!(a<b))) printf("tak") else printf("nie"); (e) if ((a<b) (a>=b)) printf("tak") else printf("nie"); (f) if ((a<b) (a>b)) printf("tak") else printf("nie"); (g) if ((a<b) && (a>=b)) printf("tak") else printf("nie"); (h) if ((a<b) && (a>b)) printf("tak") else printf("nie"); (i) if ((a<=b) && (a>=b)) printf("tak") else printf("nie"); 2
Zadanie 4. W poniższych instrukcjach warunkowych zamień warunki logiczne na równoważne tak aby nie używać operatora &&. (a) if ((a<b) && (c<d)) c=d else b=a; (b) if ((a<b) && (c<=d)) c=d else b=a; (c) if ((a<b) && (c>d)) c=d else b=a; (d) if ((a<b) &&!(c<d)) c=d else b=a; (e) if (!(a<b) &&!(c<d)) c=d else b=a; (f) if (!((a<b) && (c<d))) c=d else b=a; (g) if (!(!(a<b) &&!(c<d))) c=d else b=a; Zadanie 4. W poniższych instrukcjach warunkowych zamień warunki logiczne na równoważne tak aby nie używać operatora. (a) if ((a<b) (c<d)) c=d else b=a; (b) if ((a<b) (c<=d)) c=d else b=a; (c) if ((a<b) (c>d)) c=d else b=a; (d) if ((a<b)!(c<d)) c=d else b=a; (e) if (!(a<b)!(c<d)) c=d else b=a; (f) if (!((a<b) (c<d))) c=d else b=a; (g) if (!(!(a<b)!(c<d))) c=d else b=a; Zadanie 5. Uprość poniższe warunki logiczne. (a) if ((a<b) && (b<c) && (a<c)) c=a else b=a; (b) if ((a<b) && ((a<b) (a<b))) a=b else b=a; (c) if ((a<b) ((a<b) && (a<b))) a=b else b=a; (d) if ((a<b) && ((a<b)!(a>=b))) a=b else b=a; (e) if (!(a>=b) && ((a<b)!(a>=b))) a=b else b=a; (f) if ((a>=b) (a<=b) (a==b)) a=b else b=a; (g) if ((a>=b) && (a<=b) && (a==b)) a=b else b=a; Zadanie 6. Spróbuj odnaleźć w pamięci definicję formuły zdaniowej. Wskaż które z poniższych napisów (słów) nie są formułami rachunku zdań. (a) ( p) (p q) (b) ( p ) q (c) ( ( ( p))) 3
(d) p p q. Zadanie 7. Przypomnij sobie pojęcie wartościowania zmiennych zdaniowych. Ile jest wszystkich możliwych wartościowań trzech zmiennych zdaniowych p q s? Stosując rekurencyjną definicję wartościowania formuł podaj jaka jest wartość logiczna formuły p (p (q s)) dla wartościowania [p := 1 q := 0 s := 1]. Zadanie 8. Poniższe formuły przedstaw graficznie w postaci drzewa i oblicz na drzewie ich wartość logiczną dla wybranych wartościowań zmiennych zdaniowych. Udowodnij że formuły te są tautologiami (np. metodą 0 1). 1 (a) ((p q) s) ((p q) s) (b) (p (p q)) q (c) p (q (p q)) (d) p ( p) (e) (p q) (q p) (f) ( (p q)) (( p) ( q)) (g) (p q) ( p q) (h) (p q) (( q) ( p)) (i) (p q) ((q r) (p r)) (j) ((p q) r) (p (q r)) (k) ( p) (p q) (l) (p (q r)) ((p q) (p r)) (m) p (q s) (p q) (p s) (n) (p (p q)) p. Zadanie 9. Poniższe formuły przedstaw graficznie w postaci drzewa i sprawdź które spośród nich są tautologiami. 1 Pamiętaj że istnieją skrócone metody testowania tautologii - np. w przypadku implikacji lub instancji tautologii. 4
(a) ((p q) ( p)) q (b) p (( p) q) (c) ((p q) (q r)) (p r) (d) ((p q) (p q)) (q p) (e) (p (p q)) ((p q) r) (f) ((p q) (r s)) ((p r) (q s)) (g) ( (p q)) (p q) (h) ((p q) (r q)) ((p r) q) (i) (p q) ((p q) p) (j) (p p) p (k) (p p) p (l) ((p q) r) ((p r) (q r)) (m) p (( p) q) (n) ((p q) r) ((p ( r)) ( q)). Zadanie 10. Sprowadź do postaci normalnej koniunktywno-alternatywnej wybrane formuły klasycznego rachunku zdań z przedstawionych w poprzednim zadaniu. Oceń czy są one tautologiami. Zadanie 11. Sformułuj negacje następujących zdań. (a) Liczba 127 jest nieparzysta i jest liczbą pierwszą. (b) Kwadrat jest równoległobokiem lub trapezem. (c) Liczba a jest dodatnia a liczba b nie jest dodatnia. (d) x R i x > 0. (e) x = 0 lub x 0. (f) Ala ma kota i psa. (g) Ala ma kota i nie ma psa. 5
(h) Ala nie ma kota ani nie ma psa. (i) Będę oglądał film lub czytał książkę. (j) Jeżeli będzie padał deszcz to pójdziemy do kina. (k) Jeżeli będzie padał deszcz to nie pójdziemy do kina. (l) Pójdziemy do kina wtedy i tylko wtedy gdy będzie padał deszcz. Zadanie 12. Wiemy że prawdziwe jest zdanie: Jeżeli będzie padał deszcz to pójdziemy do kina. Czy prawdziwe jest zdanie: Pójdziemy do kina lub nieprawda że będzie padał deszcz? Zadanie 13. Udowodnij że schemat φ 1 φ 2... φ n ψ jest regułą dowodzenia wtedy i tylko wtedy gdy formuła (φ 1 φ 2... φ n ) ψ jest tautologią. Zadanie 14. Uzasadnij poprawność następujących reguł dowodzenia: (a) reguła odrywania modus ponens: (b) (c) (d) (e) (f) (g) (h) p q p q p q p q ( q) ( p) p q p q p ( q) p p r q s r s p q p q p ( p) p p q p 6
(i) ( p) (r r). p Zadanie 15. Pan Iksiński wypowiada następujące zdania: Kocham Barbarę lub Joannę oraz Jeśli kocham Barbarę to kocham Joannę. Czy wynika z tego że Pan Iksiński kocha Joannę? Zadanie 16. Załóżmy że Pan Iksiński zapytany o to czy z faktu że kocha Barbarę wynika że kocha Joannę odpowiada: Jeśli to prawda to kocham Barbarę. Czy wynika z tego że kocha Barbarę? Czy wynika z tego że kocha Joannę? Zadanie 17. Załóżmy że Pan Poliglocki posługuje się co najmniej jednym językiem spośród angielskiego niemieckiego i rosyjskiego oraz (1) jeśli zna angielski lecz nie zna niemieckiego to zna rosyjski (2) zna jednocześnie niemiecki i rosyjski albo nie zna żadnego z nich (3) jeśli zna niemiecki to zna też angielski. Co można powiedzieć o znajomości języków przez Pana Poliglockiego? Zadanie 18. Pani Logikowska będąca z zawodu logikiem powiedziała swojemu synowi: jeśli nie dokończysz kolacji to nie będziesz mógł dłużej oglądać telewizji i zostaniesz wysłany do łóżka. Syn wziął sobie słowa mamy do serca i natychmiast zjadł kolację. Niestety ku swojemu zaskoczeniu został od razu odesłany do łóżka. Czy z całej tej sytuacji można wywnioskować że Pani Logikowska skłamała? Zadanie 19. Niech n N n 2. Wykaż że jeśli implikacje p 1 p 2 p 2 p 3... p n 1 p n p n p 1 są prawdziwe to zmienne zdaniowe mają tę samą wartość logiczną. Zadanie 20. Określ dla jakich liczb naturalnych n formuła (...(((p p) p) p)...) p w której zmienna zdaniowa p występuje n razy stanowi prawo rachunku zdań. Rachunek zdań ma pewną ciekawą interpretację szczególnie ważną w zastosowaniach (np. przy projektowaniu hardware u). Zmienne zdaniowe interpretuje się wtedy jako urządzenia (nie interesuje nas tutaj ich budowa) które zdolne są wysyłać jeden z dwóch sygnałów: zero - 0 lub jeden - 1. W tej sytuacji spójniki zdaniowe należy rozumieć jako pewnego rodzaju bramki które przyjmują sygnały na wejściu (jeden bądź dwa w zależności od tego czy spójnik jest jedno- czy dwuargumentowy) i generują sygnał na wyjściu (odpowiedź ma sygnały wejściowe). Ostatecznie formuły zdaniowe w tym modelu należy interpretować jako schematy większych obwodów (sieci) zbudowanych ze źródeł sygnałów i bramek. Jeśli mamy formułę zdaniową F to drzewo tej formuły jest właśnie takim schematem gdzie liście drzewa reprezentują źródła 7
sygnałów a pozostałe wierzchołki odpowiadają bramkom przy czym sygnał na wyjściu bramki w korzeniu interpretujemy jako odpowiedź tego obwodu na dany układ sygnałów na wejściach. Zadanie 21. Niech dane będą zmienne zdaniowe d p k reprezentujące trzy niezależne źródła sygnałów 0-1. (a) Korzystając z algorytmu omówionego na wykładzie znajdź formułę zdaniową F = F (d p k) (o zmiennych d p k) której wartości logiczne dla wszystkich możliwych wartościowań zmiennych zdaniowych opisane są następującą tabelą: d p k ˆv(F ) 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 (b) Narysuj drzewo otrzymanej formuły F które jest jednocześnie schematyczną reprezentacją odpowiadającego jej obwodu elektrycznego. Spróbuj opisać zadanie jakie spełniałby taki obwód zainstalowany w samochodzie o ile przyjmiemy że sygnał 1 pojawia się na wejściu d (odpowiednio na wejściach p oraz k) w sytuacji gdy samochód ma zamknięte drzwi (odpowiednio pas kierowcy jest zapięty oraz kluczyk jest w stacyjce). Przed czym ostrzegałby wtedy sygnał 1 na wyjściu? (c) Posługując się prawami rachunku zdań sprowadź formułę F do postaci równoważnej F F opt w taki sposób że otrzymana formuła F opt ma możliwie najmniej spójników oraz. (d) Przedstaw drzewo formuły F opt i przekonaj się że odpowiadający jej obwód działa tak samo jak poprzedni obwód tzn. przy dowolnym układzie sygnałów na wejściach d p k oba te obwody zwracają taki sam sygnał na wyjściu. Zauważ przy tym że ten nowy obwód jest znacznie prostszy od poprzedniego. 8