Logika i teoria mnogości/Wykład 2: Rachunek zdań

From Studia Informatyczne

Spis treści

Wprowadzenie

Logika zdaniowa jest językiem, który pozwala opisywać zależności pomiędzy zdaniami. Przykładem może być zdanie:


Jeśli \textnormal{n} jest liczbą pierwszą to \textnormal{n} jest liczbą nieparzystą lub \textnormal{n} jest równe 2.

W powyższym zdaniu spójniki jeśli [..] to, lub mówią o związkach które zachodzą pomiędzy zdaniami:

  1. \textnormal{n} jest liczbą pierwszą,
  2. \textnormal{n} jest liczbą nieparzystą,
  3. \textnormal{n} jest równe 2.

Oznaczmy powyższe zdania przez p,q,r (w takiej właśnie kolejności). Używając symboli, które zwyczajowo odpowiadają potocznemu rozumieniu spójników jeśli [..] to, lub oraz powyższych oznaczeń, otrzymamy formułę


p \Rightarrow (q \vee r).


Jeśli powyższą formułę uznamy za prawdziwą, to może nam ona posłużyć do otrzymania nowych wniosków. Na przykład, jeśli o jakiejś liczbie \textnormal{n} będziemy wiedzieć, że jest liczbą pierwszą oraz że nie jest nieparzysta, to klasyczny rachunek zdań pozwoli nam formalnie wywnioskować fakt, że liczba \textnormal{n} jest równa 2. Podsumowując, jeśli uznamy za prawdziwe następujące zdania:

  1. p \Rightarrow (q \vee r),
  2. p,
  3. \neg q (przez \neg oznaczamy negację)

to zgodnie z klasycznym rachunkiem zdań powinniśmy uznać za prawdziwe zdanie \textnormal{r}, czyli \textnormal{n} jest równe 2. Powyższy schemat wnioskowania można również opisać formułą


\left((p \Rightarrow (q \vee r)) \wedge p \wedge (\neg q)\right)\Rightarrow q.


W powyższej formule symbol \wedge odpowiada spójnikowi \textnormal{i} (oraz).

Dzięki rachunkowi zdań możemy precyzyjnie opisywać schematy wnioskowania i zdania złożone oraz oceniać ich prawdziwość.

Język logiki zdaniowej

Zaczniemy od definicji języka logiki zdaniowej. Składa się on z formuł zdefiniowanych następująco:

Definicja 2.1 [Formuła logiki zdaniowej]

  1. zmienna zdaniowa jest formułą (zmienne zdaniowe oznaczamy zwykle literami alfabetu rzymskiego np. p,q,r),
  2. jeśli {\phi} oraz {\psi} są formułami to (\phi \Rightarrow \psi) jest formułą (spójnik \Rightarrow nazywamy implikacją),
  3. jeśli {\phi} jest formułą to \neg \phi jest formułą (spójnik \neg nazywamy negacją),
  4. nic innego nie jest formułą.

Powyższa definicja mówi, że formułami nazywamy te napisy, które dają się skonstruować ze zmiennych zdaniowych przy pomocy spójników \Rightarrow oraz \neg.

Uwaga 2.2.
Zgodnie z powyższą definicją nie jest formułą napis p\Rightarrow q, gdyż brakuje w nim nawiasów. Pomimo, iż poprawnie powinniśmy napisać (p\Rightarrow q) możemy przyjąć że nie będzie konieczne pisanie nawiasów, jeśli nawiasy można jednoznacznie uzupełnić. Często przyjmuje się również prawostronne nawiasowanie dla implikacji, czyli formuła p \Rightarrow q \Rightarrow r jest domyślnie nawiasowana w następujący sposób (p \Rightarrow (q \Rightarrow r)).

Przykład 2.3 Poniższe napisy nie są formułami

  • p \Rightarrow \Rightarrow q,
  • \neg \neg \neg,
  • ten napis na pewno nie jest formułą,
  • (p \Rightarrow \neg q)).

Poniższe napisy są formułami

  • (p \Rightarrow (r \Rightarrow q)),
  • \neg \neg \neg q,
  • (p \Rightarrow \neg q).


Ćwiczenie 2.1

Rozmiarem formuły nazwiemy ilość występujących w niej spójników. Na przykład formuła \neg \neg q ma rozmiar 2, a formuła (p\Rightarrow q) ma rozmiar 1. Przypuśćmy, że jedyną zmienną zdaniową jaką wolno nam użyć jest \textnormal{p}. Ile można skonstruować rożnych formuł o rozmiarze 3?

Rozwiązanie

Oznaczmy przez f_n liczbę formuł o rozmiarze \textnormal{n} (czyli liczbę formuł w których jest \textnormal{n} spójników). Interesuje nas f_3. Każda formuła o rozmiarze 3 powstaje z dwóch formuł o rozmiarach 1 poprzez połączenie ich spójnikiem \Rightarrow lub dwóch formuł o rozmiarach odpowiednio 0 i 2 oraz 2 i 0, lub z jednej formuły o rozmiarze 2 poprzez dodanie do niej spójnika \neg. Co więcej każda taka formuła powstaje tylko w jeden sposób. Wynika stąd następująca zależność:

f_3=  (f_1)^2+ 2 f_2 +f_2.

Wiemy, że są tylko dwie formuły o rozmiarze 1, są to \neg p oraz p \Rightarrow p. Stąd mamy f_1=2. Dla formuł o rozmiarze 2 możemy zauważyć podobną zależność. Każda taka formuła jest albo zbudowana z dwóch formuł z których jedna (niekoniecznie pierwsza) ma rozmiar 1 a druga 0 za pomocą \Rightarrow, albo jest zbudowana z formuły o rozmiarze 1 za pomocą negacji. Zauważmy też, że istnieje formuła o rozmiarze 0, jest to \textnormal{p}. Mamy więc następujący wzór dla f_2

f_2= 1 \cdot f_1 + f_1 \cdot 1 +f_1 = 3 \cdot f_1.

Z dwóch ostatnich wzorów otrzymujemy

f_3= 9 \cdot f_1 + (f_1)^2= 18+4 = 22.

Skoro jest ich niewiele, to możemy wszystkie wypisać

1. \neg \neg \neg p
2. \neg \neg (p \Rightarrow p)
3. \neg (p \Rightarrow \neg p)
4. \neg (p \Rightarrow (p\Rightarrow p))
5. \neg (\neg p \Rightarrow  p)
6. \neg ((p\Rightarrow p) \Rightarrow  p)
7. p \Rightarrow (\neg \neg p)
8. p \Rightarrow (\neg (p \Rightarrow p))
9. p \Rightarrow (p \Rightarrow \neg p)
10. p \Rightarrow (p \Rightarrow (p\Rightarrow p))
11. p \Rightarrow (\neg p \Rightarrow  p)
12. p \Rightarrow ((p\Rightarrow p) \Rightarrow  p)
13. (\neg \neg p) \Rightarrow p
14. (\neg (p \Rightarrow p))\Rightarrow p
15. (p \Rightarrow \neg p) \Rightarrow p
16. (p \Rightarrow (p\Rightarrow p)) \Rightarrow p
17. (\neg p \Rightarrow  p) \Rightarrow p
18. ((p\Rightarrow p) \Rightarrow  p)\Rightarrow p
19. (\neg p)\Rightarrow  (\neg p)
20. (\neg p)\Rightarrow  (p \Rightarrow p)
21. (p \Rightarrow p) \Rightarrow  (\neg p)
22. (p \Rightarrow p)\Rightarrow  (p \Rightarrow p)

Uwaga 2.4.
Język logiki zdaniowej można równoważnie zdefiniować nie używając nawiasów za pomocą tzw. Odwrotnej Notacji Polskiej.

Aksjomatyka Klasycznego Rachunku Zdań

Podobnie jak nie wszystkie zdania języka naturalnego mają sens, nie wszystkie formuły opisują prawdziwe schematy wnioskowania lub zdania, które bylibyśmy skłonni uznać za prawdziwe. W tym rozdziale skupimy się na tym, które spośród wszystkich formuł zdaniowych wyróżnić jako prawdziwe.

Aksjomaty

Wielu matematyków zgadza się dzisiaj co do tego, że zdania pasujące do poniższych schematów powinny być uznane za prawdziwe:

Definicja 3.1 Aksjomaty klasycznego rachunku zdań

  1. (\phi \Rightarrow (\psi \Rightarrow \phi)) (formuła ta jest nazywana aksjomatem K),
  2. (\phi \Rightarrow (\nu \Rightarrow \psi)) \Rightarrow \left((\phi \Rightarrow \nu) \Rightarrow (\phi \Rightarrow \psi) \right) (formuła ta jest nazywana aksjomatem S),
  3. (\neg \phi \Rightarrow \psi) \Rightarrow ((\neg \phi \Rightarrow \neg \psi) \Rightarrow \phi) (tzw. schemat dowodu niewprost)

Zdania pasujące do powyższych schematów to wszystkie zdania, które można otrzymać, podstawiając w miejsce \phi, \nu, \psi dowolne formuły.

Reguła dowodzenia

Przyglądnijmy się teraz jak posługujemy się implikacją we wnioskowaniu. W przykładzie z początku wykładu implikacja odpowiadała konstrukcji językowej:

jeśli {\phi} to {\psi}.

W takim przypadku, jeśli akceptujemy powyższą implikacjię jako zdanie prawdziwe oraz jeśli zdanie {\phi} jako prawdziwe, to powinniśmy także zaakceptować {\psi}. Przedstawiony sposób wnioskowania nosi nazwę reguły Modus Ponens (nazywana też regułą odrywania, często będziemy używać skrótu MP) i jest skrótowo notowany w poniższy sposób

