KolejnaStronaTestow: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Pi (dyskusja | edycje)
Nie podano opisu zmian
 
m Zastępowanie tekstu – „\displaystyle ” na „”
Linia 93: Linia 93:
i nieistotny. Dlatego w rachunku zdań odpowiadają im po prostu  
i nieistotny. Dlatego w rachunku zdań odpowiadają im po prostu  
''zmienne zdaniowe''. Zdania złożone budujemy ze zmiennych za pomocą
''zmienne zdaniowe''. Zdania złożone budujemy ze zmiennych za pomocą
''spójników logicznych'' takich jak ''alternatywa''&nbsp;<math>\displaystyle \vee</math>,
''spójników logicznych'' takich jak ''alternatywa''&nbsp;<math>\vee</math>,
''koniunkcja''&nbsp;<math>\displaystyle \wedge</math>, ''negacja''&nbsp;<math>\displaystyle \neg</math>,  
''koniunkcja''&nbsp;<math>\wedge</math>, ''negacja''&nbsp;<math>\neg</math>,  
czy ''implikacja''&nbsp;<math>\displaystyle \to</math>.  
czy ''implikacja''&nbsp;<math>\to</math>.  
Wygodne są też ''stałe logiczne''&nbsp;<math>\displaystyle \bot</math> (fałsz) i <math>\displaystyle \top</math>&nbsp;(prawda),
Wygodne są też ''stałe logiczne''&nbsp;<math>\bot</math> (fałsz) i <math>\top</math>&nbsp;(prawda),
które można uważać za zeroargumentowe spójniki logiczne.
które można uważać za zeroargumentowe spójniki logiczne.
Dlatego nasza pierwsza definicja jest  taka:
Dlatego nasza pierwsza definicja jest  taka:
Linia 104: Linia 104:
Ustalamy pewien przeliczalnie  
Ustalamy pewien przeliczalnie  
nieskończony zbiór&nbsp;  ZZ  symboli, które będziemy nazywać  
nieskończony zbiór&nbsp;  ZZ  symboli, które będziemy nazywać  
''zmiennymi zdaniowymi'' i zwykle oznaczać literami <math>\displaystyle p</math>, <math>\displaystyle q</math>, itp.  
''zmiennymi zdaniowymi'' i zwykle oznaczać literami <math>p</math>, <math>q</math>, itp.  
Pojęcie ''formuły zdaniowej'' definiujemy przez indukcję:
Pojęcie ''formuły zdaniowej'' definiujemy przez indukcję:
* Zmienne zdaniowe oraz <math>\displaystyle \bot</math> i <math>\displaystyle \top</math> są formułami zdaniowymi;
* Zmienne zdaniowe oraz <math>\bot</math> i <math>\top</math> są formułami zdaniowymi;
* Jeśli napis <math>\displaystyle \varphi</math> jest formułą zdaniową, to także napis  
* Jeśli napis <math>\varphi</math> jest formułą zdaniową, to także napis  
<math>\displaystyle \neg\varphi</math> jest formułą zdaniową;
<math>\neg\varphi</math> jest formułą zdaniową;
* Jeśli napisy <math>\displaystyle \varphi</math> i <math>\displaystyle \psi</math> są formułami zdaniowymi to  
* Jeśli napisy <math>\varphi</math> i <math>\psi</math> są formułami zdaniowymi to  
napisy <math>\displaystyle (\varphi\to\psi)</math>, <math>\displaystyle (\varphi\vee\psi)</math> i <math>\displaystyle (\varphi\wedge\psi)</math>
napisy <math>(\varphi\to\psi)</math>, <math>(\varphi\vee\psi)</math> i <math>(\varphi\wedge\psi)</math>
też są formułami zdaniowymi.
też są formułami zdaniowymi.
   
   
Inaczej mówiąc, formuły zdaniowe to elementy najmniejszego zbioru
Inaczej mówiąc, formuły zdaniowe to elementy najmniejszego zbioru
napisów <math>\displaystyle {\cal F}_{{\sc Z}}</math>, zawierającego  ZZ <math>\displaystyle  \cup\{\bot,\top\}</math> i takiego, że  
napisów <math>{\cal F}_{{\sc Z}}</math>, zawierającego  ZZ <math> \cup\{\bot,\top\}</math> i takiego, że  
dla dowolnych <math>\displaystyle \varphi,\psi\in{\cal F}_{{\sc Z}}</math> także <math>\displaystyle \neg\varphi,(\varphi\to\psi),
dla dowolnych <math>\varphi,\psi\in{\cal F}_{{\sc Z}}</math> także <math>\neg\varphi,(\varphi\to\psi),
(\varphi\vee\psi), (\varphi\wedge\psi)</math> należą do <math>\displaystyle {\cal F}_{{\sc Z}}</math>.
(\varphi\vee\psi), (\varphi\wedge\psi)</math> należą do <math>{\cal F}_{{\sc Z}}</math>.
}}
}}


Linia 127: Linia 127:
   
   
Zatem na przykład wyrażenie  
Zatem na przykład wyrażenie  
<math>\displaystyle \neg\varphi\vee\psi\to\vartheta</math> oznacza  
<math>\neg\varphi\vee\psi\to\vartheta</math> oznacza  
<math>\displaystyle ((\neg\varphi\vee\psi)\to\vartheta)</math>, ale napis  
<math>((\neg\varphi\vee\psi)\to\vartheta)</math>, ale napis  
<math>\displaystyle \varphi\vee\psi\wedge \vartheta</math> jest niepoprawny.
<math>\varphi\vee\psi\wedge \vartheta</math> jest niepoprawny.


===Znaczenie formuł===
===Znaczenie formuł===
Linia 140: Linia 140:
{{definicja|||
{{definicja|||
   
   
Przez ''wartościowanie zdaniowe'' rozumiemy dowolną funkcję&nbsp;<math>\displaystyle \varrho</math>,
Przez ''wartościowanie zdaniowe'' rozumiemy dowolną funkcję&nbsp;<math>\varrho</math>,
która zmiennym zdaniowym przypisuje wartości logiczne 0 lub&nbsp;1.  
która zmiennym zdaniowym przypisuje wartości logiczne 0 lub&nbsp;1.  
''Wartość formuły'' zdaniowej <math>\displaystyle \varphi</math> przy  
''Wartość formuły'' zdaniowej <math>\varphi</math> przy  
wartościowaniu&nbsp;<math>\displaystyle \varrho</math> oznaczamy przez <math>\displaystyle \wfz\varphi\varrho</math> i określamy
wartościowaniu&nbsp;<math>\varrho</math> oznaczamy przez <math>\wfz\varphi\varrho</math> i określamy
przez indukcję:
przez indukcję:
* <math>\displaystyle \wfz\bot\varrho=0</math> oraz <math>\displaystyle \wfz\top\varrho=1</math>;
* <math>\wfz\bot\varrho=0</math> oraz <math>\wfz\top\varrho=1</math>;
* <math>\displaystyle [\![ p ]\!]_{\varrho}=\varrho(p)</math>, gdy <math>\displaystyle p</math> jest symbolem zdaniowym;
* <math>[\![ p ]\!]_{\varrho}=\varrho(p)</math>, gdy <math>p</math> jest symbolem zdaniowym;
* <math>\displaystyle \wfz{\neg\varphi}\varrho=1-\wfz{\varphi}\varrho</math>;
* <math>\wfz{\neg\varphi}\varrho=1-\wfz{\varphi}\varrho</math>;
* <math>\displaystyle [\![ \varphi\vee\psi ]\!]_{\varrho}=\max\{[\![ \varphi ]\!]_{\varrho},
* <math>[\![ \varphi\vee\psi ]\!]_{\varrho}=\max\{[\![ \varphi ]\!]_{\varrho},
[\![ \psi ]\!]_{\varrho}\}</math>;
[\![ \psi ]\!]_{\varrho}\}</math>;
* <math>\displaystyle [\![ \varphi\wedge\psi ]\!]_{\varrho}=\min\{[\![ \varphi ]\!]_{\varrho},
* <math>[\![ \varphi\wedge\psi ]\!]_{\varrho}=\min\{[\![ \varphi ]\!]_{\varrho},
[\![ \psi ]\!]_{\varrho}\}</math>;
[\![ \psi ]\!]_{\varrho}\}</math>;
* <math>\displaystyle [\![ \varphi\to\psi ]\!]_{\varrho}=0</math>, gdy  
* <math>[\![ \varphi\to\psi ]\!]_{\varrho}=0</math>, gdy  
<math>\displaystyle \wfz\varphi\varrho=1</math> i <math>\displaystyle \wfz\psi\varrho=0</math>;
<math>\wfz\varphi\varrho=1</math> i <math>\wfz\psi\varrho=0</math>;
* <math>\displaystyle \wfz{\varphi\to\psi}\varrho=1</math>, w&nbsp;przeciwnym przypadku.
* <math>\wfz{\varphi\to\psi}\varrho=1</math>, w&nbsp;przeciwnym przypadku.
   
   
}}
}}


