Logika dla informatyków/Ćwiczenia 1: Różnice pomiędzy wersjami
Nie podano opisu zmian |
mNie podano opisu zmian |
||
Linia 35: | Linia 35: | ||
(i) Dowieść, że <math>\var\varphi</math> jest tautologią wtedy i tylko wtedy, gdy <math>\neg\hat{\var\varphi}</math>jest tautologią. | (i) Dowieść, że <math>\var\varphi</math> jest tautologią wtedy i tylko wtedy, gdy <math>\neg\hat{\var\varphi}</math>jest tautologią. | ||
(ii)Dowieść, że <math>\var\varphi\leftrightarrow\psi</math> jest tautologią wtedy i tylko wtedy, gdy <math>\hat{\var\varphi}\leftrightarrow\hat{\psi}</math> jest tautologią. | (ii) Dowieść, że <math>\var\varphi\leftrightarrow\psi</math> jest tautologią wtedy i tylko wtedy, gdy <math>\hat{\var\varphi}\leftrightarrow\hat{\psi}</math> jest tautologią. | ||
}} | }} | ||
Linia 48: | Linia 48: | ||
<span id="udacczleka" \> | <span id="udacczleka" \> | ||
{{Cwiczenie|6|cwicz_6| | {{Cwiczenie|6|cwicz_6| | ||
Udowodnić, że dla dowolnej funkcji <math>f:\{0,1\}^k\to\{0,1\}</math>istnieje formuła <math>\var\varphi</math>, w której występują tylko spójniki <math>\to</math> i <math>\bot</math> oraz zmienne zdaniowe ze zbioru <math>\{p_1,\ldots, p_k\}</math>, o tej własności, że dla dowolnego wartościowania zdaniowego <math>\varrho</math> zachodzi równość <math>[[\var\varphi]]\varrho = f(\varrho(p_1),\ldots, \varrho(p_k))</math>. (Inaczej mówiąc, formuła <math>\var\varphi</math> definiuje funkcję zerojedynkową <math>f</math>.) | Udowodnić, że dla dowolnej funkcji <math>f:\{0,1\}^k\to\{0,1\}</math> istnieje formuła <math>\var\varphi</math>, w której występują tylko spójniki <math>\to</math> i <math>\bot</math> oraz zmienne zdaniowe ze zbioru <math>\{p_1,\ldots, p_k\}</math>, o tej własności, że dla dowolnego wartościowania zdaniowego <math>\varrho</math> zachodzi równość <math>[[\var\varphi]]\varrho = f(\varrho(p_1),\ldots, \varrho(p_k))</math>. (Inaczej mówiąc, formuła <math>\var\varphi</math> definiuje funkcję zerojedynkową <math>f</math>.) | ||
''Wskazówka:'' Indukcja ze względu na <math>k</math>. | ''Wskazówka:'' Indukcja ze względu na <math>k</math>. | ||
Linia 55: | Linia 55: | ||
<span id="krecic"> </span> | <span id="krecic"> </span> | ||
{{Cwiczenie|7|cwicz_7| | {{Cwiczenie|7|cwicz_7| | ||
Niech <math>X</math> będzie dowolnym zbiorem niepustym. Dowolną funkcję <math>v:\mbox{\small ZZ}\to | Niech <math>X</math> będzie dowolnym zbiorem niepustym. Dowolną funkcję <math>v:\mbox{\small ZZ}\to P(X)</math> nazwijmy ''wartościowaniem'' w zbiorze <math> P(X).</math> Każdej formule zdaniowej <math>\var\varphi</math> przypiszemy teraz pewien podzbiór <math>[[\var\varphi]]\warpi</math> zbioru <math>X</math>, który nazwiemy jej ''wartością'' przy wartościowaniu <math>v</math>. | ||
*<math>[[\bot]]v=\emptyset</math> oraz <math>[[top]]v=X</math>; | *<math>[[\bot]]v=\emptyset</math> oraz <math>[[top]]v=X</math>; | ||
Linia 63: | Linia 63: | ||
*<math>[[\var\varphi\wedge\psi ]]v=[[\var\varphi]]v \cap [[\psi]]v</math>; | *<math>[[\var\varphi\wedge\psi ]]v=[[\var\varphi]]v \cap [[\psi]]v</math>; | ||
*<math>[[\var\varphi\to\psi]]v= (X-[[\var\varphi]]v) \cup[[\psi]]v</math>. | *<math>[[\var\varphi\to\psi]]v= (X-[[\var\varphi]]v) \cup[[\psi]]v</math>. | ||
Udowodnić, że formuła <math>\var\varphi</math> jest tautologią rachunku zdań wtedy i tylko wtedy, gdy jest ''prawdziwa'' w <math> | Udowodnić, że formuła <math>\var\varphi</math> jest tautologią rachunku zdań wtedy i tylko wtedy, gdy jest ''prawdziwa'' w <math> P(X)</math>, tj. gdy dla dowolnego <math>v</math>jej wartością jest cały zbiór <math>X</math>. | ||
}} | }} | ||
<span id="wziawszy" \> | <span id="wziawszy" \> | ||
{{Cwiczenie|8|cwicz_8| | {{Cwiczenie|8|cwicz_8| | ||
Uzupełnić szczegóły dowodu [[Logika dla informatyków/Rachunek zdań#fakt17|Faktu 1.7]].Pokazać, że długość postaci normalnej może wzrosnąć wykładniczo w stosunku do rozmiaru formuły początkowej. | Uzupełnić szczegóły dowodu [[Logika dla informatyków/Rachunek zdań#fakt17|Faktu 1.7]]. Pokazać, że długość postaci normalnej może wzrosnąć wykładniczo w stosunku do rozmiaru formuły początkowej. | ||
}} | }} | ||
Wersja z 12:56, 18 paź 2006
Ćwiczenie 1
Zbadać, czy następujące formuły są tautologiami rachunku zdań i czy są spełnialne:
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- .
Ćwiczenie 2
Czy następujące zbiory formuł są spełnialne?
- ;
- ;
- ;
- .
Ćwiczenie 3
Czy zachodzą następujące konsekwencje?
- ;
- ;
- ;
- ;
- ;
- .
Ćwiczenie 4
Dla dowolnej formuły Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} niech Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \hat{\var\varphi}} oznacza dualizację formuły Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} , tzn. formułę powstającą z Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi } przez zastąpienie każdego wystąpienia symbolem oraz każdego wystąpienia symbolem .
(i) Dowieść, że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest tautologią wtedy i tylko wtedy, gdy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \neg\hat{\var\varphi}} jest tautologią.
(ii) Dowieść, że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi\leftrightarrow\psi} jest tautologią wtedy i tylko wtedy, gdy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \hat{\var\varphi}\leftrightarrow\hat{\psi}} jest tautologią.
Ćwiczenie 5
Znależć formułę zdaniową Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} , która jest spełniona dokładnie przy wartościowaniach spełniających warunki:
- Dokładnie dwie spośród wartości , i są równe 1.
- .
Rozwiązanie: Można to robić na różne sposoby, ale najprościej po prostu wypisać alternatywę koniunkcji, np. .
Ćwiczenie 6
Udowodnić, że dla dowolnej funkcji istnieje formuła Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} , w której występują tylko spójniki i oraz zmienne zdaniowe ze zbioru , o tej własności, że dla dowolnego wartościowania zdaniowego zachodzi równość Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle [[\var\varphi]]\varrho = f(\varrho(p_1),\ldots, \varrho(p_k))} . (Inaczej mówiąc, formuła Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} definiuje funkcję zerojedynkową .)
Wskazówka: Indukcja ze względu na .
Ćwiczenie 7
Niech będzie dowolnym zbiorem niepustym. Dowolną funkcję Parser nie mógł rozpoznać (błąd składni): {\displaystyle v:\mbox{\small ZZ}\to P(X)} nazwijmy wartościowaniem w zbiorze Każdej formule zdaniowej Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} przypiszemy teraz pewien podzbiór Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle [[\var\varphi]]\warpi} zbioru , który nazwiemy jej wartością przy wartościowaniu .
- oraz ;
- , gdy jest symbolem zdaniowym;
- Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle [[\neg\var\varphi]]v= X-[[{\var\varphi]]v} ;
- Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle [[\var\varphi\vee\psi ]]v=[[\var\varphi]]v \cup [[\psi]]v} ;
- Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle [[\var\varphi\wedge\psi ]]v=[[\var\varphi]]v \cap [[\psi]]v} ;
- Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle [[\var\varphi\to\psi]]v= (X-[[\var\varphi]]v) \cup[[\psi]]v} .
Udowodnić, że formuła Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest tautologią rachunku zdań wtedy i tylko wtedy, gdy jest prawdziwa w , tj. gdy dla dowolnego jej wartością jest cały zbiór .
Ćwiczenie 8
Uzupełnić szczegóły dowodu Faktu 1.7. Pokazać, że długość postaci normalnej może wzrosnąć wykładniczo w stosunku do rozmiaru formuły początkowej.
Ćwiczenie 9
Niech formuła Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi\to\psi} będzie tautologią rachunku zdań. Znaleźć taką formułę , że:
- Zarówno Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi\to\vartheta} jak i są tautologiami rachunku zdań.
- W formule występują tylko te zmienne zdaniowe, które występują zarówno w Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jak i w .
Ćwiczenie 10
Niech Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi(p)} będzie pewną formułą, w której występuje zmienna zdaniowa i niech będzie zmienną zdaniową niewystępującą w Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi(p)} . Przez Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi(q)} oznaczmy formułę powstałą z Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi(p)} przez zamianę wszystkich na . Udowodnić, że jeśli
Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi(p), \var\varphi(q) \models p\leftrightarrow q}
to istnieje formuła , nie zawierająca zmiennych ani , taka że
Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi(p)\models p\leftrightarrow\psi} .