\frac{\phi \Rightarrow \psi, \phi} \psi}.

Reguła modus ponens posłuży nam do uzupełniania zbioru aksjomatów o ich konsekwencje logiczne, które również uznamy za prawdziwe. Aby precyzyjnie zdefiniować zbiór wszystkich konsekwencji logicznych aksjomatów, definiujemy poniżej pojęcie dowodu.

Definicja 3.2

Ciąg formuł \phi_0, \dots ,\phi_n jest dowodem formuły {\psi} wtedy i tylko wtedy, gdy:

  1. \phi_n jest formułą {\psi},
  2. dla każdego i\leq n formuła \phi_i jest aksjomatem lub istnieją j,k <i takie, że formuła \phi_i jest wynikiem zastosowania reguły modus ponens do formuł \phi_j, \phi_k.

W drugim punkcie powyższej definicji, jeśli formuła \phi_i nie jest aksjomatem (a więc powstaje przez zastosowanie MP), to formuły \phi_j,\phi_k muszą pasować do przesłanek reguły MP, a więc \phi_j musi być postaci \phi_k \Rightarrow \phi_i lub \phi_k postaci \phi_j \Rightarrow \phi_i.

Definicja 3.3

Formułę nazywamy twierdzeniem klasycznego rachunku zdań jeśli istnieje jej dowód z aksjomatów klasycznego rachunku zdań 3.1

Przykład

Zastanówmy się na formułą postaci \phi \Rightarrow \phi. Intuicja podpowiada, że taką formułę powinniśmy uznać za prawdziwą. Nie pasuje ona jednak do żadnego ze schematów aksjomatów 3.1. Formuła ta jest jednak twierdzeniem klasycznego rachunku zdań. Poniżej przedstawiamy jej dowód. Aby łatwiej dopasować formuły do schematów aksjomatów, użyliśmy nawiasów kwadratowych dla nawiasów, które pochodzą ze schematów.

  1. [\phi \Rightarrow [(q \Rightarrow \phi) \Rightarrow \phi)]\Rightarrow [[\phi \Rightarrow (q \Rightarrow \phi)] \Rightarrow [\phi \Rightarrow\phi]] formuła ta jest aksjomatem zgodnym ze schematem S,
  2. \phi \Rightarrow [(q \Rightarrow \phi) \Rightarrow \phi] aksjomat zgodny ze schematem K,
  3. (\phi \Rightarrow (q \Rightarrow \phi)) \Rightarrow (\phi \Rightarrow \phi) z modus ponens z formuł 1 i 2,
  4. \phi \Rightarrow [q \Rightarrow \phi] aksjomat zgodny ze schematem K,
  5. (\phi \Rightarrow \phi) z modus ponens z formuł 3 i 4.

Podsumowanie

Klasyczny rachunek zdań, czyli zbiór formuł które uznajemy za prawdziwe, zdefiniowaliśmy, wyróżniając pewne formuły jako aksjomaty 3.1 i dorzucając do nich wszystkie formuły, które dają się z nich wywnioskować przy pomocy reguły Modus Ponens. Warto zwrócić uwagę, że pomimo tego, iż w doborze aksjomatów i reguł wnioskowania kierowaliśmy się intuicyjnym pojęciem implikacji i konsekwencji, klasyczny rachunek zdań jest teorią syntaktyczną, zbiorem pewnych napisów o których znaczeniu nie musimy nic mówić.

Uwaga 3.4

Warto przyglądnąć się przyjętym aksjomatom i zastanowić się jakim zdaniom odpowiadają i czy rzeczywiście bylibyśmy skłonni uznać je za prawdziwe. Pomocne może być interpretowanie formuł postaci \phi \Rightarrow (\nu \Rightarrow \psi) jako „jeśli prawdziwe jest {\phi} i prawdziwe jest \nu to prawdziwe jest {\psi}”. W kolejnych rozdziałach przekonamy się, że taka interpretacja jest uzasadniona.

Matryca boolowska

W poprzednim rozdziale zdefiniowaliśmy klasyczny rachunek zdań jako teorię aksjomatyczną. Jeśli pozwolimy sobie na używanie skończonych zbiorów i funkcji, możemy równoważnie zdefiniować klasyczny rachunek zdań za pomocą tzw. matrycy boolowskiej.

Definicja 4.1

Dwuelementową matrycą boolowską nazywamy zbiór dwuelementowy \mathbb{B}=\{0,1\} w którym 1 jest wyróżnioną wartością prawdy, wraz z dwoma funkcjami odpowiadającymi za interpretacje spójników \Rightarrow oraz \neg zdefiniowanymi następująco

\Rightarrow 0 1
0 1 1
1 0 1
    
\textnormal{p} \neg p
0 1
1 0

\quad \mbox{(4.1)}

Definicja 4.2

Wartościowaniem nazywamy funkcję, która przypisuje zmiennym zdaniowym elementy zbioru \mathbb{B}. Wartościowanie zmiennych można rozszerzyć na wartościowanie formuł interpretując spójniki \Rightarrow oraz \neg jako funkcje zgodnie z tabelami 4.1.

Przykład 4.3

Niech {v} będzie wartościowaniem zmiennych takim, że v(p)=0,v(q)=1, v(r)=0. Wtedy

  • formuła q \Rightarrow p jest wartościowana na 0 (będziemy to zapisywać jako v(q \Rightarrow p)=0),
  • formuła r \Rightarrow (q \Rightarrow p) jest wartościowana na 1 (czyli v(r \Rightarrow (q \Rightarrow p))=1),
  • formuła \neg p \Rightarrow r jest wartościowana na 0 (czyli v(\neg p \Rightarrow r)=0).

Ćwiczenie 4.1

Przy wartościowaniu v z przykładu 4.3 jakie wartości przyjmują następujące formuły

  1. p \Rightarrow (q \Rightarrow r),
  2. p \Rightarrow (p \Rightarrow q),
  3. \neg \neg q \Rightarrow p,
  4. (\neg q\Rightarrow q) \Rightarrow (q \Rightarrow \neg q).

Rozwiązanie

1. v(p \Rightarrow (q \Rightarrow r))=1
2. v(p \Rightarrow (p \Rightarrow q))=1
3. v(\neg \neg q \Rightarrow p)=0
4. v((\neg q\Rightarrow q) \Rightarrow (q \Rightarrow \neg q))=0

Ćwiczenie 4.2

     1. Podaj przykład wartościowania zmiennych tak aby poniższe formuły były wartościowane na 0

(a) p \Rightarrow (q \Rightarrow r)
(b) (\neg p \Rightarrow q)
(c) (p\Rightarrow q) \Rightarrow q

     2. Podaj przykład wartościowania zmiennych tak aby poniższe formuły były wartościowane na 1

(a) \neg (p \Rightarrow q)
(b) \neg (\neg p \Rightarrow  \neg q)
(c) (\neg q\Rightarrow q) \Rightarrow (q \Rightarrow \neg q)

Rozwiązanie

Wartościowania będziemy oznaczać przez \textnormal{v}

1. (a) v(p)=1, v(q)=1, v(r)=0
    (b) v(p)=0,v(q)=0
    (c) v(p)=0,v(q)=0
2. (a) v(p)=1,v(q)=0
    (b) v(p)=0,v(q)=1)
    (c) v(q)=1

Twierdzenie o pełności

Zauważmy, że istnieją formuły, które dla każdego wartościowania zmiennych zdaniowych, zawsze przyjmują wartość 1 (np. p \Rightarrow p). Takie formuły będziemy nazywać tautologiami.

Ćwiczenie 4.3