Łatwo można zauważyć, że <math>\displaystyle [\![ \varphi\to\psi ]\!]_{\varrho} =  
Łatwo można zauważyć, że <math>[\![ \varphi\to\psi ]\!]_{\varrho} =  
\max\{\wfz\psi\varrho,1-\wfz\varphi\varrho\}</math>,  
\max\{\wfz\psi\varrho,1-\wfz\varphi\varrho\}</math>,  
czyli <math>\displaystyle \wfz{\varphi\to\psi}\varrho=\wfz{\neg\varphi\vee\psi}\varrho</math>, dla
czyli <math>\wfz{\varphi\to\psi}\varrho=\wfz{\neg\varphi\vee\psi}\varrho</math>, dla
dowolnego&nbsp;<math>\displaystyle \varrho</math>. A zatem zamiast formuły <math>\displaystyle \varphi\to\psi</math> moglibyśmy  
dowolnego&nbsp;<math>\varrho</math>. A zatem zamiast formuły <math>\varphi\to\psi</math> moglibyśmy  
z równym powodzeniem używać wyrażenia <math>\displaystyle \neg\varphi\vee\psi</math>, lub też  
z równym powodzeniem używać wyrażenia <math>\neg\varphi\vee\psi</math>, lub też  
odwrotnie: zamiast alternatywy <math>\displaystyle \varphi\vee\psi</math> pisać <math>\displaystyle \neg\varphi\to\psi</math>.
odwrotnie: zamiast alternatywy <math>\varphi\vee\psi</math> pisać <math>\neg\varphi\to\psi</math>.
Nasz wybór spójników nie jest więc "najoszczędniejszy", w istocie  
Nasz wybór spójników nie jest więc "najoszczędniejszy", w istocie  
w logice klasycznej wystarczy używać np.&nbsp;implikacji i fałszu  
w logice klasycznej wystarczy używać np.&nbsp;implikacji i fałszu  
Linia 171: Linia 171:
to skróty notacyjne, tj.&nbsp;że napisy
to skróty notacyjne, tj.&nbsp;że napisy
   
   
{3.0cm}  <math>\displaystyle \neg\varphi</math>  oznaczają  
{3.0cm}  <math>\neg\varphi</math>  oznaczają  
odpowiednio  
odpowiednio  
<math>\displaystyle \varphi\to\bot</math>;<br>
<math>\varphi\to\bot</math>;<br>
{2.0cm}  <math>\displaystyle \top\displaystyle \neg\bot</math>;<br>  
{2.0cm}  <math>\top\neg\bot</math>;<br>  
{2.0cm}  <math>\displaystyle \varphi\vee\psi\displaystyle \neg\varphi\to\psi</math>;<br>  
{2.0cm}  <math>\varphi\vee\psi\neg\varphi\to\psi</math>;<br>  
{2.0cm}  <math>\displaystyle \varphi\wedge\psi\displaystyle \neg(\varphi\to\neg\psi)</math>.
{2.0cm}  <math>\varphi\wedge\psi\neg(\varphi\to\neg\psi)</math>.
   
   
Będziemy też czasem pisać <math>\displaystyle \varphi\oto\psi</math> zamiast  
Będziemy też czasem pisać <math>\varphi\oto\psi</math> zamiast  
<math>\displaystyle (\varphi\to\psi)\wedge(\psi\to\varphi)</math>. Zauważmy, że  
<math>(\varphi\to\psi)\wedge(\psi\to\varphi)</math>. Zauważmy, że  
<math>\displaystyle \wfz{\varphi\oto\psi}\varrho=1</math> wtedy i&nbsp;tylko wtedy, gdy  
<math>\wfz{\varphi\oto\psi}\varrho=1</math> wtedy i&nbsp;tylko wtedy, gdy  
<math>\displaystyle \wfz{\varphi\to\psi}\varrho=\wfz{\psi\to\varphi}\varrho</math>.
<math>\wfz{\varphi\to\psi}\varrho=\wfz{\psi\to\varphi}\varrho</math>.


Często stosowanym skrótem jest notacja <math>\displaystyle \bigvee_{i\in I}\varphi_i</math>
Często stosowanym skrótem jest notacja <math>\bigvee_{i\in I}\varphi_i</math>
oznaczająca alternatywę wszystkich formuł&nbsp;<math>\displaystyle \varphi_i</math>, gdzie <math>\displaystyle i</math>
oznaczająca alternatywę wszystkich formuł&nbsp;<math>\varphi_i</math>, gdzie <math>i</math>
przebiega skończony zbiór&nbsp;<math>\displaystyle I</math>. Analogicznie stosuje się
przebiega skończony zbiór&nbsp;<math>I</math>. Analogicznie stosuje się
zapis <math>\displaystyle \bigwedge_{i\in I}\varphi_i</math>.
zapis <math>\bigwedge_{i\in I}\varphi_i</math>.


'''Notacja i terminologia:'''  
'''Notacja i terminologia:'''  
Jeśli <math>\displaystyle \kl\varphi_\varrho=1</math> to piszemy też <math>\displaystyle \varrho\models\varphi</math>  
Jeśli <math>\kl\varphi_\varrho=1</math> to piszemy też <math>\varrho\models\varphi</math>  
lub <math>\displaystyle \models\varphi[\varrho]</math> i mówimy, że <math>\displaystyle \varphi</math> jest ''spełniona''  
lub <math>\models\varphi[\varrho]</math> i mówimy, że <math>\varphi</math> jest ''spełniona''  
przez  
przez  
wartościowanie&nbsp;<math>\displaystyle \varrho</math>. Jeśli <math>\displaystyle \Gamma</math> jest zbiorem formuł zdaniowych, oraz  
wartościowanie&nbsp;<math>\varrho</math>. Jeśli <math>\Gamma</math> jest zbiorem formuł zdaniowych, oraz  
<math>\displaystyle \varrho\models\gamma</math> dla wszystkich <math>\displaystyle \gamma\in\Gamma</math>, to piszemy  
<math>\varrho\models\gamma</math> dla wszystkich <math>\gamma\in\Gamma</math>, to piszemy  
<math>\displaystyle \varrho\models\Gamma</math>.
<math>\varrho\models\Gamma</math>.
Wreszcie <math>\displaystyle \Gamma\models\varphi</math> oznacza, że każde wartościowanie spełniające  
Wreszcie <math>\Gamma\models\varphi</math> oznacza, że każde wartościowanie spełniające  
wszystkie formuły z&nbsp;<math>\displaystyle \Gamma</math> spełnia także formułę&nbsp;<math>\displaystyle \varphi</math>. Mówimy wtedy,  
wszystkie formuły z&nbsp;<math>\Gamma</math> spełnia także formułę&nbsp;<math>\varphi</math>. Mówimy wtedy,  
że <math>\displaystyle \varphi</math> jest ''semantyczną konsekwencją'' zbioru&nbsp;<math>\displaystyle \Gamma</math>.  
że <math>\varphi</math> jest ''semantyczną konsekwencją'' zbioru&nbsp;<math>\Gamma</math>.  
Jeśli <math>\displaystyle \Gamma=\emptyset</math> to zamiast <math>\displaystyle \Gamma\models\varphi</math> piszemy  
Jeśli <math>\Gamma=\emptyset</math> to zamiast <math>\Gamma\models\varphi</math> piszemy  
po prostu <math>\displaystyle \models\varphi</math>. Oznacza to, że formuła <math>\displaystyle \varphi</math> jest spełniona
po prostu <math>\models\varphi</math>. Oznacza to, że formuła <math>\varphi</math> jest spełniona
przez każde wartościowanie. Na koniec powiedzmy jeszcze, że formułami  
przez każde wartościowanie. Na koniec powiedzmy jeszcze, że formułami  
''równoważnymi'' nazywamy takie formuły  
''równoważnymi'' nazywamy takie formuły  
<math>\displaystyle \varphi</math> i <math>\displaystyle \psi</math>, których wartości przy każdym wartościowaniu są takie
<math>\varphi</math> i <math>\psi</math>, których wartości przy każdym wartościowaniu są takie
same (tj.&nbsp;takie, że&nbsp;równoważność <math>\displaystyle \varphi\oto\psi</math> jest tautologią ---
same (tj.&nbsp;takie, że&nbsp;równoważność <math>\varphi\oto\psi</math> jest tautologią ---
patrz niżej).
patrz niżej).


{{definicja|||
{{definicja|||


Formuła <math>\displaystyle \varphi</math> jest ''spełnialna'', gdy <math>\displaystyle \varrho\models\varphi</math>  
Formuła <math>\varphi</math> jest ''spełnialna'', gdy <math>\varrho\models\varphi</math>  
zachodzi dla pewnego wartościowania&nbsp;<math>\displaystyle \rho</math>. Jeśli zaś <math>\displaystyle \models\varphi</math>  
zachodzi dla pewnego wartościowania&nbsp;<math>\rho</math>. Jeśli zaś <math>\models\varphi</math>  
to mówimy, że <math>\displaystyle \varphi</math> jest
to mówimy, że <math>\varphi</math> jest
''tautologią'' (klasycznego) rachunku zdań. Oczywiście <math>\displaystyle \neg\varphi</math>
''tautologią'' (klasycznego) rachunku zdań. Oczywiście <math>\neg\varphi</math>
jest spełnialna wtedy i&nbsp;tylko wtedy, gdy <math>\displaystyle \varphi</math> nie jest tautologią.
jest spełnialna wtedy i&nbsp;tylko wtedy, gdy <math>\varphi</math> nie jest tautologią.
}}
}}


