Lista zadań 4: Klasyczny rachunek zdań

Transkrypt

Lista zadań 4: Klasyczny rachunek zdań
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 prawo przemienności koniunkcji,
(d) p ∨ q ⇔ q ∨ p prawo przemienności alternatywy,
(e) (p ∧ (p ⇒ q)) ⇒ q
prawo odrywania,

(f)
¬(p ∨ q) ⇔(¬p) ∧ (¬q) 
¬(p ∧ q) ⇔(¬p) ∨ (¬q) 
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 40 . 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 6= 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)
p ⇒ q, p
,
q
p ∨ q, ¬p
,
q
(c)
(¬q) ⇒(¬p), p
,
q
(d)
p ⇒ q, p ⇒(¬q)
,
¬p
(e)
(f)
p ⇒ r, q ⇒ s
,
r∧s
p⇔q
,
p⇒q
(g)
p ⇒(¬p)
,
¬p
(h)
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 p1 ⇒ p2 , p2 ⇒ p3 ,..., pn−1 ⇒ pn ,
pn ⇒ p1 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

Podobne dokumenty