Sprawdź czy poniższe formuły są tautologiami

  1. (\phi \Rightarrow (\psi \Rightarrow \phi)),
  2. (\phi \Rightarrow (\nu \Rightarrow \psi) \Rightarrow \left((\phi \Rightarrow \nu \Rightarrow (\phi \Rightarrow \nu) \right),
  3. (\neg \phi \Rightarrow \psi) \Rightarrow (\neg \phi \Rightarrow \neg \psi) \Rightarrow \phi,
  4. ((\phi \Rightarrow q) \Rightarrow p) \Rightarrow p.

Podpowiedź 1

Spróbuj poszukać wartościowań, dla których formuła przyjmuje wartość 0.

Podpowiedź 2

Można też sprawdzić wszystkie możliwości wartościowań.

Rozwiązanie

Wszystkie podane formuły są tautologiami.
Podajemy przykład rozwiązania dla pierwszej formuły.

\phi \psi \psi \Rightarrow \phi \displaystyle (\phi \Rightarrow (\psi \Rightarrow \phi))
 0   0       1                  1            
 0   1       0                  1            
 1   0       1                  1            
 1   1       1                  1            

Ponieważ w kolumnie odpowiadającej formule \displaystyle (\phi \Rightarrow (\psi \Rightarrow \phi)) są same 1 to formuła ta jest tautologią.

Nie przez przypadek pierwsze trzy formuły z poprzedniego zadania odpowiadają aksjomatom klasycznego rachunku zdań 3.1. Okazuje się że istnieje ścisły związek pomiędzy tautologiami a twierdzeniami klasycznego rachunku zdań. Mówi o tym ważny wynik Emila Posta

Emil Leon Post (1897-1954)Zobacz biografię
Enlarge
Emil Leon Post (1897-1954)
Zobacz biografię

Twierdzenie 4.4

Post 1921 Formuła jest twierdzeniem klasycznego rachunku zdań wtedy i tylko wtedy kiedy jest tautologią.

Dowód powyższego twierdzenia jest przedstawiony na wykładzie Logika dla informatyków Dzięki powyższemu twierdzeniu możemy w miarę łatwo stwierdzać, czy dana formuła jest twierdzeniem klasycznego rachunku zdań, sprawdzając, czy jest tautologią, co wymaga rozważenia jedynie skończonej (chociaż często niemałej) liczby wartościowań. Co więcej, mamy też możliwość dowodzenia, że jakaś formuła nie jest twierdzeniem klasycznego rachunku zdań. Uzasadnienie, że nie da się jakiejś formuły udowonić z aksjomatów poprzez stosowanie reguły MP wydaje się zadaniem trudnym, znacznie łatwiej jest poszukać wartościowania, które wartościuje formułę na 0 (znowu wystarczy sprawdzić jedynie skończenie wiele wartościowań).

Ćwiczenie 4.4

Udowodnij że każde twierdzenie klasycznego rachunku zdań jest tautologią.

Podpowiedź 1

Pokazaliśmy już w zadaniu 4.1, że aksjomaty są tautologiami. Zacznij od pokazania, że zastosowanie reguły MP do tautologii daje tautologię.

Podpowiedź 2

Udowodnij, twierdzenie przez indukcję ze względu na długość dowodu.

Rozwiązanie

Zaczniemy od pokazania, że jeśli formuły \displaystyle \phi \Rightarrow \psi oraz \displaystyle \phi są tautologiami, to formuła \displaystyle \psi jest tautologią. Dla dowodu niewprost przypuśćmy, że nie jest. Wtedy istnieje wartościowanie, które oznaczymy przez \displaystyle v, dla którego \displaystyle v(\psi)=0. Ponieważ \displaystyle \phi jest tautologią, to \displaystyle v(\phi)=1. Ponieważ jednak \displaystyle v(\psi)=0 oraz \displaystyle v(\phi)=1, to z tabeli interpretacji 4.1 dostajemy \displaystyle v(\phi \Rightarrow \psi)=0. Jest to sprzeczne z faktem, że \displaystyle \phi \Rightarrow \psi jest tautologią.
Udowodnimy teraz indukcyjnie, że każda formuła, która ma dowód w klasycznym rachunku zdań, jest tautologią klasycznego rachunku zdań. Indukcję poprowadzimy ze względu na długość dowodu (długością dowodu nazywamy ilość formuł w ciągu będącym dowodem).

  1. Baza indukcji. Jeśli formuła \displaystyle \phi ma dowód długości jeden, to musi być jednym z aksjomatów. W ćwiczeniu 4.1 pokazaliśmy, że wszystkie aksjomaty są tautologiami, wobec czego \displaystyle \phi jest tautologią.
  2. Krok indukcyjny. Weźmy dowolne \displaystyle n\in N takie, że \displaystyle n>1 i przypuśćmy, że wszystkie formuły o dowodach silnie krótszych od \displaystyle n są tautologiami. Pokażemy, że wszystkie formuły o dowodach długości \displaystyle n są tautologiami. Weźmy dowolną formułę \displaystyle \Phi o dowodzie długości \displaystyle n, niech \displaystyle \phi_1, \dots,\phi_{n-1},\phi_n=\Phi będzie dowodem \displaystyle \Phi. Jeśli \displaystyle \Phi jest aksjomatem to z ćwiczenia 4.1 wynika, że \displaystyle \Phi jest tautologią. W przeciwnym przypadku \displaystyle \Phi musiała powstać przez zastosowanie reguły MP do pewnych formuł \displaystyle \phi_i, \phi_j. Ponieważ \displaystyle \phi_i występuje w dowodzie formuły \displaystyle \Phi to ciąg formuł \displaystyle \phi_1, \dots,\phi_i jest dowodem formuły \displaystyle \phi_i. Ponieważ istnieje dowód formuły, \displaystyle \phi_i o długości silnie mniejszej od \displaystyle n to z założenia indukcyjnego formuła \displaystyle \phi_i jest tautologią. Analogiczne rozumowanie dla \displaystyle \phi_j pokazuje, że formuła \displaystyle \phi_j też jest tautologią. Wobec tego z faktu udowodnionego na początku tego ćwiczenia wynika, że również \displaystyle \Phi jest tautologią, jako formuła powstająca przez zastosowanie reguły MP do tautologii. Wobec dowolności wyboru \displaystyle \Phi otrzymujemy, że wszystkie formuły o dowodach długości \displaystyle n są tautologiami.

Inne spójniki

Do tej pory jedynymi rozważanymi spójnikami była implikacja i negacja. W analogiczny sposób do 4.1 możemy wprowadzać kolejne spójniki. Często używane spójniki to koniunkcja (spójnik i) oznaczana przez \wedge oraz alternatywa (spójnik lub) oznaczana przez \vee, które będziemy interpretować w następujący sposób:

\wedge 0 1
 0   0   0 
 1   0   1 
    
\vee 0 1
 0   0   1 
 1   1   1 

\quad \mbox{(4.2)}


Zgodnie z intuicją koniunkcja \phi \wedge\psi jest wartościowana na 1 wtedy i tylko wtedy, gdy zarówno {\phi} jak i {\psi} są wartościowane na 1. Alternatywa \phi \vee \psi jest wartościowana na 1, jeśli przynajmniej jedna z formuł \phi, \psi jest wartościowana na 1.

Definicja 4.5

Formuły {\phi} oraz {\psi}równoważne (oznaczamy ten fakt przez \phi \equiv \psi wtedy i tylko wtedy, gdy dla każdego wartościowania formuła {\phi} przyjmuje tą samą wartość co formuła {\psi}.

Ćwiczenie 4.5

Udowodnij, że następujące formuły są równoważne

  1. \phi \vee \psi \equiv \neg \phi \Rightarrow \psi
  2. \phi \wedge \psi \equiv \neg (\phi \Rightarrow \neg \psi)

Rozwiązanie

1. Lewa strona jest fałszywa jedynie, gdy {\phi} oraz {\psi} są wartościowane na 0. Prawa strona jest fałszywa wtedy i tylko wtedy, kiedy \neg \phi jest wartościowane na 1 oraz {\psi} jest wartościowane na 0 (to jedyna możliwość aby implikacja była fałszywa). Wobec tego prawa strona jest fałszywa wtedy i tylko wtedy, kiedy {\phi} oraz {\psi} są wartościowane na 0, a więc jest równoważna lewej.
2. Lewa strona jest prawdziwa jedynie, gdy {\phi} oraz {\psi} są wartościowane na 1. Prawa strona jest prawdziwa wtedy i tylko wtedy, kiedy \neg (\phi \Rightarrow \neg \psi) jest wartościowane na 1, więc wtedy gdy (\phi \Rightarrow \neg \psi) jest wartościowane na 0. To z kolei zdarzyć się może jedynie, gdy {\phi} jest wartościowane na 1 i \neg \psi na 0, a więc wtedy, gdy zarówno {\phi} jak i {\psi} są wartościowane na 1. Wobec tego obie formuły są równoważne.

Równie dobrym rozwiązaniem jest sprawdzenie wszystkich możliwości wartościowań i porównanie wyników.

Z powyższego zadania wynika, że każdą formułę w której występują spójniki \wedge lub \vee można zastąpić równoważną formułą, w której jedynymi spójnikami są \Rightarrow oraz \neg. Tak naprawdę więc nowe spójniki nie wprowadzają nic nowego poza użytecznymi skrótami w zapisywaniu formuł. Aby się oswoić z własnościami spójników, prześledzimy szereg ich praw.

Ćwiczenie 4.6

Udowodnij następujące równoważności

  1. \neg \neg p \equiv p,
  2. p\Rightarrow q \equiv \neg p \vee q,
  3. p \Rightarrow (q \Rightarrow r) \equiv (p \wedge q) \Rightarrow r,
  4. \neg( p \wedge q) \equiv \neg p \vee \neg q,
  5. \neg( p \vee q) \equiv \neg p \wedge \neg q,
  6. p \wedge (q \vee r) \equiv (p \wedge q) \vee (p\wedge r),
  7. p \vee (q \wedge r) \equiv (p \vee q) \wedge (p\vee r),
  8. (p \Rightarrow q) \Rightarrow (\neg p \Rightarrow \neg q).

Rozwiązanie

Przedstawiamy przykładowe dowody kilku pierwszych równoważności.

1. Jeśli \textnormal{p} jest wartościowane na 1, to zgodnie z tabelą dla negacji 4.1 \neg p jest wartościowane na 0 i \neg \neg p jest wartościowane na 1. Jeśli \textnormal{p} jest wartościowane na 0 to, \neg p jest wartościowane na 1 i \neg \neg p jest wartościowane na 0. Formuły przyjmują te same wartości dla każdego wartościowania, więc są równoważne.
2. Jedyną możliwością, aby lewa strona była fałszywa jest, aby \textnormal{p} było wartościowane na 1, a \textnormal{q} na 0. Prawa stona jest fałszywa jedynie, gdy \neg p oraz \textnormal{q} są wartościowane na 0. Czyli prawa strona jest fałszywa, jedynie gdy \textnormal{p} jest wartościowane na 1 i \textnormal{q} na 0. Formuły są więc równoważne.
3. Analogicznie do poprzedniego punktu łatwo się przekonać, że jedynym wartościowaniem, które falsyfikuje lewą stronę, jest takie, które wartościuje \textnormal{p} i \textnormal{q} na 1 oraz \textnormal{r} na 0. Tą samą własność ma formuła po prawej stronie, więc formuły są równoważne.
4. Przykład rozwiązania przez rozważenie wszystkich możliwości

\textnormal{p} \textnormal{q} \textnormal{p} \wedge \textnormal{q} \neg( p \wedge q) \neg p \neg q \neg p \vee \neg q
 0   0  0 1 1 1 1
 0   1  0 1 1 0 1
 1   0  0 1 0 1 1
 1   1  1 0 0 0 0

W pierwszych dwóch kolumnach są zapisane wartościowania zmiennych \textnormal{p} i \textnormal{q}, a w pozostałych odpowiadające im wartościowania formuł zbudowanych z tych zmiennych. Ponieważ kolumna 4 i 7 są identyczne to formuły z zadania są równoważne.
5. W równoważności z poprzedniego punktu, podstawiąjąc za \textnormal{p} formułę \neg p oraz za \textnormal{q} formułę \neg q otrzymamy równoważność

\neg( \neg p \wedge \neg q) \equiv \neg \neg p \vee \neg\neg q.

Stosując dwukrotnie równoważność z pierwszego punktu do prawej strony otrzymujemy

\neg( \neg p \wedge \neg q) \equiv  p \vee     q.

Negując tą równoważność obustronnie otrzymamy

\neg \neg( \neg p \wedge \neg q) \equiv\neg(  p \vee     q).

Stosując równoważność z pierwszego punktu do lewej strony otrzymamy szukaną równoważność.


Ćwiczenie 4.7

Sprawdź które z następujących formuł są tautologiami

  1. ( (p \vee r)\wedge( q \vee \neg r) )\Rightarrow (p \vee q),
  2. (p \vee q) \Rightarrow ( (p \vee r)\wedge( q \vee \neg r)),
  3. ( (p \wedge r)\vee( q \wedge \neg r) )\Rightarrow(p \wedge q),
  4. (p \wedge q) \Rightarrow ( (p \wedge r)\vee( q \wedge \neg r)).

Rozwiązanie

1. Spróbujmy znaleźć wartościowanie, które falsyfikuje tą formułę. Skoro implikacja ma być fałszywa, to formuła (p \vee q) (czyli następnik) musi być fałszywa. Tak jest tylko wtedy, kiedy zarówno \textnormal{p} jak i \textnormal{q} są fałszywe. Zobaczmy co się wtedy dzieje z poprzednikim implikacji, czyli formułą

(p \vee r)\wedge( q \vee \neg r).

Jeśli teraz ustalimy \textnormal{r} na fałsz, to (p \vee q) będzie fałszywe, a jeśli ustalimy r na prawdę to ( q \vee \neg r) będzie fałszywe. W obu tych przypadkach cały poprzednik jest fałszywy. Wynika stąd, że nie da się dobrać takiego wartościowania, że poprzednik jest prawdziwy, a następnik fałszywy więc, rozważana formuła jest tautologą.
2 Formuła nie jest tautologią. Wystarczy wartościować \textnormal{p} i \textnormal{r} na prawdę i \textnormal{q} na fałsz.
3. Formuła nie jest tautologią. Wystarczy wartościować \textnormal{p} i \textnormal{r} na prawdę i \textnormal{q} na fałsz.
4. Przykład rozwiązania przez rozważenie wszystkich możliwości

\textnormal{p} \textnormal{q} \textnormal{r}(\textnormal{p} \wedge \textnormal{q}) ( p \wedge r) ( q \wedge \neg r) (p \wedge r) \vee (q \wedge \neg r) (p \wedge q) \Rightarrow ((p \wedge r) \vee (q \wedge \neg r))
 0   0   0  0 0 0 0 1
0 0 1 0 0 0 0 1
0 1 0 0 0 1 1 1
0 1 1 0 0 0 0 1
1 0 0 0 0 0 0 1
1 0 1 0 1 0 1 1
1 1 0 1 0 1 1 1
1 1 1 1 1 0 1 1

W kolumnie odpowiadającej badanej formule, są same 1, więc jest ona tautologią.


Binarne spójniki logiczne interpretowaliśmy jako funkcje z \mathbb{B}\times \mathbb{B} \rightarrow \mathbb{B}. Nie trudno przekonać się, że takich funkcji jest dokładnie 16. Dla każdej takiej funkcji możemy dodać spójnik, który będzie interpretowany dokładnie jako ta funkcja. W poniższej tabeli zamieszczamy wszystkie takie funkcje wraz ze zwyczajowymi oznaczeniami odpowiadających im spójników.

Definicja 4.6

W poniższej tabeli przedstawiamy wszystkie spójniki binarne.

Numer
funkcji
p=0
q=0
p=0
{q=1}
p=1
q=0
p=1
{q=1}
   
0 0 0 0 0   F
1 0 0 0 1   \wedge
2 0 0 1 0   \neg (p \Rightarrow q)
3 0 0 1 1   \textnormal{p}
4 0 1 0 0   \neg (q \Rightarrow p)
5 0 1 0 1   \textnormal{q}
6 0 1 1 0   XOR
7 0 1 1 1   \vee
8 1 0 0 0   NOR
9 1 0 0 1   \Leftrightarrow
10 1 0 1 0   \neg q
11 1 0 1 1   q \Rightarrow p
12 1 1 0 0   \neg p
13 1 1 0 1   p \Rightarrow q
14 1 1 1 0   NAND
15 1 1 1 1   T

Spójnik binarny \circ będziemy nazywać przemiennym, jeśli zachodzi następująca równoważność

p \circ q \equiv q \circ p \quad \mbox{(4.3)}


Ćwiczenie 4.8

Sprawdź następujące równoważności

  1. x NAND y \equiv \neg (x \wedge y)
  2. x NOR y \equiv \neg (x \vee y)
  3. x XOR y \equiv \neg (x \Leftrightarrow y)

Rozwiązanie

Powyższe równoważności wynikają natychmiast z porównania odpowiednich wierszy w tabeli definicji spójników.

Ćwiczenie 4.9

Ile spójników binarnych jest przemiennych? Wypisz je wszystkie.

Podpowiedź

Wygodnie jest reprezentować spójniki binarne w tabeli kwadratowej. Na przykład alternatywę zdefiniowaliśmy jako

\vee 0 1
 0   0   1 
 1   1   1 


Jaką własność musi posiadać tabela aby spójnik definiowany przez nią był przemienny?

Rozwiązanie

Dla przemienności spójnika \circ istotne jest aby 1\circ 0 =  0 \circ 1. Dla pozostałych przypadków wartościowań równoważnośc 4.3 jest zawsze spełniona. Każdy spójnik binarny możemy zdefiniować za pomocą tabelki kwadratowej, np. alternatywę zdefiniowaliśmy jako

\vee 0 1
 0   0   1 
 1   1   1 

Warunek przemienności oznacza, że wartość w polu o współrzędnych (0,1) jest równa wartości w polu o współrzędnych (1,0). Takich tabel jest 8, więc mamy 8 spójników przemiennych. Nietrudno je teraz odnaleźć w tabeli 4.6. Są to
1. F
2. \wedge
3. XOR
4. \vee
5. NOR
6. \Leftrightarrow
7. NAND
8. T

Spójnik binarny \circ będziemy nazywać łącznym jeśli zachodzi

następująca równoważność

p \circ(q \circ r) \equiv (p \circ q) \circ r. \quad \mbox{(4.4)}

Jeśli spójnik \circ jest łączny to dowolne dwie formuły, które są zbudowane jedynie ze spójników \circ są równoważne, jeśli występuje w nich tyle samo spójników. Dlatego dla łącznych spójników binarnych pomija się często nawiasy.

Ćwiczenie 4.10

Udowodnij, że następujące spójniki są łączne

  1. \vee
  2. \wedge
  3. \Leftrightarrow
  4. XOR

Rozwiązanie

1. Formuła (p \vee q) \vee r jest fałszywa jedynie wtedy, gdy \textnormal{p},\textnormal{q} i \textnormal{r} są wartościowane na fałsz. Tak samo jest dla formuły p \vee( q \vee r ), więc są one równoważne.
2. Formuła (p \wedge q) \wedge r jest prawdziwa jedynie wtedy, gdy \textnormal{p},\textnormal{q} i \textnormal{r} są wartościowane na prawdę. Tak samo jest dla formuły p \wedge( q \wedge r ), więc są one równoważne.
3. Zbadamy równoważność formuł (p \Leftrightarrow q) \Leftrightarrow r i p \Leftrightarrow(q \Leftrightarrow r) za pomocą tabeli

\textnormal{p} \textnormal{q} \textnormal{r}(p \leftrightarrow q) (p \leftrightarrow q) \leftrightarrow r (q \leftrightarrow r) p \leftrightarrow (q \leftrightarrow r)
 0   0   0  1 0 1 0
0 0 1 1 1 0 1
0 1 0 0 1 0 1
0 1 1 0 0 1 0
1 0 0 0 1 1 1
1 0 1 0 0 0 0
1 1 0 1 0 0 0
1 1 1 1 1 1 1

Kolumna 4 i 6 są identyczne, więc odpowiadające im formuły są równoważne. Spójnik \Leftrightarrow jest więc łączny.
4.W ćwiczeniu 4.8 pokazaliśmy, że \displaystyle x XOR y \equiv \neg (x \Leftrightarrow y). Łatwo zauważyć, że

\displaystyle \neg a \Leftrightarrow b \equiv \neg (a\Leftrightarrow b) \equiv a \Leftrightarrow \neg b.

Wynika to z faktu, że każda z powyższych formuł jest prawdziwa wtedy i tylko wtedy, gdy dokładnie jedna z zmiennych jest wartościowana na 1. Wobec tego mamy

\displaystyle \aligned p XOR (q XOR r)\equiv \\      \neg (p \Leftrightarrow \neg (q\Leftrightarrow r))\equiv \\      \neg \neg (p \Leftrightarrow (q\Leftrightarrow r)) \equiv \\      \neg \neg ((p \Leftrightarrow q)\Leftrightarrow r) \equiv \\      \neg (\neg (p \Leftrightarrow q)\Leftrightarrow r) \equiv \\       (p XOR q) XOR r. \endaligned

Pokazaliśmy więc, że spójnik \displaystyle XOR jest łączny.

Możemy również rozważać spójniki 3 i więcej argumentowe. Spójnik k-argumetowy powinien odpowiadać funkcji \mathbb{B}^k \rightarrow \mathbb{B}.

Przykład 4.7

W poniższej tabeli przedstawiamy przykład spójnika trójargumentowego

\textnormal{p} \textnormal{q} \textnormal{r}\circ (p, q, r)
 0   0   0   0 
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1

Uwaga 4.1

Różnych spójników k-argumentowych jest dokładnie 2^{2^k}.

Systemy funkcjonalnie pełne

Każda formuła odpowiada pewnej funkcji przekształcającej wartościowania zmiennych w niej występujących w element zbioru \mathbb{B}. Na przykład formuła p \Rightarrow (q\Rightarrow r) wyznacza funkcję f_{p \Rightarrow (q\Rightarrow r)} opisaną poniższą tabelą

\textnormal{p} \textnormal{q} \textnormal{r}f_{p \rightarrow _(q \rightarrow r)}
 0   0   0  1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1

Mówimy, wtedy że formuła {\phi} definuje funkcję f_{\phi}.

Definicja 5.1

Skończony zbiór funkcji boolowskich {\Gamma} nazywamy funkcjonalnie pełnym, jeśli każdą funkcję boolowską da się zdefiniować przy pomocy formuły zbudowanej wyłącznie ze spójników odpowiadających funkcjom ze zbioru {\Gamma}.

Twierdzenie 5.2

Zbiór \{\wedge, \vee, \neg\} jest funkcjonalnie pełny.

Dowód

Dla dowolnej funkcji boolowskiej skonstruujemy formułę która ją definiuje. Niech \displaystyle k\in \nNat oraz \displaystyle f:\mathbb{B}^k \rightarrow \; \mathbb{B}. W definiowanej formule będziemy używać zmiennych \displaystyle p_1, \dots,p_k, a każdy element \displaystyle (w_1,\ldots,w_k) \in \mathbb{B}^k będzie odpowiadał wartościowaniu \displaystyle v_w takiemu, że \displaystyle v(p_i)=w_i.

Niech \displaystyle F będzie zbiorem tych argumentów, dla których funkcja \displaystyle f przyjmuje wartość 1. Dla dowolnego elementu \displaystyle x_i \in F skonstruujemy formułę \displaystyle \phi_i w taki sposób, aby była spełniona tylko dla wartościowania odpowiadającego elementowi \displaystyle x_i. Niech \displaystyle x_i= (w_1,\dots,w_k), wtedy formułę \displaystyle \phi_i definiujemy jako \displaystyle l^i_1 \wedge l^i_2 \wedge \dots \wedge l^i_k gdzie

\displaystyle l^i_j \begin{cases} p_j, & \mbox{gdy } w_j = 1 \displaystyle ;\\ \neg p_j, & \mbox{gdy } w_j = 0 \displaystyle .\end{cases}

Łatwo sprawdzić, że formuła \displaystyle \phi_i jest spełniona tylko dla wartościowania odpowiadającego elementowi \displaystyle x_i.

Postępując w ten sposób dla każdego elementu zbioru \displaystyle F otrzymamy formuły \displaystyle \phi_1, \dots \phi_m. Biorąc

\displaystyle \phi_1 \vee \dots \vee \phi_m

otrzymamy formułę która definiuje funkcję \displaystyle f, oznaczmy ją przez \displaystyle \Phi. Jeśli dla wartościowania \displaystyle v formuła \displaystyle \Phi jest spełniona to znaczy, że któraś z formuł \displaystyle \phi_i jest spełniona. Oznacza to że wartościowanie \displaystyle v odpowiada pewnemu elementowi \displaystyle x_i zbioru \displaystyle F, wobec tego funkcja \displaystyle f(x_i)=1 co jest zgodne z tym, że spełniona jest \displaystyle \Phi. W drugą stronę załóżmy że dla pewnego elementu \displaystyle a\in \mathbb{B}^k mamy \displaystyle f(a)=1. Wobec tego \displaystyle a\in F. Wtedy \displaystyle a odpowiada pewnej formule \displaystyle \phi_i, która jest spełniona dla wartościowania odpowiadającego \displaystyle a. Wobec tego również cała formuła \displaystyle \Phi jest spełniona dla tego wartościowania (bo jeden z elementów alternatywy jest spełniony). Wynika stąd, że formuła \displaystyle \Phi definiuje funkcję \displaystyle f. Na koniec zauważmy jeszcze że jedynymi spójnikami występującymi w formule \displaystyle \Phi\displaystyle \neg, \vee, \wedge.

image:End_of_proof.gif

Twierdzenie 5.3

Zbiory \{\wedge,  \neg\}, \{\vee,  \neg\} są funkcjonalnie pełne.

Dowód

Aby pokazać, że \displaystyle \{\wedge,  \neg\} jest funkcjonalnie pełny wystarczy pokazać, że przy pomocy spójników \displaystyle \{\wedge,  \neg\} da się zdefiniować \displaystyle \vee. Wtedy funkcjonalną pełność otrzymamy z twierdzenia 5.2. W ćwiczeniu 4.2 pokazaliśmy, że

\displaystyle \neg (x \vee y) = \neg x \wedge \neg y.

Wobec tego

\displaystyle x \vee y =\neg(\neg x \wedge \neg y)

a więc zdefiniowaliśmy \displaystyle \vee przy pomocy \displaystyle \neg, \wedge.

Analogicznie aby pokazać funkcjonalną pełność zbioru \displaystyle \{\vee,  \neg\} zdefiniujemy \displaystyle \wedge przy pomocy spójników \displaystyle \vee,  \neg. Z ćwiczenia 4.2 mamy

\displaystyle \neg(x \wedge y)= \neg x \vee \neg y

a więc

\displaystyle x \wedge y=\neg( \neg x \vee \neg y).
image:End_of_proof.gif

Ćwiczenie 5.1

Udowodnij, że zbiór \displaystyle \{\Rightarrow,  \neg\} jest funkcjonalnie pełny.

Rozwiązanie

W ćwiczeniu 4.2 pokazaliśmy, że

\displaystyle p\Rightarrow q \equiv \neg p \vee q,

wobec tego

\displaystyle (\neg  p)\Rightarrow q  \equiv \neg \vee q.

Udało nam się więc zdefiniować alternatywę za pomocą dostępnych spójników, wobec czego zgodnie z twierdzeniem 5.3 możemy również zdefiniować wszystkie inne funkcje boolowskie. Wynika stąd, że zbiór \displaystyle \{\Rightarrow,  \neg\} jest funkcjonalnie pełny.

Twierdzenie 5.4

Zbiór \{NOR\} jest funkcjonalnie pełny.

Dowód

Pokażemy, że przy pomocy \displaystyle NOR można zdefiniować \displaystyle \neg oraz \displaystyle \vee. Wtedy z twierdzenia twierdzenia 5.3 otrzymamy tezę twierdzenia.

Łatwo sprawdzić, że

\displaystyle p NOR p \equiv \neg.

Wiemy, że

\displaystyle p NOR q \equiv \neg (p\vee q).

Wobec tego mamy również

\displaystyle \neg(p NOR q) \equiv p\vee q.

Możemy teraz wyrazić negację za pomocą \displaystyle NOR, otrzymamy wtedy

\displaystyle (p NOR q) NOR (p NOR q) \equiv p\vee q.
image:End_of_proof.gif

Ćwiczenie 5.2

Udowodnij, że zbiór \displaystyle \{NAND\} jest funkcjonalnie pełny.

Rozwiązanie

Analogicznie do dowodu w twierdzeniu 5.4 pokażemy, że przy pomocy \displaystyle NAND można zdefiniować \displaystyle \neg oraz \displaystyle \wedge. Wtedy z twierdzenia 5.3 otrzymamy, że zbiór \displaystyle \{NAND\} jest funkcjonalnie pełny.

Z definicji spójnika \displaystyle NAND 4.6 łatwo wynika, że

\displaystyle p NAND p \equiv \neg p.

W ćwiczeniu 4.2 pokazaliśmy, że

\displaystyle p NAND q \equiv \neg (p \wedge q).

Wobec tego

\displaystyle \neg p NAND q\equiv  p \wedge q.

i po zapisaniu \displaystyle \neg za pomocą \displaystyle NAND otrzymujemy

\displaystyle (p NAND q) NAND (p NAND q) \equiv p\wedge q

Ćwiczenie 5.3

Zdefiniuj alternatywę przy pomocy samej implikacji.

Rozwiązanie

Łatwo sprawdzić, że formuła (p \Rightarrow q) \Rightarrow q jest równoważna formule p\vee q.

Ćwiczenie 5.4

Jakie funkcje binarne da się zdefiniować przy pomocy samej implikacji?

Rozwiązanie

Rozważmy po kolei najmniejsze formuły zbudowane z dwóch zmiennych \displaystyle p i \displaystyle q. Formuły \displaystyle p oraz \displaystyle q definiują funkcje binarne będące rzutowaniami, które oznaczymy przez \displaystyle f_p oraz \displaystyle f_q. Kolejne formuły to \displaystyle p \Rightarrow p, \displaystyle q \Rightarrow q, obydwie one są tautologiami, więc definiują funkcję stale równą 1, którą oznaczymy przez \displaystyle f_T. Kolejne \displaystyle p\Rightarrow q oraz \displaystyle q\Rightarrow p definiują funkcje które oznaczymy przez \displaystyle f_{p \Rightarrow q}, f_{p\Rightarrow q}. Wśród formuł o trzech spójnikach znajdziemy formuły opisujące funkcję \displaystyle f_{p \vee q}, zgodnie z poprzednim ćwiczeniem są to formuły \displaystyle (p \Rightarrow q) \Rightarrow q) oraz \displaystyle (q \Rightarrow p) \Rightarrow p). Dociekliwi mogą sprawdzić, że każda z pozostałych formuł o trzech spójnikach definiuje którąś z funkcji opisanych wcześniej. Pokażemy teraz, że każda funkcja zdefiniowana przy pomocy implikacji jest którąś funkcji \displaystyle f_p,f_q,f_T,f_{p \Rightarrow q},f_{q \Rightarrow p}, f_{p\vee q}. Zbiór tych funkcji oznaczymy przez \displaystyle F_\Rightarrow. Pokażemy teraz, że przy pomocy implikacji można zdefiniować co najwyżej 6 różnych funkcji binarnych. Zaczniemy od prostej obserwacji, że każda formuła zbudowana jedynie z implikacji przyjmuje wartość 1, jeśli zmienne są wartościowane na 1. Pokażemy nawet więcej.

Niech \displaystyle \Phi będzie dowolną formułą o zmiennych \displaystyle p,q zbudowaną jedynie przy pomocy spójnika \displaystyle \Rightarrow. Jeśli \displaystyle p jest ostatnią zmienną występującą w \displaystyle \Phi to każde wartościowanie które wartościuje \displaystyle p na 1 wartościuje również \displaystyle \Phi na 1. Przeprowadzimy dowód indukcyjny ze względu na ilość wystąpień spójnika \displaystyle \Rightarrow.

  1. Baza indukcji. Jeśli \displaystyle \Rightarrow ma zero wystąpień to jedyną formułą w której ostatnią zmienną jest \displaystyle p jest formuła \displaystyle p. Badana własność jest oczywiście spełniona.
  2. Krok indukcyjny. Niech \displaystyle n\in \nNat takie, że \displaystyle n>0. Przypuśćmy, że wszystkie formuły o mniejszej liczbie spójników od \displaystyle n mają żądaną własność. Weźmy dowolną formułę \displaystyle \Phi o \displaystyle n spójnikach, w której ostatnią występującą zmienną jest \displaystyle p. Ponieważ \displaystyle n>0 to \displaystyle \Phi jest postaci \displaystyle \phi \Rightarrow \psi. Ponieważ \displaystyle p jest również ostatnią zmienną w \displaystyle \psi oraz w \displaystyle \psi jest mniej niż \displaystyle n spójników to z założenia indukcyjnego każde wartościowanie, które wartościuje \displaystyle p na 1, wartościuje również \displaystyle \psi na 1. Z tabeli 4.1 wynika, że również formuła \displaystyle \phi \Rightarrow \psi jest wtedy wartościowana na 1, a więc posiada badaną własność. Wobec dowolności wybory \displaystyle \Phi wszystkie formuły o \displaystyle n spójnikach posiadają badaną własność.

Analogiczny dowód dla zmiennej \displaystyle q pomijamy. Wiemy teraz że jeśli formuła zbudowana jedynie z implikacji kończy się jakąś zmienną to wartościowania tej zmiennej na 1 wartościuje całą formułę na 1. Dla tabeli funkcji binarnej oznacza to, że ostatni wiersz lub ostatnia kolumna są stale równe 1. Nietrudno sprawdzić, że tabeli o takiej własności jest dokładnie 6. Wobec tego przy pomocy implikacji nie da się zdefiniować więcej niż 6 funkcji binarnych. Oznacza to, że funkcje \displaystyle f_p,f_q,f_T,f_{p \Rightarrow q},f_{q \Rightarrow p}, f_{p\vee q} są wszystkimi funkcjami binarnymi, które da się zdefiniować przy pomocy samej implikacji.

Ćwiczenie 5.5

Udowodnij, że poniższe zbiory nie są funkcjonalnie pełne

  1. \{\wedge\}
  2. \{\vee\}
  3. \{\Leftrightarrow\}
  4. \{XOR\}

Rozwiązanie

1. Oznaczmy zbiór formuł w których jedynym spójnikiem jest \wedge przez F_\wedge. Udowodnimy, że każda formuła z F_\wedge przyjmuje zawsze wartość 1, jeśli jej zmienne są wartościowane na 1. Rozmiarem formuły będziemy nazywać liczbę wystąpień spójnika \wedge w formule. Dowód będzie indukcyjny ze względu na rozmiar formuły.
Baza indukcji: Każda formuła z F_\wedge o rozmiarze 0 jest postaci \textnormal{x}, gdzie \textnormal{x} jest zmienną. Wobec tego przy wartościowaniu zmiennych na 1 formuła \textnormal{x} też jest wartościowana na 1. A więc każda formuła o rozmiarze 0 ma postulowaną własność.
Krok indukcyjny: Ustalmy dowolne n>0 i przyjmijmy, że wszystkie formuły o mniejszym rozmiarze mają postulowaną własność. Niech \nu będzie dowolną formułą z F_\wedge o rozmiarze \textnormal{n}. Skoro n>1 to \nu musi być postaci \phi\wedge \psi. Rozważmy wartościowanie które wszyskim zmiennym przypisuje wartość 1. Ponieważ rozmiary {\phi} oraz {\psi} są silnie mniejsze od \textnormal{n} to z założenia indukcyjnego otrzymujemy, że dla naszego wartościowania obie przyjmują wartość 1. Wobec tego zgodnie z tabelą 4.2 cała formuła \phi\wedge \psi też przyjmuje wartość 1. Dowiedliśmy więc, że każda formuła o rozmiarze \textnormal{n} ma postulowaną własność.
Wiemy już że każda F_\wedge przyjmuje zawsze wartość 1, jeśli jej zmienne są wartościowane na 1. Wobec tego niemożliwe jest zdefiniowanie np. spójnika F gdyż definująca go formuła musiałby przyjąć wartość 0 na takim wartościowaniu.
2. Dowód analogiczny do poprzedniego.

Ćwiczenie 5.6

Czy funkcje binarne, zdefiniowane za pomocą formuł zawierającyh jedynie przemienne spójniki, muszą być przemienne?

Podpowiedź

Przyjrzyj się formułom zbudowanym z \Leftrightarrow

Rozwiązanie

Spójnik \Leftrightarrow jest przemienny. Rozważmy formułę x\Leftrightarrow  x \Leftrightarrow y. Łatwo zauważyć, że definiuje ona funkcję f(x,y)=y, która nie jest przemienna.

Ćwiczenie 5.7

(z wykładu prof. P.M.Idziaka) Niech F_n oznacza ilość boolowskich funkcji \textnormal{n} argumetnowych, a P_n ilość boolowskich funkcji \textnormal{n} argumentowych, takich że przy pomocy każdej z nich da się zdefiniować dowolną funkcję boolowską (czyli jeśli \circ jest takim spójnikiem to zbiór \{\circ\} jest funkcjonalnie pełny). Udowdnij istenienie poniższej granicy i wyznacz jej wartość

\lim_{n \rightarrow \infty} \frac{P_n}{F_n}

Rozwiązanie

Ustalmy dowolne \displaystyle n>1. Niech \displaystyle \circ będzie spójnikiem \displaystyle n argumentowym takim, że zbiór \displaystyle \{\circ\} jest funkcjonalnie pełny. Zastanówmy się jaką funkcję unarną definiuje formuła \displaystyle \circ(x, \dots, x). Funkcja ta nie może na samych 1 dawać wartości 1, gdyż wtedy każda formuła unarna poza formułą \displaystyle x zbudowana z \displaystyle \circ byłaby stale równa 1 (indukcyjny dowód pomijamy), a więc nie dałoby się zdefiniować \displaystyle \neg przyp pomocy \displaystyle \circ. Z tych samych przyczyn formuła \displaystyle \circ(x, \dots, x) na samych 0 nie może przyjmować wartości 0. Wynika stąd, że konieczne jest aby

\displaystyle      \circ(x, \dots ,x) \equiv \neg x. \quad \mbox{(5.1)}

Łatwo zauważyć, że \displaystyle n-argumentowych spójników spełniających powyższą równoważność jest dokładnie \displaystyle 2^{2^{n}-2} (równoważność ta ustala wartość funkcji na dwóch wartościowaniach). Skoro wszystkie spójniki które są funkcjonalnie pełne mają powyższą własność to

\displaystyle P_n  \leq 2^{2^{n}-2}.

Wynika stąd, że jeśli granica \displaystyle \lim_{n \rightarrow \infty} \frac{P_n}{F_n} istnieje to jest nie większa od \displaystyle \frac{1}{4}.
Dla dowolnego \displaystyle a\in \mathbb{B} przez \displaystyle \bar{a} będziemy oznaczać element \displaystyle 1-x (czyli \displaystyle \bar{0}=1 i \displaystyle \bar{1}=0). Notację tą w naturalny sposób rozszerzymy na elementy \displaystyle \mathbb{B}^n. Czyli dla \displaystyle x=(x_1,\dots,x_n) \in \mathbb{B}^n mamy \displaystyle \bar{x}= \overline{(x_1,\dots,x_n)}= (\bar{x_1},\dots,\bar{x_n}).
Pokażemy, że dowolny spójnik \displaystyle n argumentowy spełniający \mbox{(5.1)} pozwala zdefiniować wszystkie inne spójniki wtedy i tylko wtedy gdy istnieje \displaystyle x\in \mathbb{B}^n dla którego \displaystyle \circ(\bar{x})= \circ(x). Niech \displaystyle \circ będzie spójnikiem \displaystyle n argumentowym spełniającym \mbox{(5.1)}.
Zaczniemy od pokazania, że jeśli nie istnieje taki \displaystyle x to nie wszystkie funkcje da się zdefiniować przy pomocy \displaystyle \circ. W takim wypadku, dla każdego \displaystyle x\in \mathbb{B}^n mamy \displaystyle \circ(\bar{x})= \overline{\circ(x)}. Z ostatniej obserwacji wynika również, że dla dowolnej formuły \displaystyle \phi zbudowanej przy pomocy \displaystyle \circ, wartość \displaystyle \phi przy wartościowaniu odpowiadającym \displaystyle x jest równa wartości \displaystyle \neg \phi przy wartościowaniu odpowiadającym \displaystyle \bar{x} (prosty indukcyjny dowód tego faktu pomijamy). Oznacza to że zmiana wartościowania na "przeciwne" zmienia też wartość formuły na przeciwną. Wobec tego nie jest możliwe zdefiniowanie żadnej funkcji stałej przy pomocy \displaystyle \circ, a więc zbiór \displaystyle \{\circ\} nie jest funkcjonalnie pełny.
Pokażemy teraz, że jeśli istnieje przynajmniej jeden element \displaystyle x\in \mathbb{B}^n dla którego \displaystyle \circ(x)=\circ(\bar{x}) to zbiór \displaystyle \{\circ\} jest funkcjonalnie pełny. Niech \displaystyle x będzie tym elementem. Zdefiniujemy formułę o dwóch zmiennych \displaystyle p oraz \displaystyle q. Nowa formuła będzie postaci

\displaystyle \phi=    \circ(v_1,\dots,v_n),

gdzie \displaystyle v_i jest zmienną p jeśli \displaystyle x_i jest równe 1 i zmienną \displaystyle q w przeciwnym przypadku. Zobaczmy jaką funkcję binarną definiuje formuła \displaystyle \phi. Jeśli \displaystyle p oraz \displaystyle q są wartościowane na 0, to \displaystyle \phi jest wartościowane zgodnie z \displaystyle \circ(0,\dots,0) a więc na 1. Jeśli \displaystyle p oraz \displaystyle q są wartościowane na 1 \displaystyle \phi jest wartościowane zgodnie z \displaystyle \circ(1,\dots,1) a więc na 0. W pozostałych przypadkach wartościowanie odpowiada albo \displaystyle x albo \displaystyle \bar{x}, a funkcja \displaystyle \phi przyjmuje tą samą wartość, oznaczmy ją przez \displaystyle c. Podsumowując otrzymujemy

\phi 0 1
 0   1   \displaystyle c 
 1   \displaystyle c   0 

W zależności od wartości \displaystyle c formuła \displaystyle \phi definiuje funkcję \displaystyle NAND albo \displaystyle NOR. W obu tych przypadkach przy pomocy formuły \displaystyle \phi da się zdefiniować wszystkie funkcje boolowskie. Ponieważ \displaystyle \circ jest jedynym spójnikiem występującym w \displaystyle \phi to również zbiór \displaystyle \{\circ\} jest funkcjonalnie pełny.
Po scharakteryzowaniu, które spójniki pozwalają zdefiniować wszystkie inne, pozostało jedynie oszacować ich liczbę. Wszystkich spójników \displaystyle n argumentowych spełniających \mbox{(5.1)} jest \displaystyle \frac{1}{4} \cdot 2^{2^n}. Wszystkich spójników \displaystyle n argumentowych spełniających \displaystyle \circ(\bar{x})= \overline{\circ(x)} jest \displaystyle 2^{2^{n-1}} (z każdej pary przeciwnych wartościowań wybieramy jedno). Po odrzuceniu połowy funkcji które nie spełniają \mbox{(5.1)} otrzymujemy \displaystyle \frac{1}{2} \cdot 2^{2^{n-1}}. Wobec tego pozostaje dokładnie

\displaystyle \frac{1}{4} \cdot 2^{2^n} - \frac{1}{2} \cdot 2^{2^{n-1}}

funkcji które spełniają \mbox{(5.1)} oraz nie spełniają \displaystyle \circ(\bar{x})= \overline{\circ(x)}. Możemy teraz obliczyć granicę

\displaystyle \lim_{n \rightarrow \infty} \frac{    \frac{1}{4} \cdot 2^{2^n} - \frac{1}{2} \cdot 2^{2^{n-1}}}{2^{2^n}} = \lim_{n \rightarrow \infty} \frac{1}{4} (1- 2 \cdot \frac{1}{2^{2^{n-1}}})=\frac{1}{4}.

Postacie normalne

Definicja 6.1

Literałem nazywamy formułę, która jest zmienną zdaniową lub negacją zmiennej zdaniowej.

Zauważmy, że formuła konstruowana w dowodzie twierdzenia 5.2 jest w pewnej standartowej postaci - formuła jest alternatywą formuł, które są koniunkcjami literałów. Przypomnijmy, że dla p \Rightarrow q zbudujemy formułę

(p \wedge q) \vee (\neg p \wedge q) \vee (\neg p \wedge \neg q).

Definicja 6.2

Formuła jest w dyzjunktywnej postaci normalnej (DNF), jeśli jest alternatywą formuł które są koniunkcjami literałów. Czyli wtedy, gdy jest postaci

\phi_1\vee \dots \vee \phi_n

oraz każda z formuł \phi_i jest koniunkcją literałów, czyli jest postaci

l_l^i \wedge \dots \wedge l_k^i

dla pewnych literałów l_l^i, \dots,l_k^i

Twierdzenie 6.3

Dla każdej formuły istnieje równoważna formuła w DNF.

Dowód

Wynika bezpośrednio z konstrukcji w dowodzie twierdzenia 5.2.

image:End_of_proof.gif

Definicja 6.4

Formuła jest w koniunktywnej postaci normalnej (CNF), jeśli jest koniunkcją formuł które są alternatywami literałów.

Twierdzenie 6.5

Dla każdej formuły istnieje równoważna formuła w CNF.

Dowód

Niech \displaystyle \Phi będzie dowolną formułą. Z twierdzenia twierdzenia 6.3 wynika, że dla formuły \displaystyle \neg \Phi istnieje dyzjunktywna postać normalna. Niech \displaystyle \Psi będzie taką formułą. Wtedy mamy

\displaystyle \Phi \equiv \neg \Psi.

Stosując wielokrotnie prawa de'Morgana dla formuły \displaystyle \neg \Psi otrzymamy formułę w koniunktywnej postaci normalnej. Indukcyjny dowód tego faktu pomijamy.

image:End_of_proof.gif

Ćwiczenie 6.1

Jak sprawdzić, czy formuła w CNF jest tautologią?

Rozwiązanie

Niech rozważaną formułą będzie

\phi_1\wedge \dots \wedge \phi_n

Aby była tautologią konieczne jest, aby każda z formuł \phi_i była tautologią. Ponieważ każda z formuł \phi_i jest alternatywą literałów to jest tautologią jedynie wtedy, gdy istnieje taki literał który występuje w \phi_i zarówno pozytywnie (czyli jako zmienna) jak i negatywnie (czyli jako zanegowana zmienna).

Ćwiczenie 6.2

Dla poniższych formuł wypisz ich najkrótsze równoważne formuły w CNF

  1. p \Leftrightarrow q,
  2. p \Rightarrow (q \Rightarrow p),
  3. (p \Rightarrow q) \Rightarrow p,
  4. (p \vee a \vee b) \wedge (\neg q \vee \neg a) \wedge(r \vee \neg b \vee \neg c) \wedge(c \vee p)),
  5. (p \wedge q) \vee (r \wedge s).