===Tautologie rachunku zdań===
===Tautologie rachunku zdań===


Niech <math>\displaystyle S</math> będzie funkcją przypisujacą symbolom zdaniowym pewne formuły.
Niech <math>S</math> będzie funkcją przypisujacą symbolom zdaniowym pewne formuły.
Jeśli <math>\displaystyle \varphi</math> jest formułą zdaniową, to przez <math>\displaystyle S(\varphi)</math> oznaczymy  
Jeśli <math>\varphi</math> jest formułą zdaniową, to przez <math>S(\varphi)</math> oznaczymy  
formuę otrzymaną z <math>\displaystyle \varphi</math> przez jednoczesną  
formuę otrzymaną z <math>\varphi</math> przez jednoczesną  
zamianę każdego wystąpienia zmiennej  
zamianę każdego wystąpienia zmiennej  
zdaniowej <math>\displaystyle p</math> na formuę <math>\displaystyle S(p)</math>. Mówimy, że formuła <math>\displaystyle S(\varphi)</math> jest  
zdaniowej <math>p</math> na formuę <math>S(p)</math>. Mówimy, że formuła <math>S(\varphi)</math> jest  
''instancją'' schematu zdaniowego <math>\displaystyle \varphi</math>. Używamy oznaczenia  
''instancją'' schematu zdaniowego <math>\varphi</math>. Używamy oznaczenia  
<math>\displaystyle S(\Gamma) = \{S(\psi)\ |\ \psi\in\Gamma\}</math>.
<math>S(\Gamma) = \{S(\psi)\ |\ \psi\in\Gamma\}</math>.


{{fakt|||
{{fakt|||


Jeżeli <math>\displaystyle \Gamma</math> jest zbiorem formurachunku zdań i  
Jeżeli <math>\Gamma</math> jest zbiorem formurachunku zdań i  
<math>\displaystyle \Gamma\models\varphi</math>, to także <math>\displaystyle S(\Gamma)\models S(\varphi)</math>.  
<math>\Gamma\models\varphi</math>, to także <math>S(\Gamma)\models S(\varphi)</math>.  
W&nbsp;szczególności, jeśli <math>\displaystyle \varphi</math> jest tautologią  
W&nbsp;szczególności, jeśli <math>\varphi</math> jest tautologią  
to <math>\displaystyle S(\varphi)</math> jest też tautologią.
to <math>S(\varphi)</math> jest też tautologią.
}}
}}


Linia 240: Linia 240:
Następujące formuły (i wszystkie ich instancje)  
Następujące formuły (i wszystkie ich instancje)  
są tautologiami rachunku zdań:  
są tautologiami rachunku zdań:  
#  <math>\displaystyle \bot\to p</math>;
#  <math>\bot\to p</math>;
#  <math>\displaystyle p\to(q\to p)</math>;
#  <math>p\to(q\to p)</math>;
#  <math>\displaystyle (p\to(q\to r))\to((p\to q)\to(p\to r))</math>;
#  <math>(p\to(q\to r))\to((p\to q)\to(p\to r))</math>;
#  <math>\displaystyle ((p\to q)\to p)\to p</math>;
#  <math>((p\to q)\to p)\to p</math>;
#  <math>\displaystyle p\vee\neg p</math>;
#  <math>p\vee\neg p</math>;
#  <math>\displaystyle p \to \neg\neg p</math> oraz  <math>\displaystyle \neg\neg p \to p</math>;
#  <math>p \to \neg\neg p</math> oraz  <math>\neg\neg p \to p</math>;
#  <math>\displaystyle (p\to q)\to(\neg q\to\neg p)</math>  oraz   
#  <math>(p\to q)\to(\neg q\to\neg p)</math>  oraz   
<math>\displaystyle (\neg q\to\neg p)\to (p\to q)</math>;
<math>(\neg q\to\neg p)\to (p\to q)</math>;
#  <math>\displaystyle p\to(p\vee q)</math>,  <math>\displaystyle q\to(p\vee q)</math>  oraz   
#  <math>p\to(p\vee q)</math>,  <math>q\to(p\vee q)</math>  oraz   
<math>\displaystyle (p\to r)\to((q\to r)\to(p\vee q \to r))</math>;
<math>(p\to r)\to((q\to r)\to(p\vee q \to r))</math>;
#  <math>\displaystyle (p\wedge q)\to p</math>,  <math>\displaystyle (p\wedge q)\to q</math>  oraz   
#  <math>(p\wedge q)\to p</math>,  <math>(p\wedge q)\to q</math>  oraz   
<math>\displaystyle (r\to p)\to((r\to q)\to(r\to(p\wedge q)))</math>;
<math>(r\to p)\to((r\to q)\to(r\to(p\wedge q)))</math>;
#  <math>\displaystyle ((p\wedge q)\to r)\leftrightarrow(p\to(q\to r))</math>;
#  <math>((p\wedge q)\to r)\leftrightarrow(p\to(q\to r))</math>;
#  <math>\displaystyle \neg(p\vee q) \leftrightarrow (\neg p\wedge \neg q)</math>;
#  <math>\neg(p\vee q) \leftrightarrow (\neg p\wedge \neg q)</math>;
#  <math>\displaystyle \neg(p\wedge q) \leftrightarrow (\neg p\vee \neg q)</math>;
#  <math>\neg(p\wedge q) \leftrightarrow (\neg p\vee \neg q)</math>;
#  <math>\displaystyle (p\to q)\oto (\neg p\vee q)</math>;
#  <math>(p\to q)\oto (\neg p\vee q)</math>;
#  <math>\displaystyle ((p\leftrightarrow q)\leftrightarrow r) \leftrightarrow
#  <math>((p\leftrightarrow q)\leftrightarrow r) \leftrightarrow
(p\leftrightarrow(q\leftrightarrow r))</math>;
(p\leftrightarrow(q\leftrightarrow r))</math>;
#  <math>\displaystyle p\vee\bot\oto p</math>    oraz   
#  <math>p\vee\bot\oto p</math>    oraz   
<math>\displaystyle p\wedge\top\oto p</math>.  
<math>p\wedge\top\oto p</math>.  
  }}
  }}


