Logika dla informatyków/Ćwiczenia 1: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu – „.</math>” na „</math>.”
m Zastępowanie tekstu – „<math> ” na „<math>”
 
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika)
Linia 31: Linia 31:


{{Cwiczenie|4|cwicz_4|
{{Cwiczenie|4|cwicz_4|
Dla dowolnej formuły <math>\var\varphi</math> niech <math>\hat{\var\varphi}</math> oznacza dualizację formuły <math>\var\varphi</math>, tzn. formułę powstającą z <math>\var\varphi </math> przez zastąpienie każdego wystąpienia <math>\wedge</math> symbolem <math>\vee</math> oraz każdego wystąpienia <math>\vee</math> symbolem <math>\wedge</math>.  
Dla dowolnej formuły <math>\var\varphi</math> niech <math>\hat{\var\varphi}</math> oznacza dualizację formuły <math>\var\varphi</math>, tzn. formułę powstającą z <math>\var\varphi</math> przez zastąpienie każdego wystąpienia <math>\wedge</math> symbolem <math>\vee</math> oraz każdego wystąpienia <math>\vee</math> symbolem <math>\wedge</math>.  


(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ą.
Linia 55: Linia 55:
<span id="krecic">&nbsp;</span>
<span id="krecic">&nbsp;</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 P(X)</math> nazwijmy ''wartościowaniem'' w&nbsp;zbiorze <math> P(X)</math>. Każdej formule zdaniowej&nbsp;<math>\var\varphi</math> przypiszemy teraz pewien podzbiór <math>[[\var\varphi]]\warpi</math> zbioru&nbsp;<math>X</math>, który nazwiemy jej ''wartością'' przy wartościowaniu&nbsp;<math>v</math>.
Niech <math>X</math> będzie dowolnym zbiorem niepustym. Dowolną funkcję <math>v:\mbox{\small ZZ}\to P(X)</math> nazwijmy ''wartościowaniem'' w&nbsp;zbiorze <math>P(X)</math>. Każdej formule zdaniowej&nbsp;<math>\var\varphi</math> przypiszemy teraz pewien podzbiór <math>[[\var\varphi]]\warpi</math> zbioru&nbsp;<math>X</math>, który nazwiemy jej ''wartością'' przy wartościowaniu&nbsp;<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&nbsp;<math> P(X)</math>, tj.&nbsp;gdy dla dowolnego <math>v</math>jej wartością jest cały zbiór&nbsp;<math>X</math>.
Udowodnić, że formuła <math>\var\varphi</math> jest tautologią rachunku zdań wtedy i tylko wtedy, gdy jest ''prawdziwa'' w&nbsp;<math>P(X)</math>, tj.&nbsp;gdy dla dowolnego <math>v</math>jej wartością jest cały zbiór&nbsp;<math>X</math>.
}}
}}



Aktualna wersja na dzień 10:34, 5 wrz 2023

Ćwiczenie 1

Zbadać, czy następujące formuły są tautologiami rachunku zdań i czy są spełnialne:

  1. (pr)(qs)(¬p¬s)(¬p¬q);
  2. (pq)(qr);
  3. ((pq)r)¬(((qr)r)r));
  4. (pq)(¬pr)(r¬q);
  5. ((¬pq)r)¬(pq);
  6. p(¬pq)(¬p¬q);
  7. (pq)(p¬q);
  8. qr(pqpr);
  9. (pqr)(q(¬ps))(¬sqr)q.

Ćwiczenie 2

Czy następujące zbiory formuł są spełnialne?

  1. {p¬q,q¬r,r¬p};
  2. {pq,qr,rs¬q};
  3. {¬(¬qp),p¬r,q¬r};
  4. {sq,p¬q,¬(sp),s}.

Ćwiczenie 3

Czy zachodzą następujące konsekwencje?

  1. pq¬r,pr¬q;
  2. pq,p(qr)pr;
  3. p(qr),pqqr;
  4. (pq)r,¬pr;
  5. (pq)r,¬rp;
  6. pq,r¬qr¬p.

Ć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:

  1. Dokładnie dwie spośród wartości ϱ(p), ϱ(q) i ϱ(r) są równe 1.
  2. ϱ(p)=ϱ(q)=ϱ(r).

Rozwiązanie: Można to robić na różne sposoby, ale najprościej po prostu wypisać alternatywę koniunkcji, np. (pq¬r)(p¬qr).

Ćwiczenie 6

Udowodnić, że dla dowolnej funkcji f:{0,1}k{0,1} 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 {p1,,pk}, 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ą f.)

Wskazówka: Indukcja ze względu na k.

 

Ćwiczenie 7

Niech X 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 P(X). 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 X, który nazwiemy jej wartością przy wartościowaniu v.

  • [[]]v= oraz [[top]]v=X;
  • [[p]]v=v(p), gdy p 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 prawdziwaP(X), tj. gdy dla dowolnego vjej wartością jest cały zbiór X.

Ć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 p i niech q 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 p na q. 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 p ani q, taka że

Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi(p)\models p\leftrightarrow\psi} .