Rozwiązanie

  1. \displaystyle \neg p \vee q
  2. \displaystyle \neg a \vee a
  3. \displaystyle p
  4. \displaystyle (p\vee r) \wedge (p\vee s)\wedge (q \vee r) \wedge (q \vee s)

Spełnialność

Spośród wszystkich formuł wyróżnimy też zbiór formuł spełnialnych.

Definicja 6.6

Formuła jest spełnialna, jeśli istenieje takie wartościowanie, które wartościuje tą formułę na 1.

Formuły spełnialne są w ścisłym związku z tautologiami.

Twierdzenie 6.7

Formuła {\phi} jest tautologią wtedy i tylko wtedy, kiedy formuła \neg \phi nie jest spełnialna.

Dowód

Przypuśćmy, że formuła {\phi} jest tautologią. Wtedy dla każdego wartościowania \textnormal{v} mamy v(\phi)=1. Stąd otrzymujemy, że dla każdego wartościowania \textnormal{v} mamy v(\neg \phi)=0, a więc nie istnieje wartościwanie, które spełnia \neg \phi, czyli formuła ta nie jest spełnialna.

Przypuśćmy, że formuła \neg \phi nie jest spełnialna, czyli nie istnieje wartościowanie \textnormal{v} takie, że v(\neg \phi)=0. Wynika stąd, że dla każdego wartościowania mamy v(\phi)=1, a więc {\phi} jest tautologią.