Linia 267: Linia 267:
Niektóre z powyższych formuwskazują na analogię pomiędzy
Niektóre z powyższych formuwskazują na analogię pomiędzy
implikacją i uporządkowaniem (np.&nbsp;zawieraniem zbiorów). Implikację
implikacją i uporządkowaniem (np.&nbsp;zawieraniem zbiorów). Implikację
<math>\displaystyle p\to q</math> można odczytać tak: "warunek <math>\displaystyle p</math> jest silniejszy (mniejszy  
<math>p\to q</math> można odczytać tak: "warunek <math>p</math> jest silniejszy (mniejszy  
lub równy) od <math>\displaystyle q</math>". Formuę&nbsp;([[##1|Uzupelnic 1|]]) czytamy wtedy: "fałsz jest  
lub równy) od <math>q</math>". Formuę&nbsp;([[##1|Uzupelnic 1|]]) czytamy wtedy: "fałsz jest  
najsilniejszym warunkiem (najmniejszym elementem)".  
najsilniejszym warunkiem (najmniejszym elementem)".  
Formuły&nbsp;([[##8|Uzupelnic 8|]]) stwierdzają, że alternatywa <math>\displaystyle p\vee q</math> jest  
Formuły&nbsp;([[##8|Uzupelnic 8|]]) stwierdzają, że alternatywa <math>p\vee q</math> jest  
najsilniejszym warunkiem, który wynika zarówno z <math>\displaystyle p</math> jak i z <math>\displaystyle q</math> (czyli  
najsilniejszym warunkiem, który wynika zarówno z <math>p</math> jak i z <math>q</math> (czyli  
jest kresem górnym pary <math>\displaystyle \{p,q\}</math>, jak suma zbiorów). Formuły&nbsp;([[##9|Uzupelnic 9|]])  
jest kresem górnym pary <math>\{p,q\}</math>, jak suma zbiorów). Formuły&nbsp;([[##9|Uzupelnic 9|]])  
wyrażają dualną własność koniunkcji: to jest kres dolny, czyli  
wyrażają dualną własność koniunkcji: to jest kres dolny, czyli  
najsłabszy warunek implikujący oba argumenty.
najsłabszy warunek implikujący oba argumenty.
Linia 283: Linia 283:
mnogościowym, o tyle warto zauważyć, że koniunkcja ma też
mnogościowym, o tyle warto zauważyć, że koniunkcja ma też
własności podobne do iloczynu kartezjańskiego. Jeśli zbiór funkcji
własności podobne do iloczynu kartezjańskiego. Jeśli zbiór funkcji
z&nbsp;<math>\displaystyle A</math> do <math>\displaystyle B</math> oznaczymy przez <math>\displaystyle [A\to B]</math>, to mamy (bardzo naturalną)
z&nbsp;<math>A</math> do <math>B</math> oznaczymy przez <math>[A\to B]</math>, to mamy (bardzo naturalną)
równoliczność <math>\displaystyle [A\times B\to C]\sim [A\to[B\to C]]</math>. Podobieństwo  
równoliczność <math>[A\times B\to C]\sim [A\to[B\to C]]</math>. Podobieństwo  
tego związku do formuły&nbsp;([[##10|Uzupelnic 10|]]) nie jest wcale przypadkowe.  
tego związku do formuły&nbsp;([[##10|Uzupelnic 10|]]) nie jest wcale przypadkowe.  
Wrócimy do tego w Rozdziale&nbsp;[[##logint|Uzupelnic logint|]].  
Wrócimy do tego w Rozdziale&nbsp;[[##logint|Uzupelnic logint|]].  
Linia 295: Linia 295:
zignorować. Formuła&nbsp;([[##3|Uzupelnic 3|]]) (prawo Frege) wyraża dystrybutywność  
zignorować. Formuła&nbsp;([[##3|Uzupelnic 3|]]) (prawo Frege) wyraża dystrybutywność  
implikacji względem siebie samej i może być odczytywana tak:
implikacji względem siebie samej i może być odczytywana tak:
jeśli <math>\displaystyle r</math> wynika z&nbsp;<math>\displaystyle q</math> w kontekście <math>\displaystyle p</math>, to ten kontekst może  
jeśli <math>r</math> wynika z&nbsp;<math>q</math> w kontekście <math>p</math>, to ten kontekst może  
być włączony do założenia i&nbsp;konkluzji. Formuła&nbsp;([[##4|Uzupelnic 4|]]) (prawo  
być włączony do założenia i&nbsp;konkluzji. Formuła&nbsp;([[##4|Uzupelnic 4|]]) (prawo  
Peirce'a) wyraża przy pomocy samej implikacji zasadniczą własność
Peirce'a) wyraża przy pomocy samej implikacji zasadniczą własność
logiki klasycznej: możliwość rozumowania przez zaprzeczenie. Sens
logiki klasycznej: możliwość rozumowania przez zaprzeczenie. Sens
prawa Peirce'a widać najlepiej gdy <math>\displaystyle q</math> jest fałszem, otrzymujemy wtedy
prawa Peirce'a widać najlepiej gdy <math>q</math> jest fałszem, otrzymujemy wtedy
prawo Claviusa: <math>\displaystyle (\neg p\to p)\to p</math>.  
prawo Claviusa: <math>(\neg p\to p)\to p</math>.  


Warto zauważyć, że formuły w parach&nbsp;([[##6|Uzupelnic 6|]]) i&nbsp;([[##7|Uzupelnic 7|]]) nie są  
Warto zauważyć, że formuły w parach&nbsp;([[##6|Uzupelnic 6|]]) i&nbsp;([[##7|Uzupelnic 7|]]) nie są  
wcale tak symetryczne jak się wydaje na pierwszy rzut oka. Na przykład,  
wcale tak symetryczne jak się wydaje na pierwszy rzut oka. Na przykład,  
pierwsza z formu&nbsp;([[##6|Uzupelnic 6|]]) to w istocie <math>\displaystyle p \to ((p\to\bot)\to\bot)</math>.
pierwsza z formu&nbsp;([[##6|Uzupelnic 6|]]) to w istocie <math>p \to ((p\to\bot)\to\bot)</math>.
Wiedząc, że <math>\displaystyle p</math> i <math>\displaystyle p\to\bot</math>, natychmiast zgadzamy się na <math>\displaystyle \bot</math>.  
Wiedząc, że <math>p</math> i <math>p\to\bot</math>, natychmiast zgadzamy się na <math>\bot</math>.  
Intuicyjne uzasadnienie drugiej formuły jest zaś w istocie związane  
Intuicyjne uzasadnienie drugiej formuły jest zaś w istocie związane  
z prawem&nbsp;([[##5|Uzupelnic 5|]]).  
z prawem&nbsp;([[##5|Uzupelnic 5|]]).  
Linia 311: Linia 311:
Własnością, która często uchodzi naszej uwagi, jest  
Własnością, która często uchodzi naszej uwagi, jest  
łączność równoważności&nbsp;([[##13|Uzupelnic 13|]]). W&nbsp;zwiazku z tym, wyrażenie  
łączność równoważności&nbsp;([[##13|Uzupelnic 13|]]). W&nbsp;zwiazku z tym, wyrażenie  
<math>\displaystyle \varphi \oto \psi \oto \vartheta</math> można z czystym sumieniem  
<math>\varphi \oto \psi \oto \vartheta</math> można z czystym sumieniem  
pisać bez nawiasów. Zwróćmy jednak uwagę na to, że oznacza ono zupełnie  
pisać bez nawiasów. Zwróćmy jednak uwagę na to, że oznacza ono zupełnie  
co innego niż stwierdzenie że <math>\displaystyle \varphi</math>, <math>\displaystyle \psi</math> i <math>\displaystyle \vartheta</math>  
co innego niż stwierdzenie że <math>\varphi</math>, <math>\psi</math> i <math>\vartheta</math>  
są sobie nawzajem równoważne!
są sobie nawzajem równoważne!


Ostatnie na liście są dwie równoważności wyrażające taką myśl: fałsz jest
Ostatnie na liście są dwie równoważności wyrażające taką myśl: fałsz jest
"elementem neutralnym" dla alternatywy, a prawda dla koniunkcji.
"elementem neutralnym" dla alternatywy, a prawda dla koniunkcji.
Dlatego <math>\displaystyle \bot</math> możemy uważać za "pustą alternatywę" a <math>\displaystyle \top</math>  
Dlatego <math>\bot</math> możemy uważać za "pustą alternatywę" a <math>\top</math>  
za "pustą koniunkcję".  
za "pustą koniunkcję".  
Powyżej pominięto dobrze znane prawa: łączność i&nbsp;przemienność  
Powyżej pominięto dobrze znane prawa: łączność i&nbsp;przemienność  
Linia 330: Linia 330:
Każdą zmienną zdaniową i negację zmiennej zdaniowej nazwijmy  
Każdą zmienną zdaniową i negację zmiennej zdaniowej nazwijmy  
''literałem''.
''literałem''.
Mówimy, że formuła zdaniowa <math>\displaystyle \varphi</math> jest w ''koniunkcyjnej postaci  
Mówimy, że formuła zdaniowa <math>\varphi</math> jest w ''koniunkcyjnej postaci  
normalnej'', gdy  <math>\displaystyle \varphi</math> jest koniunkcją  alternatyw literałów, tj.
normalnej'', gdy  <math>\varphi</math> jest koniunkcją  alternatyw literałów, tj.


  <math>\displaystyle \varphi = (p^1_1\vee\cdots\vee p^{k_1}_1)\wedge\cdots\wedge
  <math>\varphi = (p^1_1\vee\cdots\vee p^{k_1}_1)\wedge\cdots\wedge
(p^1_r\vee\cdots\vee p^{k_r}_r)</math>, (*)
(p^1_r\vee\cdots\vee p^{k_r}_r)</math>, (*)


gdzie <math>\displaystyle r\geq 0</math>, <math>\displaystyle k_i\geq 0</math>, dla <math>\displaystyle i=0,\ldots r</math>, a wszystkie <math>\displaystyle p^i_j</math>  
gdzie <math>r\geq 0</math>, <math>k_i\geq 0</math>, dla <math>i=0,\ldots r</math>, a wszystkie <math>p^i_j</math>  
są literałami.
są literałami.
  Przy tym pustą koniunkcję (<math>\displaystyle r=0</math>) utożsamiamy w myśl  
  Przy tym pustą koniunkcję (<math>r=0</math>) utożsamiamy w myśl  
Przykładu&nbsp;[[##taut-rz|Uzupelnic taut-rz|]]([[##14|Uzupelnic 14|]]) ze stałą&nbsp;<math>\displaystyle \top</math>, a stała <math>\displaystyle \bot</math> to
Przykładu&nbsp;[[##taut-rz|Uzupelnic taut-rz|]]([[##14|Uzupelnic 14|]]) ze stałą&nbsp;<math>\top</math>, a stała <math>\bot</math> to
tyle co koniunkcja z&nbsp;jednym pustym składnikiem.
tyle co koniunkcja z&nbsp;jednym pustym składnikiem.
}}
}}
Linia 353: Linia 353:
oczywiście w postaci normalnej. Zgodnie z naszą definicją, także  
oczywiście w postaci normalnej. Zgodnie z naszą definicją, także  
stałe logiczne są postaciami normalnymi.  
stałe logiczne są postaciami normalnymi.  
Jeśli <math>\displaystyle \varphi</math> jest w&nbsp;postaci (*), to <math>\displaystyle \neg\varphi</math>
Jeśli <math>\varphi</math> jest w&nbsp;postaci (*), to <math>\neg\varphi</math>
można przekształcić w&nbsp;koniunkcyjną postać normalną stosując prawa  
można przekształcić w&nbsp;koniunkcyjną postać normalną stosując prawa  
De&nbsp;Morgana i prawa dystrybutywności:
De&nbsp;Morgana i prawa dystrybutywności:


  <math>\displaystyle \psi\vee(\vartheta\wedge\zeta)\oto
  <math>\psi\vee(\vartheta\wedge\zeta)\oto
(\psi\vee\vartheta)\wedge(\psi\vee\zeta)\displaystyle \psi\vee(\vartheta\vee\zeta)\oto
(\psi\vee\vartheta)\wedge(\psi\vee\zeta)\psi\vee(\vartheta\vee\zeta)\oto
(\psi\vee\vartheta)\vee(\psi\vee\zeta)</math>.
(\psi\vee\vartheta)\vee(\psi\vee\zeta)</math>.


Linia 372: Linia 372:
# Zbadać, czy następujące formuły są tautologiami rachunku zdań
# Zbadać, czy następujące formuły są tautologiami rachunku zdań
i czy są spełnialne:
i czy są spełnialne:
## <math>\displaystyle (p\to r)\wedge(q\to s)\wedge(\neg p\vee \neg s)\to (\neg p\vee \neg q)</math>;
## <math>(p\to r)\wedge(q\to s)\wedge(\neg p\vee \neg s)\to (\neg p\vee \neg q)</math>;
## <math>\displaystyle (p\to q)\vee(q\to r)</math>;
## <math>(p\to q)\vee(q\to r)</math>;
## <math>\displaystyle ((p\to q)\to r)\wedge\neg(((q\to r)\to r)\to r))</math>;
## <math>((p\to q)\to r)\wedge\neg(((q\to r)\to r)\to r))</math>;
## <math>\displaystyle (p\to q)\wedge(\neg p\to r)\to (r\to\neg q)</math>;
## <math>(p\to q)\wedge(\neg p\to r)\to (r\to\neg q)</math>;
## <math>\displaystyle ((\neg p\to q)\to r)\to \neg(p\to q)</math>;
## <math>((\neg p\to q)\to r)\to \neg(p\to q)</math>;
## <math>\displaystyle p\vee(\neg p\wedge q)\vee(\neg p\wedge\neg q)</math>;
## <math>p\vee(\neg p\wedge q)\vee(\neg p\wedge\neg q)</math>;
## <math>\displaystyle (p\to q)\vee (p\to \neg q)</math>;
## <math>(p\to q)\vee (p\to \neg q)</math>;
## <math>\displaystyle 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>\displaystyle (p\vee q\vee r)\wedge(q\vee(\neg p\wedge s))\wedge (\neg s\vee q\vee r)
## <math>(p\vee q\vee r)\wedge(q\vee(\neg p\wedge s))\wedge (\neg s\vee q\vee r)
       \to q</math>.
       \to q</math>.
# Czy następujące zbiory formuł są spełnialne?
# Czy następujące zbiory formuł są spełnialne?
## <math>\displaystyle \{p\to \neg q, q\to \neg r, r\to \neg p\}</math>;
## <math>\{p\to \neg q, q\to \neg r, r\to \neg p\}</math>;
## <math>\displaystyle \{p\to q, q\to r, r\vee s\leftrightarrow \neg q\}</math>;
## <math>\{p\to q, q\to r, r\vee s\leftrightarrow \neg q\}</math>;
## <math>\displaystyle \{\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>\displaystyle \{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>.
# Czy zachodzą następujące konsekwencje?
# Czy zachodzą następujące konsekwencje?
## <math>\displaystyle p\wedge q\to\neg r, p\models r\to \neg q</math>;
## <math>p\wedge q\to\neg r, p\models r\to \neg q</math>;
## <math>\displaystyle p\to q, p\to(q\to r)\models p\to r</math>;
## <math>p\to q, p\to(q\to r)\models p\to r</math>;
## <math>\displaystyle p\to(q\to r), p\to q\models q\to r</math>;
## <math>p\to(q\to r), p\to q\models q\to r</math>;
## <math>\displaystyle (p\to q)\to r, \neg p\models r</math>;
## <math>(p\to q)\to r, \neg p\models r</math>;
## <math>\displaystyle (p\to q)\to r, \neg r\models p</math>;
## <math>(p\to q)\to r, \neg r\models p</math>;
## <math>\displaystyle 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>.
# Dla dowolnej formuły <math>\displaystyle \varphi</math> niech <math>\displaystyle \hat{\varphi}</math> oznacza
# Dla dowolnej formuły <math>\varphi</math> niech <math>\hat{\varphi}</math> oznacza
dualizację formuły <math>\displaystyle \varphi</math>, tzn. formułę powstającą z <math>\displaystyle \varphi </math>
dualizację formuły <math>\varphi</math>, tzn. formułę powstającą z <math>\varphi </math>
przez zastąpienie każdego wystąpienia <math>\displaystyle \wedge</math> symbolem <math>\displaystyle \vee</math> oraz
przez zastąpienie każdego wystąpienia <math>\wedge</math> symbolem <math>\vee</math> oraz
każdego wystąpienia <math>\displaystyle \vee</math> symbolem <math>\displaystyle \wedge</math>.  
każdego wystąpienia <math>\vee</math> symbolem <math>\wedge</math>.  
# Dowieść,że  <math>\displaystyle \varphi</math> jest tautologią wtw, gdy <math>\displaystyle \neg\hat{\varphi}</math>
# Dowieść,że  <math>\varphi</math> jest tautologią wtw, gdy <math>\neg\hat{\varphi}</math>
jest tautologią.
jest tautologią.
# Dowieść, że <math>\displaystyle \varphi\lr\psi</math> jest tautologią wtw, gdy  
# Dowieść, że <math>\varphi\lr\psi</math> jest tautologią wtw, gdy  
<math>\displaystyle \hat{\varphi}\lr\hat{\psi}</math> jest tautologią.
<math>\hat{\varphi}\lr\hat{\psi}</math> jest tautologią.
# Znależć formułę zdaniową&nbsp;<math>\displaystyle \varphi</math>, która jest spełniona dokładnie
# Znależć formułę zdaniową&nbsp;<math>\varphi</math>, która jest spełniona dokładnie
przy wartościowaniach&nbsp;<math>\displaystyle \varrho</math> spełniających warunki:
przy wartościowaniach&nbsp;<math>\varrho</math> spełniających warunki:
## Dokładnie dwie spośród wartości <math>\displaystyle \varrho(p)</math>, <math>\displaystyle \varrho(q)</math>  
## Dokładnie dwie spośród wartości <math>\varrho(p)</math>, <math>\varrho(q)</math>  
i <math>\displaystyle \varrho(r)</math> są równe&nbsp;1.
i <math>\varrho(r)</math> są równe&nbsp;1.
## <math>\displaystyle \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  
''Rozwiązanie:'' Można to robić na różne sposoby, ale najprościej  
po prostu wypisać alternatywę koniunkcji, np. <math>\displaystyle (p\wedge q\wedge \neg r)
po prostu wypisać alternatywę koniunkcji, np. <math>(p\wedge q\wedge \neg r)
\vee(p \wedge\neg q \wedge r)</math>.  
\vee(p \wedge\neg q \wedge r)</math>.  
#  
#  
Udowodnić, że dla dowolnej funkcji <math>\displaystyle f:\{0,1\}^k\to\{0,1\}</math>
Udowodnić, że dla dowolnej funkcji <math>f:\{0,1\}^k\to\{0,1\}</math>
istnieje formuła&nbsp;<math>\displaystyle \varphi</math>, w której występują tylko spójniki <math>\displaystyle \to</math> i <math>\displaystyle \bot</math>
istnieje formuła&nbsp;<math>\varphi</math>, w której występują tylko spójniki <math>\to</math> i <math>\bot</math>
oraz zmienne zdaniowe ze zbioru <math>\displaystyle \{p_1,\ldots, p_k\}</math>, o tej własności, że dla
oraz zmienne zdaniowe ze zbioru <math>\{p_1,\ldots, p_k\}</math>, o tej własności, że dla
dowolnego wartościowania zdaniowego&nbsp;<math>\displaystyle \varrho</math> zachodzi równość
dowolnego wartościowania zdaniowego&nbsp;<math>\varrho</math> zachodzi równość
<math>\displaystyle \wfz\varphi\varrho = f(\varrho(p_1),\ldots, \varrho(p_k))</math>.  
<math>\wfz\varphi\varrho = f(\varrho(p_1),\ldots, \varrho(p_k))</math>.  
(Inaczej mówiąc, formuła&nbsp;<math>\displaystyle \varphi</math> definiuje funkcję zerojedynkową&nbsp;<math>\displaystyle f</math>.)  
(Inaczej mówiąc, formuła&nbsp;<math>\varphi</math> definiuje funkcję zerojedynkową&nbsp;<math>f</math>.)  


''Wskazówka:'' Indukcja ze&nbsp;względu na&nbsp;<math>\displaystyle k</math>.
''Wskazówka:'' Indukcja ze&nbsp;względu na&nbsp;<math>k</math>.
#  
#  
Niech <math>\displaystyle X</math> będzie dowolnym zbiorem niepustym. Dowolną funkcję  
Niech <math>X</math> będzie dowolnym zbiorem niepustym. Dowolną funkcję  
<math>\displaystyle v: </math>  ZZ <math>\displaystyle  \to\potX</math> nazwijmy ''wartościowaniem''  
<math>v: </math>  ZZ <math> \to\potX</math> nazwijmy ''wartościowaniem''  
w&nbsp;zbiorze <math>\displaystyle \potX</math>. Każdej formule zdaniowej&nbsp;<math>\displaystyle \varphi</math> przypiszemy teraz  
w&nbsp;zbiorze <math>\potX</math>. Każdej formule zdaniowej&nbsp;<math>\varphi</math> przypiszemy teraz  
pewien podzbiór <math>\displaystyle \wfz\varphiv</math> zbioru&nbsp;<math>\displaystyle X</math>, który nazwiemy jej  
pewien podzbiór <math>\wfz\varphiv</math> zbioru&nbsp;<math>X</math>, który nazwiemy jej  
''wartością'' przy wartościowaniu&nbsp;<math>\displaystyle v</math>.
''wartością'' przy wartościowaniu&nbsp;<math>v</math>.
#* <math>\displaystyle \wfz\botv=\emptyset</math> oraz <math>\displaystyle \wfz\topv=X</math>;
#* <math>\wfz\botv=\emptyset</math> oraz <math>\wfz\topv=X</math>;
#* <math>\displaystyle [\![ p ]\!]_{v}=v(p)</math>, gdy <math>\displaystyle p</math> jest symbolem zdaniowym;
#* <math>[\![ p ]\!]_{v}=v(p)</math>, gdy <math>p</math> jest symbolem zdaniowym;
#* <math>\displaystyle \wfz{\neg\varphi}v= X-\wfz{\varphi}v</math>;
#* <math>\wfz{\neg\varphi}v= X-\wfz{\varphi}v</math>;
#* <math>\displaystyle [\![ \varphi\vee\psi ]\!]_{v}=[\![ \varphi ]\!]_{v}\cup
#* <math>[\![ \varphi\vee\psi ]\!]_{v}=[\![ \varphi ]\!]_{v}\cup
[\![ \psi ]\!]_{v}</math>;
[\![ \psi ]\!]_{v}</math>;
#* <math>\displaystyle [\![ \varphi\wedge\psi ]\!]_{v}=[\![ \varphi ]\!]_{v}\cap
#* <math>[\![ \varphi\wedge\psi ]\!]_{v}=[\![ \varphi ]\!]_{v}\cap
[\![ \psi ]\!]_{v}</math>;
[\![ \psi ]\!]_{v}</math>;
#* <math>\displaystyle [\![ \varphi\to\psi ]\!]_{v}= (X-\wfz{\varphi}v)
#* <math>[\![ \varphi\to\psi ]\!]_{v}= (X-\wfz{\varphi}v)
\cup\wfz\psiv</math>.
\cup\wfz\psiv</math>.
   
   
Udowodnić, że formuła <math>\displaystyle \varphi</math> jest tautologią rachunku zdań wtedy i&nbsp;tylko wtedy, gdy  
Udowodnić, że formuła <math>\varphi</math> jest tautologią rachunku zdań wtedy i&nbsp;tylko wtedy, gdy  
jest ''prawdziwa'' w&nbsp;<math>\displaystyle \potX</math>, tj.&nbsp;gdy dla dowolnego <math>\displaystyle v</math>
jest ''prawdziwa'' w&nbsp;<math>\potX</math>, tj.&nbsp;gdy dla dowolnego <math>v</math>
jej wartością jest cały zbiór&nbsp;<math>\displaystyle X</math>.
jej wartością jest cały zbiór&nbsp;<math>X</math>.
#  
#  
Uzupełnić szczegóły dowodu Faktu&nbsp;[[##pania|Uzupelnic pania|]].
Uzupełnić szczegóły dowodu Faktu&nbsp;[[##pania|Uzupelnic pania|]].
Pokazać, że długość postaci normalnej  
Pokazać, że długość postaci normalnej  
może wzrosnąć wykładniczo w stosunku do rozmiaru formuły początkowej.
może wzrosnąć wykładniczo w stosunku do rozmiaru formuły początkowej.
# Niech formuła <math>\displaystyle \varphi\to\psi</math> będzie tautologią  
# Niech formuła <math>\varphi\to\psi</math> będzie tautologią  
rachunku zdań. Znaleźć taką formułę&nbsp;<math>\displaystyle \vartheta</math>, że:
rachunku zdań. Znaleźć taką formułę&nbsp;<math>\vartheta</math>, że:
#* Zarówno <math>\displaystyle \varphi\to\vartheta</math> jak i <math>\displaystyle \vartheta\to\psi</math> są  
#* Zarówno <math>\varphi\to\vartheta</math> jak i <math>\vartheta\to\psi</math> są  
tautologiami rachunku zdań.
tautologiami rachunku zdań.
#* W formule&nbsp;<math>\displaystyle \vartheta</math> występują tylko te zmienne zdaniowe,
#* W formule&nbsp;<math>\vartheta</math> występują tylko te zmienne zdaniowe,
które występują zarówno w&nbsp;<math>\displaystyle \varphi</math> jak i&nbsp;w&nbsp;<math>\displaystyle \psi</math>.
które występują zarówno w&nbsp;<math>\varphi</math> jak i&nbsp;w&nbsp;<math>\psi</math>.
# Niech <math>\displaystyle \varphi(p)</math> będzie pewną formułą, w której
# Niech <math>\varphi(p)</math> będzie pewną formułą, w której
występuje zmienna zdaniowa&nbsp;<math>\displaystyle p</math> i niech <math>\displaystyle q</math> będzie zmienną zdaniową nie
występuje zmienna zdaniowa&nbsp;<math>p</math> i niech <math>q</math> będzie zmienną zdaniową nie
występującą w&nbsp;<math>\displaystyle \varphi(p)</math>. Przez&nbsp;<math>\displaystyle \varphi(q)</math> oznaczmy formułę powstałą  
występującą w&nbsp;<math>\varphi(p)</math>. Przez&nbsp;<math>\varphi(q)</math> oznaczmy formułę powstałą  
z&nbsp;<math>\displaystyle \varphi(p)</math> przez zamianę wszystkich&nbsp;<math>\displaystyle p</math> na&nbsp;<math>\displaystyle q</math>. Udowodnić, że jeśli
z&nbsp;<math>\varphi(p)</math> przez zamianę wszystkich&nbsp;<math>p</math> na&nbsp;<math>q</math>. Udowodnić, że jeśli


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


to istnieje formuła&nbsp;<math>\displaystyle \psi</math>, nie zawierająca zmiennych&nbsp;<math>\displaystyle p</math> ani&nbsp;<math>\displaystyle 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  
taka że  


  <math>\displaystyle \varphi(p)\models p\leftrightarrow\psi</math>.
  <math>\varphi(p)\models p\leftrightarrow\psi</math>.

Wersja z 08:42, 28 sie 2023

Uwaga: przekonwertowane latex2mediawiki; prawdopodobnie trzeba wprowadzi� poprawki

 =   
 =   
by 60
 =   
by 60
by -
 =   
by 10

{Spis treści} = 8pt = 0pt

{twierdzenie}{Twierdzenie} {wniosek}[twierdzenie]{Wniosek} {moral}[twierdzenie]{Morał} {lemat}[twierdzenie]{Lemat} {fakt}[twierdzenie]{Fakt} {przyklad}[twierdzenie]{Przykład} {definicja}[twierdzenie]{Definicja}

{Obrazek} [1]{{{ #1}}} [1]Szablon:PU: {{{ JTy ?}}}

Szablon:.2mm

{} {} {}

{} {{1{-}1}} Szablon:Na Szablon:Na

{{}-2.7mu{}} {{{-}-2.7mu{}-2.7mu{}}} Szablon:S

Logika dla informatyków {Jerzy Tiuryn Jerzy Tyszkiewicz Paweł Urzyczyn} {Sierpień 2006}

Wnioskowanie o prawdziwości rozmaitych stwierdzeń jest powszednim zajęciem matematyków i nie tylko matematyków. Dlatego filozofowie i matematycy od dawna zajmowali się systematyzacją metod wnioskowania i kryteriów ich poprawności. Oczywiście ostatecznym kryterium poprawności rozumowania pozostaje zawsze zdrowy rozsądek i przekonanie o słuszności wywodu. Logika, która narodziła się jako nauka o rozumowaniu, jest jednak ważnym i potrzebnym narzędziem, które to przekonanie ułatwia.

Szczególną rolę wśród rozmaitych działów logiki zajmuje logika matematyczna, poświęcona opisowi i analizie języka matematyki oraz poprawności wnioskowań matematycznych. Jest to dyscyplina w pewnym sensie paradoksalna: będąc sama częścią matematyki, traktuje matematykę jako swój przedmiot zainteresowania. Dla uniknięcia "błędnego koła" musimy więc tutaj zauważyć, że logika formalna nie opisuje rzeczywistych wywodów matematyka, ale ich uproszczone modele, które bez zastrzeżeń można uważać za zwykłe obiekty matematyczne. Mimo tego ograniczenia, logika matematyczna dostarcza niezwykle ważnych wniosków o charakterze filozoficznym i metamatematycznym.

Logika formalna była kiedyś ezoteryczną nauką z pogranicza filozofii i matematyki, potem stała się pełnoprawnym działem czystej matematyki. Jeszcze później, wraz z narodzinami informatyki, zaczęła być coraz bardziej postrzegana jako dziedzina matematyki stosowanej, a zwłaszcza podstaw informatyki.

Logika matematyczna stosowana jest dziś szeroko w informatyce. Semantyka i weryfikacja programów, teoria złożoności i teoria automatów, programowanie funkcyjne i programowanie w logice --- to tylko niektóre z działów informatyki, w których metody logiki formalnej stały się standardowym narzędziem zarówno badacza jak i praktyka.

Rachunek zdań

{twierdzenie}{0}

Jak powiedzieliśmy wyżej, logika matematyczna zajmuje się badaniem rozmaitych systemów formalnych, modelujących rzeczywiste sposoby wnioskowania matematycznego. Do najprostszych takich systemów należą różne warianty logiki zdaniowej zwanej też rachunkiem zdań. Język rachunku zdań jest bardzo prosty. Nie ma w nim wyrażeń stwierdzających jakiś stan rzeczy, zajście jakichś faktów, czy też wyrażeń orzekających o własnościach obiektów. Przedmiotem naszego zainteresowania są tu tylko możliwe zależności pomiędzy stwierdzeniami (zdaniami orzekającymi), oraz to w jaki sposób prawdziwość zdań złożonych zależy od prawdziwości ich składowych. Sens samych składowych pozostaje tu całkowicie dowolny i nieistotny. Dlatego w rachunku zdań odpowiadają im po prostu zmienne zdaniowe. Zdania złożone budujemy ze zmiennych za pomocą spójników logicznych takich jak alternatywa , koniunkcja , negacja ¬, czy implikacja . Wygodne są też stałe logiczne  (fałsz) i  (prawda), które można uważać za zeroargumentowe spójniki logiczne. Dlatego nasza pierwsza definicja jest taka:

Definicja

Ustalamy pewien przeliczalnie nieskończony zbiór  ZZ symboli, które będziemy nazywać zmiennymi zdaniowymi i zwykle oznaczać literami p, q, itp. Pojęcie formuły zdaniowej definiujemy przez indukcję:

  • Zmienne zdaniowe oraz i są formułami zdaniowymi;
  • Jeśli napis φ jest formułą zdaniową, to także napis

¬φ jest formułą zdaniową;

  • Jeśli napisy φ i ψ są formułami zdaniowymi to

napisy (φψ), (φψ) i (φψ) też są formułami zdaniowymi.

Inaczej mówiąc, formuły zdaniowe to elementy najmniejszego zbioru napisów Parser nie mógł rozpoznać (nieznana funkcja „\sc”): {\displaystyle {\cal F}_{{\sc Z}}} , zawierającego ZZ {,} i takiego, że dla dowolnych Parser nie mógł rozpoznać (nieznana funkcja „\sc”): {\displaystyle \varphi,\psi\in{\cal F}_{{\sc Z}}} także ¬φ,(φψ),(φψ),(φψ) należą do Parser nie mógł rozpoznać (nieznana funkcja „\sc”): {\displaystyle {\cal F}_{{\sc Z}}} .

Konwencje notacyjne: Dla pełnej jednoznaczności składni nasze formuły są w pełni nawiasowane. W praktyce wiele nawiasów pomijamy, stosując przy tym następujące priorytety:

  1. Negacja;
  2. Koniunkcja i alternatywa;
  3. Implikacja.

Zatem na przykład wyrażenie ¬φψϑ oznacza ((¬φψ)ϑ), ale napis φψϑ jest niepoprawny.

Znaczenie formuł

W logice klasycznej interpretacją 

formuły jest wartość logiczna tj. "prawda" (1) lub "fałsz" (0). Aby określić wartość formuły zdaniowej trzeba jednak najpierw ustalić wartości zmiennych.

Definicja

Przez wartościowanie zdaniowe rozumiemy dowolną funkcję ϱ, która zmiennym zdaniowym przypisuje wartości logiczne 0 lub 1. Wartość formuły zdaniowej φ przy wartościowaniu ϱ oznaczamy przez Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz\varphi\varrho} i określamy przez indukcję:

  • Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz\bot\varrho=0} oraz Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz\top\varrho=1} ;
  • [[p]]ϱ=ϱ(p), gdy p jest symbolem zdaniowym;
  • Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz{\neg\varphi}\varrho=1-\wfz{\varphi}\varrho} ;
  • [[φψ]]ϱ=max{[[φ]]ϱ,[[ψ]]ϱ};
  • [[φψ]]ϱ=min{[[φ]]ϱ,[[ψ]]ϱ};
  • [[φψ]]ϱ=0, gdy

Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz\varphi\varrho=1} i Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz\psi\varrho=0} ;

  • Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz{\varphi\to\psi}\varrho=1} , w przeciwnym przypadku.

Łatwo można zauważyć, że Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle [\![ \varphi\to\psi ]\!]_{\varrho} = \max\{\wfz\psi\varrho,1-\wfz\varphi\varrho\}} , czyli Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz{\varphi\to\psi}\varrho=\wfz{\neg\varphi\vee\psi}\varrho} , dla dowolnego ϱ. A zatem zamiast formuły φψ moglibyśmy z równym powodzeniem używać wyrażenia ¬φψ, lub też odwrotnie: zamiast alternatywy φψ pisać ¬φψ. Nasz wybór spójników nie jest więc "najoszczędniejszy", w istocie w logice klasycznej wystarczy używać np. implikacji i fałszu (Ćwiczenie Uzupelnic udacczleka|). Czasem i my będziemy korzystać z tego wygodnego uproszczenia, przyjmując, że "oficjalnymi" spójnikami są tylko implikacja i fałsz, a pozostałe to skróty notacyjne, tj. że napisy

{3.0cm} ¬φ oznaczają odpowiednio φ;
{2.0cm} ¬;
{2.0cm} φψ¬φψ;
{2.0cm} φψ¬(φ¬ψ).

Będziemy też czasem pisać Parser nie mógł rozpoznać (nieznana funkcja „\oto”): {\displaystyle \varphi\oto\psi} zamiast (φψ)(ψφ). Zauważmy, że Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz{\varphi\oto\psi}\varrho=1} wtedy i tylko wtedy, gdy Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz{\varphi\to\psi}\varrho=\wfz{\psi\to\varphi}\varrho} .

Często stosowanym skrótem jest notacja iIφi oznaczająca alternatywę wszystkich formuł φi, gdzie i przebiega skończony zbiór I. Analogicznie stosuje się zapis iIφi.

Notacja i terminologia: Jeśli Parser nie mógł rozpoznać (nieznana funkcja „\kl”): {\displaystyle \kl\varphi_\varrho=1} to piszemy też ϱφ lub φ[ϱ] i mówimy, że φ jest spełniona przez wartościowanie ϱ. Jeśli Γ jest zbiorem formuł zdaniowych, oraz ϱγ dla wszystkich γΓ, to piszemy ϱΓ. Wreszcie Γφ oznacza, że każde wartościowanie spełniające wszystkie formuły z Γ spełnia także formułę φ. Mówimy wtedy, że φ jest semantyczną konsekwencją zbioru Γ. Jeśli Γ= to zamiast Γφ piszemy po prostu φ. Oznacza to, że formuła φ jest spełniona przez każde wartościowanie. Na koniec powiedzmy jeszcze, że formułami równoważnymi nazywamy takie formuły φ i ψ, których wartości przy każdym wartościowaniu są takie same (tj. takie, że równoważność Parser nie mógł rozpoznać (nieznana funkcja „\oto”): {\displaystyle \varphi\oto\psi} jest tautologią --- patrz niżej).

Definicja

Formuła φ jest spełnialna, gdy ϱφ zachodzi dla pewnego wartościowania ρ. Jeśli zaś φ to mówimy, że φ jest tautologią (klasycznego) rachunku zdań. Oczywiście ¬φ jest spełnialna wtedy i tylko wtedy, gdy φ nie jest tautologią.

Tautologie rachunku zdań

Niech S będzie funkcją przypisujacą symbolom zdaniowym pewne formuły. Jeśli φ jest formułą zdaniową, to przez S(φ) oznaczymy formuę otrzymaną z φ przez jednoczesną zamianę każdego wystąpienia zmiennej zdaniowej p na formuę S(p). Mówimy, że formuła S(φ) jest instancją schematu zdaniowego φ. Używamy oznaczenia S(Γ)={S(ψ) | ψΓ}.

Fakt

Jeżeli Γ jest zbiorem formurachunku zdań i Γφ, to także S(Γ)S(φ). W szczególności, jeśli φ jest tautologią to S(φ) jest też tautologią.

Dowód

Ćwiczenie.

Przykład

= 2mm Następujące formuły (i wszystkie ich instancje) są tautologiami rachunku zdań:

  1. p;
  2. p(qp);
  3. (p(qr))((pq)(pr));
  4. ((pq)p)p;
  5. p¬p;
  6. p¬¬p oraz ¬¬pp;
  7. (pq)(¬q¬p) oraz

(¬q¬p)(pq);

  1. p(pq), q(pq) oraz

(pr)((qr)(pqr));

  1. (pq)p, (pq)q oraz

(rp)((rq)(r(pq)));

  1. ((pq)r)(p(qr));
  2. ¬(pq)(¬p¬q);
  3. ¬(pq)(¬p¬q);
  4. Parser nie mógł rozpoznać (nieznana funkcja „\oto”): {\displaystyle (p\to q)\oto (\neg p\vee q)} ;
  5. ((pq)r)(p(qr));
  6. Parser nie mógł rozpoznać (nieznana funkcja „\oto”): {\displaystyle p\vee\bot\oto p} oraz

Parser nie mógł rozpoznać (nieznana funkcja „\oto”): {\displaystyle p\wedge\top\oto p} .

Dowód

Łatwy.

Niektóre z powyższych formuwskazują na analogię pomiędzy implikacją i uporządkowaniem (np. zawieraniem zbiorów). Implikację pq można odczytać tak: "warunek p jest silniejszy (mniejszy lub równy) od q". Formuę (Uzupelnic 1|) czytamy wtedy: "fałsz jest najsilniejszym warunkiem (najmniejszym elementem)". Formuły (Uzupelnic 8|) stwierdzają, że alternatywa pq jest najsilniejszym warunkiem, który wynika zarówno z p jak i z q (czyli jest kresem górnym pary {p,q}, jak suma zbiorów). Formuły (Uzupelnic 9|) wyrażają dualną własność koniunkcji: to jest kres dolny, czyli najsłabszy warunek implikujący oba argumenty. Prawa de Morgana (Uzupelnic 11|,Uzupelnic 12|) wskazują też na analogie koniunkcja -- iloczyn, alternatywa -- suma, negacja -- dopełnienie. Ta ostatnia widoczna jest też w prawach wyłączonego środka (Uzupelnic 5|), podwójnej negacji (Uzupelnic 6|) i kontrapozycji (Uzupelnic 7|).

O ile (Uzupelnic 9|) wskazuje na analogię pomiędzy koniunkcją i iloczynem mnogościowym, o tyle warto zauważyć, że koniunkcja ma też własności podobne do iloczynu kartezjańskiego. Jeśli zbiór funkcji z A do B oznaczymy przez [AB], to mamy (bardzo naturalną) równoliczność [A×BC][A[BC]]. Podobieństwo tego związku do formuły (Uzupelnic 10|) nie jest wcale przypadkowe. Wrócimy do tego w Rozdziale Uzupelnic logint|.

Formuła (Uzupelnic 12a|) wyraża implikację z pomocą negacji i alternatywy i jest często bardzo przydatna, gdy np. chcemy przekształcić jakąś formułę do prostszej postaci.

Formuła (Uzupelnic 2|) mówi, że dodatkowe założenie można zawsze zignorować. Formuła (Uzupelnic 3|) (prawo Frege) wyraża dystrybutywność implikacji względem siebie samej i może być odczytywana tak: jeśli r wynika z q w kontekście p, to ten kontekst może być włączony do założenia i konkluzji. Formuła (Uzupelnic 4|) (prawo Peirce'a) wyraża przy pomocy samej implikacji zasadniczą własność logiki klasycznej: możliwość rozumowania przez zaprzeczenie. Sens prawa Peirce'a widać najlepiej gdy q jest fałszem, otrzymujemy wtedy prawo Claviusa: (¬pp)p.

Warto zauważyć, że formuły w parach (Uzupelnic 6|) i (Uzupelnic 7|) nie są wcale tak symetryczne jak się wydaje na pierwszy rzut oka. Na przykład, pierwsza z formu (Uzupelnic 6|) to w istocie p((p)). Wiedząc, że p i p, natychmiast zgadzamy się na . Intuicyjne uzasadnienie drugiej formuły jest zaś w istocie związane z prawem (Uzupelnic 5|).

Własnością, która często uchodzi naszej uwagi, jest łączność równoważności (Uzupelnic 13|). W zwiazku z tym, wyrażenie Parser nie mógł rozpoznać (nieznana funkcja „\oto”): {\displaystyle \varphi \oto \psi \oto \vartheta} można z czystym sumieniem pisać bez nawiasów. Zwróćmy jednak uwagę na to, że oznacza ono zupełnie co innego niż stwierdzenie że φ, ψ i ϑ są sobie nawzajem równoważne!

Ostatnie na liście są dwie równoważności wyrażające taką myśl: fałsz jest "elementem neutralnym" dla alternatywy, a prawda dla koniunkcji. Dlatego możemy uważać za "pustą alternatywę" a za "pustą koniunkcję". Powyżej pominięto dobrze znane prawa: łączność i przemienność koniunkcji i alternatywy, ich wzajemną dystrybutywność, przechodniość, zwrotność implikacji itp.

Postać normalna formuł

Definicja

Każdą zmienną zdaniową i negację zmiennej zdaniowej nazwijmy literałem. Mówimy, że formuła zdaniowa φ jest w koniunkcyjnej postaci normalnej, gdy φ jest koniunkcją alternatyw literałów, tj.

φ=(p11p1k1)(pr1prkr), (*)

gdzie r0, ki0, dla i=0,r, a wszystkie pji są literałami.

Przy tym pustą koniunkcję (r=0) utożsamiamy w myśl 

Przykładu Uzupelnic taut-rz|(Uzupelnic 14|) ze stałą , a stała to tyle co koniunkcja z jednym pustym składnikiem.

Fakt

Dla każdej formuły zdaniowej istnieje równoważna jej formuła w koniunkcyjnej postaci normalnej.

Dowód

Dowód jest przez indukcję ze względu na długość formuły. Symbole zdaniowe są oczywiście w postaci normalnej. Zgodnie z naszą definicją, także stałe logiczne są postaciami normalnymi. Jeśli φ jest w postaci (*), to ¬φ można przekształcić w koniunkcyjną postać normalną stosując prawa De Morgana i prawa dystrybutywności:

Parser nie mógł rozpoznać (nieznana funkcja „\oto”): {\displaystyle \psi\vee(\vartheta\wedge\zeta)\oto (\psi\vee\vartheta)\wedge(\psi\vee\zeta)\psi\vee(\vartheta\vee\zeta)\oto (\psi\vee\vartheta)\vee(\psi\vee\zeta)}
.

Podobnie postępujemy z alternatywą dwóch formuł w postaci normalnej.{Ta procedura jest niestety wykładnicza (Ćwiczenie Uzupelnic wziawszy|).} Przypadek koniunkcji jest oczywisty, a implikację eliminujemy z pomocą prawa Uzupelnic taut-rz|(Uzupelnic 12a|). Szczegóły pozostawiamy Czytelnikowi.

{Ćwiczenia}

  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.
  1. 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}.
  2. 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.
  3. Dla dowolnej formuły φ niech φ^ oznacza

dualizację formuły φ, tzn. formułę powstającą z φ przez zastąpienie każdego wystąpienia symbolem oraz każdego wystąpienia symbolem .

  1. Dowieść,że φ jest tautologią wtw, gdy ¬φ^

jest tautologią.

  1. Dowieść, że Parser nie mógł rozpoznać (nieznana funkcja „\lr”): {\displaystyle \varphi\lr\psi} jest tautologią wtw, gdy

Parser nie mógł rozpoznać (nieznana funkcja „\lr”): {\displaystyle \hat{\varphi}\lr\hat{\psi}} jest tautologią.

  1. Znależć formułę zdaniową φ, 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.

    1. ϱ(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).

Udowodnić, że dla dowolnej funkcji f:{0,1}k{0,1} istnieje formuła φ, 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 „\wfz”): {\displaystyle \wfz\varphi\varrho = f(\varrho(p_1),\ldots, \varrho(p_k))} . (Inaczej mówiąc, formuła φ definiuje funkcję zerojedynkową f.)

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

Niech X będzie dowolnym zbiorem niepustym. Dowolną funkcję v: ZZ Parser nie mógł rozpoznać (nieznana funkcja „\potX”): {\displaystyle \to\potX} nazwijmy wartościowaniem w zbiorze Parser nie mógł rozpoznać (nieznana funkcja „\potX”): {\displaystyle \potX} . Każdej formule zdaniowej φ przypiszemy teraz pewien podzbiór Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz\varphiv} zbioru X, który nazwiemy jej wartością przy wartościowaniu v.

    • Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz\botv=\emptyset} oraz Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz\topv=X} ;
    • [[p]]v=v(p), gdy p jest symbolem zdaniowym;
    • Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle \wfz{\neg\varphi}v= X-\wfz{\varphi}v} ;
    • [[φψ]]v=[[φ]]v[[ψ]]v;
    • [[φψ]]v=[[φ]]v[[ψ]]v;
    • Parser nie mógł rozpoznać (nieznana funkcja „\wfz”): {\displaystyle [\![ \varphi\to\psi ]\!]_{v}= (X-\wfz{\varphi}v) \cup\wfz\psiv} .

Udowodnić, że formuła φ jest tautologią rachunku zdań wtedy i tylko wtedy, gdy jest prawdziwaParser nie mógł rozpoznać (nieznana funkcja „\potX”): {\displaystyle \potX} , tj. gdy dla dowolnego v jej wartością jest cały zbiór X.

Uzupełnić szczegóły dowodu Faktu Uzupelnic pania|. Pokazać, że długość postaci normalnej może wzrosnąć wykładniczo w stosunku do rozmiaru formuły początkowej.

  1. Niech formuła φψ będzie tautologią

rachunku zdań. Znaleźć taką formułę ϑ, że:

    • Zarówno φϑ jak i ϑψ

tautologiami rachunku zdań.

    • W formule ϑ występują tylko te zmienne zdaniowe,

które występują zarówno w φ jak i w ψ.

  1. Niech φ(p) będzie pewną formułą, w której

występuje zmienna zdaniowa p i niech q będzie zmienną zdaniową nie występującą w φ(p). Przez φ(q) oznaczmy formułę powstałą z φ(p) przez zamianę wszystkich p na q. Udowodnić, że jeśli

φ(p),φ(q)pq

to istnieje formuła ψ, nie zawierająca zmiennych p ani q, taka że

φ(p)pψ.