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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Tprybick (dyskusja | edycje)
Nie podano opisu zmian
Tprybick (dyskusja | edycje)
Nie podano opisu zmian
Linia 10: Linia 10:
#<math>q\vee r\to (p\vee q\to p\vee r)</math>;
#<math>q\vee r\to (p\vee q\to p\vee r)</math>;
#<math>(p\vee q\vee r)\wedge(q\vee(\neg p\wedge s))\wedge (\neg s\vee q\vee r)\to q</math>.
#<math>(p\vee q\vee r)\wedge(q\vee(\neg p\wedge s))\wedge (\neg s\vee q\vee r)\to q</math>.




Linia 19: Linia 18:
#<math>\{\neg(\neg q\vee p), p\vee\neg r, q\to\neg r\}</math>;
#<math>\{\neg(\neg q\vee p), p\vee\neg r, q\to\neg r\}</math>;
#<math>\{s\to q, p\vee\neg q, \neg(s\wedge p), s\}</math>.
#<math>\{s\to q, p\vee\neg q, \neg(s\wedge p), s\}</math>.


<span id=cwicz_3> Ćwiczenie 3 </span>
<span id=cwicz_3> Ćwiczenie 3 </span>
Linia 28: Linia 28:
#<math>(p\to q)\to r, \neg r\models p</math>;
#<math>(p\to q)\to r, \neg r\models p</math>;
#<math>p\to q, r\to \neg q\models r\to\neg p</math>.
#<math>p\to q, r\to \neg q\models r\to\neg p</math>.


<span id=cwicz_4> Ćwiczenie 4 </span><br>
<span id=cwicz_4> Ćwiczenie 4 </span><br>
Linia 35: Linia 36:


(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ą.


<span id=cwicz_5> Ćwiczenie 5 </span>
<span id=cwicz_5> Ćwiczenie 5 </span>
Linia 42: Linia 44:
#<math>\varrho(p) = \varrho(q) \not= \varrho(r)</math>.
#<math>\varrho(p) = \varrho(q) \not= \varrho(r)</math>.


''Rozwiązanie:'' Można to robić na różne sposoby, ale najprościej po prostu wypisać alternatywę koniunkcji, np. <math>(p\wedge q\wedge \neg r)\vee(p \wedge\neg q \wedge r)</math>.


''Rozwiązanie:'' Można to robić na różne sposoby, ale najprościej po prostu wypisać alternatywę koniunkcji, np. <math>(p\wedge q\wedge \neg r)\vee(p \wedge\neg q \wedge r)</math>.


<span id=cwicz_6> Ćwiczenie 6 </span>
<span id=cwicz_6> Ćwiczenie 6 </span>
Linia 49: Linia 51:


''Wskazówka:'' Indukcja ze względu na&nbsp;<math>k</math>.
''Wskazówka:'' Indukcja ze względu na&nbsp;<math>k</math>.


<span id=cwicz_1> Ćwiczenie 7 </span>
<span id=cwicz_1> Ćwiczenie 7 </span>
Linia 64: Linia 67:
<span id=cwicz_8> Ćwiczenie 8 </span>
<span id=cwicz_8> Ćwiczenie 8 </span>
<span id="wziawszy" \> Uzupełnić szczegóły dowodu&nbsp;[[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.
<span id="wziawszy" \> Uzupełnić szczegóły dowodu&nbsp;[[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.


<span id=cwicz_9> Ćwiczenie 9 </span>
<span id=cwicz_9> Ćwiczenie 9 </span>
Linia 70: Linia 74:
*W formule&nbsp;<math>\vartheta</math> występują tylko te zmienne zdaniowe,które występują zarówno w&nbsp;<math>\var\varphi</math> jak i&nbsp;w&nbsp;<math>\psi</math>.
*W formule&nbsp;<math>\vartheta</math> występują tylko te zmienne zdaniowe,które występują zarówno w&nbsp;<math>\var\varphi</math> jak i&nbsp;w&nbsp;<math>\psi</math>.
<!--%% D. Niwinski-->
<!--%% D. Niwinski-->


<span id=cwicz_10> Ćwiczenie 10 </span>
<span id=cwicz_10> Ćwiczenie 10 </span>
\item Niech <math>\var\varphi(p)</math> będzie pewną formułą, w którejwystępuje zmienna zdaniowa&nbsp;<math>p</math> i niech <math>q</math> będzie zmienną zdaniową niewystępującą w&nbsp;<math>\var\varphi(p)</math>. Przez&nbsp;<math>\var\varphi(q)</math> oznaczmy formułę powstałą z&nbsp;<math>\var\varphi(p)</math> przez zamianę wszystkich&nbsp;<math>p</math> na&nbsp;<math>q</math>. Udowodnić, że jeśli
Niech <math>\var\varphi(p)</math> będzie pewną formułą, w której występuje zmienna zdaniowa&nbsp;<math>p</math> i niech <math>q</math> będzie zmienną zdaniową niewystępującą w&nbsp;<math>\var\varphi(p)</math>. Przez&nbsp;<math>\var\varphi(q)</math> oznaczmy formułę powstałą z&nbsp;<math>\var\varphi(p)</math> przez zamianę wszystkich&nbsp;<math>p</math> na&nbsp;<math>q</math>. Udowodnić, że jeśli


\hfil <math>\var\varphi(p), \var\varphi(q) \models p\leftrightarrow q</math>\hfil
<math>\var\varphi(p), \var\varphi(q) \models p\leftrightarrow q</math>


to istnieje formuła&nbsp;<math>\psi</math>, nie zawierająca zmiennych&nbsp;<math>p</math> ani&nbsp;<math>q</math>,taka że  
to istnieje formuła&nbsp;<math>\psi</math>, nie zawierająca zmiennych&nbsp;<math>p</math> ani&nbsp;<math>q</math>,taka że  


\hfil <math>\var\varphi(p)\models p\leftrightarrow\psi</math>.\hfil<!--%% D. Niwinski-->
<math>\var\varphi(p)\models p\leftrightarrow\psi</math>.<!--%% D. Niwinski-->

Wersja z 11:10, 20 wrz 2006

Ć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 orazkaż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\pot X} nazwijmy wartościowaniem w zbiorze Parser nie mógł rozpoznać (nieznana funkcja „\pot”): {\displaystyle \pot 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ń \wtw, gdy jest prawdziwaParser nie mógł rozpoznać (nieznana funkcja „\pot”): {\displaystyle \pot 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} .