image:End_of_proof.gif

Ćwiczenie 6.3

Sprawdź spełnialność następujących formuł

  1. (\neg p \vee q) \wedge (\neg q \vee \neg r) \wedge (\neg q \vee \neg p)
  2. (\neg p \vee q) \wedge (\neg q \vee \neg r) \wedge (\neg q \vee  p)

Rozwiązanie

  1. Łatwo sprawdzić, że wartościowanie \displaystyle v takie, że \displaystyle v(p)=0, v(q)=1, v(r)=1 spełnia pierwszą z formuł.
  2. Po zastąpieniu alternatyw implikacjami otrzymujemy

\displaystyle (\neg q \Rightarrow \neg  p)  \wedge (q \Rightarrow \neg r) \wedge (\neg p \Rightarrow q) \wedge (\neg r \Rightarrow \neg q).

Przypuśćmy teraz, że formuła ta jest spełnialna. Niech \displaystyle v będzie wartościowaniem spełniającym. Przypuśćmy, że \displaystyle v(q)=0 wtedy ponieważ \displaystyle v(\neg q \Rightarrow \neg  p)=1 to konieczne jest aby \displaystyle v(p)=0. Jednak wtedy ponieważ mamy \displaystyle v(\neg p \Rightarrow q)=1, to \displaystyle v(q)=1, a więc otrzymujemy sprzeczność. Przypuśćmy zatem, że \displaystyle v(q)=1 wtedy ponieważ \displaystyle v(q \Rightarrow \neg r)=1, to \displaystyle v(r)=0. W takim przypadku jednak ponieważ \displaystyle v(\neg r \Rightarrow \neg q)=0 otrzymujemy, że \displaystyle v(q)=0, a więc znowu sprzeczność. Wynika stąd, że nie istnieje wartościowanie spełniające dla tej formuły.

Formuły z powyższego zadania, poza tym że są w koniunktywnej postaci normalnej, to jeszcze występujące w nich klauzule mają dokładnie dwa literały. Problem spełnialności takich formuł jest nazywany w literaturze problemem 2SAT. Dla takich formuł istnieją szybkie algorytmy pozwalające ocenić ich spełnialność. Dopuszczanie klauzul o długości 3, bardzo komplikuje problem. Do dziś nie wiadomo czy dla takich formuł istnieją szybkie algorytmy oceniające spełnialność. Więcej na ten temat można się dowiedzieć z wykładu Teoria złożoności.

Logika intuicjonistyczna

Niektórzy logicy mają wątpliwości co do tego, czy powinniśmy przyjmować schemat dowodu niewprost jako aksjomat. Poddanie w wątpliwość tego aksjomatu doprowadziło do powstnia tzw. logiki intuicjonistycznej. Ważnym powodem zajmowania się logiką intuicjonistyczną są jej zadziwiające związki z teorią obliczeń (patrz izomorfizm Curryego-Howarda).

Implikacyjny fragment logiki intuicjonistycznej, który będziemy oznaczać przez I_\Rightarrow to zbiór tych formuł, które da się dowodnić przy pomocy reguły MP z aksjomatów S i K.

Definicja 7.1

Aksjomaty I_\Rightarrow

  1. (\phi \Rightarrow (\psi \Rightarrow \phi)) (formuła ta jest nazywana aksjomatem K),
  2. (\phi \Rightarrow (\nu \Rightarrow \psi) \Rightarrow \left((\phi \Rightarrow \nu) \Rightarrow (\phi \Rightarrow \nu) \right) (formuła ta jest nazywana aksjomatem S).

W pełnej wersji logiki intucjonistycznej pojawiają się również aksjomaty dla spójników \wedge, \vee oraz \neg. Dla uproszczenia zajmiemy się jedynie formułami, w których jedynym spójnikiem jest implikacja. Dodatkowym argumentem uzasadniającym takie podejście jest fakt, że każde twierdzenie logiki intuicjonistycznej, w którym jedynymi spójnikami są \Rightarrow, da się udowodnić przy pomocy aksjomatów 7.1. Zobaczymy, że analogiczne twierdzenie nie jest prawdą dla logiki klasycznej. Logika intuicjonistyczna jest bardziej skomplikowana od logiki klasycznej. W szczególności nie istnieje skończona matryca, za pomocą której moglibyśmy rozstrzygać czy dana formuła jest twierdzeniem logiki intuicjonistycznej.

Twierdzenie 7.2

Każde twierdzenie logiki intuicjonistycznej jest twierdzeniem klasycznego rachunku zdań.

Dowód

Każdy dowód twierdzenia logiki inuicjonistycznej jest równocześnie dowodem twierdzenia klasycznego rachunku zdań.

image:End_of_proof.gif

Implikacja w drugą stronę nie zachodzi. Istnieją formuły zbudowane jedynie przy pomocy \Rightarrow, które nie należą do I_\Rightarrow, pomimo że są twierdzeniami klasycznego rachunku zdań. Przykładem takiej formuły jest prawo Pierce'a:

((p \Rightarrow q) \Rightarrow p ) \Rightarrow p.

W zadaniu 4.1 pokazaliśmy, że formuła ta jest w istocie tautologią więc w myśl twierdzenia Posta 4.4 również twierdeniem klasycznego rachunku zdań.
W poniższych zadaniach udowodnimy poniższe twierdzenie

Twierdzenie 7.3

Prawo Pierce'a nie jest twierdzeniem intuicjonizmu.

Zauważmy, że oznacza to również, że każdy dowód prawa Pierce'a w logice klasycznej korzysta z aksjomatu 3 3.1, a więc wymaga używania spójnika \neg.
Aby udowodnić twierdzenie 7.3, zdefiniujemy jeszcze jedną logikę którą nazwiemy I_3. Podobnie do 4.1 zdefiniujemy matrycę tym razem 3-elementową.

Definicja 7.4

Matrycą \mathbb{M}_3 będziemy nazywać zbiór trójelementowy M_3=\{0,1,2\}, w którym 2 jest wyróżnioną wartością prawdy, wraz z funkcją odpowiadają za interpretacje \Rightarrow zdefiniowaną następująco

\Rightarrow 0 1 2
 0   2   2   2 
 1   0   2   2 
 2   0   1   2 

W przypadku rozważanej matrycy \mathbb{M}_3 wartościowanie będzie funkcją przypisującą zmiennym zdaniowym elementy zbioru M_3. Podobnie jak dla logiki klasycznej wartościowanie zmiennych rozszzerzamy na wartościowanie formuł zgodnie z tabelą 7.4.

Przykład 7.5

Dla wartościowania v takiego, że v(p)=2, v(q)=1, v(r)=0 formuła

(p \Rightarrow q) \Rightarrow r

przyjmuje wartość 0.

Definicja 7.6

Tautologią logiki I_3 będziemy nazywać każdą formułę implikacyjną, która przy każdym wartościowaniu zmiennych w M_3 przyjmuje wartość 2.

Ćwiczenie 7.1

Udowodnij, że aksjomaty S i K są tautologiami I_3.

Rozwiązanie

Ćwiczenie jest elementarne, wystarczy sprawdzić wszystkie możliwości.

Ćwiczenie 7.2

Udowodnij, że jeśli formuła postaci \phi \Rightarrow \psi oraz formuła {\phi} są tautologiami I_3, to formuła {\psi} jest tautologią I_3.

Rozwiązanie

Weżmy dowolne wartościowanie \displaystyle v w \displaystyle \mathbb{M}_3. Ponieważ formuły \displaystyle \phi \Rightarrow \psi oraz \displaystyle \phi są tautologiami \displaystyle I_3, to \displaystyle v(\phi \Rightarrow \psi) = v(\phi) = 2. Zobaczmy teraz jak może być wartościowana formuła \displaystyle \psi. Przypadek \displaystyle v(\psi)=0 możemy wykluczyć, gdyż wtedy zgodnie z tabelą interpretacji 7.4 otrzymalibyśmy \displaystyle v(\phi \Rightarrow \psi) = 0. Podobnie, w przypadku \displaystyle v(\psi)=1 otrzymalibyśmy \displaystyle v(\phi \Rightarrow \psi) = 1. Wobec tego pozostała jedynie możliwość \displaystyle v(\psi)=2 i wtedy rzeczywiście \displaystyle v(\phi \Rightarrow \psi) = 2. Z dowolności wyboru \displaystyle v wynika, że \displaystyle v(\psi)=2 dla dowolnego wartościowania, a więc \displaystyle \psi jest tautologią \displaystyle I_3.

Ćwiczenie 7.3

Udowodnij, że każde twierdzenie logiki I_\Rightarrow jest tautologią I_3.

Podpowiedź

Przeprowadź rozumowanie indukcyjne, ze względu na długość dowodu. Pomocne będą poprzednie zadania.

Rozwiązanie

Rozwiązanie jest analogiczne do rozwiązania ćwiczenia 4.1.

Ćwiczenie 7.4

Sprawdź, czy prawo Pierce'a jest tautologią I_3.

Podpowiedź

Nie jest.

Rozwiązanie

Dla wartościowania v takiego, że v(p)=1 i v(q)=0 kolejne formuły przyjmują następujace wartości
1. v(p\Rightarrow q) =0
2. v((p\Rightarrow q)\Rightarrow p) =2
3. v(((p\Rightarrow q)\Rightarrow p)\Rightarrow p) =1

Wobec tego prawo Pierce'a nie jest tautologią I_3, gdyż wyróżnioną wartością prawdy I_3 w jest 2.

Podsumujmy wyniki powyższych zadań. Wskazaliśmy logikę I_3 taką, że każda twierdzenie intuicjonizmu jest tautologią I_3. Skoro prawo Pierce'a nie jest tautologią I_3, to nie jest też twierdzeniem I_\Rightarrow.

UWAGA! W dalszej części będziemy się posługiwać wyłącznie logiką klasyczną.