Logika zdaniowa jest językiem, który pozwala opisywać zależności
pomiędzy zdaniami. Przykładem może być zdanie:
Jeśli jest liczbą pierwszą to jest liczbą nieparzystą lub 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:
jest liczbą pierwszą,
jest liczbą nieparzystą,
jest równe 2.
Oznaczmy powyższe zdania przez (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łę
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 będziemy wiedzieć, że jest liczbą pierwszą oraz że nie jest nieparzysta, to klasyczny rachunek zdań pozwoli nam formalnie wywnioskować fakt, że liczba jest równa 2. Podsumowując, jeśli uznamy za prawdziwe następujące zdania:
,
,
(przez oznaczamy negację)
to zgodnie z klasycznym rachunkiem zdań
powinniśmy uznać za prawdziwe zdanie , czyli jest równe 2. Powyższy schemat wnioskowania można również opisać formułą
W powyższej formule symbol odpowiada spójnikowi (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]
zmienna zdaniowa jest formułą (zmienne zdaniowe oznaczamy zwykle literami alfabetu rzymskiego np. ),
jeśli oraz są formułami to jest formułą (spójnik nazywamy implikacją),
jeśli jest formułą to jest formułą (spójnik nazywamy negacją),
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
oraz .
Uwaga 2.2.
Zgodnie z powyższą definicją nie jest formułą napis , gdyż brakuje w nim nawiasów. Pomimo, iż poprawnie powinniśmy napisać 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 jest domyślnie nawiasowana w następujący sposób .
Przykład 2.3 Poniższe napisy nie są formułami
,
,
ten napis na pewno nie jest formułą,
.
Poniższe napisy są formułami
,
,
.
Ćwiczenie 2.1
Rozmiarem formuły nazwiemy ilość występujących w niej spójników.
Na przykład formuła ma rozmiar 2, a formuła ma rozmiar 1. Przypuśćmy, że jedyną zmienną zdaniową jaką wolno nam użyć jest . Ile można skonstruować rożnych formuł o rozmiarze 3?
Rozwiązanie
Oznaczmy przez liczbę formuł o rozmiarze (czyli liczbę formuł w których jest spójników). Interesuje nas . Każda formuła o rozmiarze 3 powstaje z dwóch formuł o rozmiarach 1 poprzez połączenie ich spójnikiem 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 . Co więcej każda taka formuła powstaje tylko w jeden sposób. Wynika stąd następująca zależność:
Wiemy, że są tylko dwie formuły o rozmiarze 1, są to oraz . Stąd mamy . 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ą , albo jest zbudowana z formuły o rozmiarze 1 za pomocą negacji. Zauważmy też, że istnieje formuła o rozmiarze 0, jest to . Mamy więc następujący wzór dla
Z dwóch ostatnich wzorów otrzymujemy
Skoro jest ich niewiele, to możemy wszystkie wypisać
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
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ń
(formuła ta jest nazywana aksjomatem K),
(formuła ta jest nazywana aksjomatem S),
(tzw. schemat dowodu niewprost)
Zdania pasujące do powyższych schematów to wszystkie zdania, które
można otrzymać, podstawiając w miejsce 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ślito .
W takim przypadku, jeśli akceptujemy powyższą implikacjię jako zdanie
prawdziwe oraz jeśli zdanie jako prawdziwe, to powinniśmy
także zaakceptować . 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
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ł jest dowodem formuły wtedy i tylko wtedy, gdy:
jest formułą ,
dla każdego formuła jest aksjomatem lub istnieją takie, że formuła jest wynikiem zastosowania reguły modus ponens do formuł .
W drugim punkcie powyższej definicji, jeśli formuła nie jest
aksjomatem (a więc powstaje przez zastosowanie MP), to formuły
muszą pasować do przesłanek reguły MP, a więc
musi być postaci lub postaci
.
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 . 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.
formuła ta jest aksjomatem zgodnym ze schematem S,
aksjomat zgodny ze schematem K,
z modus ponens z formuł 1 i 2,
aksjomat zgodny ze schematem K,
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 jako „jeśli prawdziwe jest
i prawdziwe jest to prawdziwe jest ”. 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
w którym 1 jest wyróżnioną wartością prawdy, wraz z
dwoma funkcjami odpowiadającymi za interpretacje spójników
oraz zdefiniowanymi następująco
0
1
0
1
1
1
0
1
0
1
1
0
Definicja 4.2
Wartościowaniem nazywamy funkcję, która przypisuje zmiennym
zdaniowym elementy zbioru . Wartościowanie zmiennych
można rozszerzyć na wartościowanie formuł interpretując spójniki
oraz jako funkcje zgodnie z tabelami 4.1.
Przykład 4.3
Niech będzie wartościowaniem zmiennych takim, że . Wtedy
formuła jest wartościowana na 0 (będziemy to zapisywać jako ),
formuła jest wartościowana na 1 (czyli ),
formuła jest wartościowana na 0 (czyli ).
Ćwiczenie 4.1
Przy wartościowaniu z przykładu 4.3 jakie wartości przyjmują następujące formuły
,
,
,
.
Rozwiązanie
1.
2.
3.
4.
Ćwiczenie 4.2
1. Podaj przykład wartościowania zmiennych tak aby poniższe formuły były wartościowane na 0
(a)
(b)
(c)
2. Podaj przykład wartościowania zmiennych tak aby poniższe formuły były wartościowane na 1
(a)
(b)
(c)
Rozwiązanie
Wartościowania będziemy oznaczać przez
1. (a)
(b)
(c)
2. (a)
(b)
(c)
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. ).
Takie formuły będziemy nazywać tautologiami.
Ćwiczenie 4.3
Sprawdź czy poniższe formuły są tautologiami
,
,
,
.
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.
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
1
Ponieważ w kolumnie odpowiadającej formule 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
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 oraz są tautologiami, to formuła jest tautologią. Dla dowodu niewprost przypuśćmy, że nie jest. Wtedy istnieje wartościowanie, które oznaczymy przez , dla którego . Ponieważ jest tautologią, to . Ponieważ jednak oraz , to z tabeli interpretacji 4.1 dostajemy . Jest to sprzeczne z faktem, że 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).
Baza indukcji. Jeśli formuła 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 jest tautologią.
Krok indukcyjny. Weźmy dowolne takie, że i przypuśćmy, że wszystkie formuły o dowodach silnie krótszych od są tautologiami. Pokażemy, że wszystkie formuły o dowodach długości są tautologiami. Weźmy dowolną formułę o dowodzie długości , niech będzie dowodem . Jeśli jest aksjomatem to z ćwiczenia 4.1 wynika, że jest tautologią. W przeciwnym przypadku musiała powstać przez zastosowanie reguły MP do pewnych formuł . Ponieważ występuje w dowodzie formuły to ciąg formuł jest dowodem formuły . Ponieważ istnieje dowód formuły, o długości silnie mniejszej od to z założenia indukcyjnego formuła jest tautologią. Analogiczne rozumowanie dla pokazuje, że formuła też jest tautologią. Wobec tego z faktu udowodnionego na początku tego ćwiczenia wynika, że również jest tautologią, jako formuła powstająca przez zastosowanie reguły MP do tautologii. Wobec dowolności wyboru otrzymujemy, że wszystkie formuły o dowodach długości 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 oraz
alternatywa (spójnik lub) oznaczana przez , które będziemy interpretować w następujący sposób:
0
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
Zgodnie z intuicją koniunkcja jest wartościowana
na 1 wtedy i tylko wtedy, gdy zarówno jak i są
wartościowane na 1. Alternatywa jest wartościowana
na 1, jeśli przynajmniej jedna z formuł jest
wartościowana na 1.
Definicja 4.5
Formuły oraz są równoważne (oznaczamy ten fakt
przez wtedy i tylko wtedy, gdy dla każdego wartościowania formuła przyjmuje tą samą wartość co formuła .
Ćwiczenie 4.5
Udowodnij, że następujące formuły są równoważne
Rozwiązanie
1. Lewa strona jest fałszywa jedynie, gdy oraz są wartościowane na 0. Prawa strona jest fałszywa wtedy i tylko wtedy, kiedy jest wartościowane na 1 oraz 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 oraz są wartościowane na 0, a więc jest równoważna lewej.
2. Lewa strona jest prawdziwa jedynie, gdy oraz są wartościowane na 1. Prawa strona jest prawdziwa wtedy i tylko wtedy, kiedy jest wartościowane na 1, więc wtedy gdy jest wartościowane na 0. To z kolei zdarzyć się może jedynie, gdy jest wartościowane na 1 i na 0, a więc wtedy, gdy zarówno jak i 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 lub można zastąpić równoważną formułą, w
której jedynymi spójnikami są oraz . 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
,
,
,
,
,
,
,
.
Rozwiązanie
Przedstawiamy przykładowe dowody kilku pierwszych równoważności.
1. Jeśli jest wartościowane na 1, to zgodnie z tabelą dla negacji 4.1 jest wartościowane na 0 i jest wartościowane na 1. Jeśli jest wartościowane na 0 to, jest wartościowane na 1 i 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 było wartościowane na 1, a na 0. Prawa stona jest fałszywa jedynie, gdy oraz są wartościowane na 0. Czyli prawa strona jest fałszywa, jedynie gdy jest wartościowane na 1 i 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 i na 1 oraz 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
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 i , 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 formułę oraz za formułę otrzymamy równoważność
Stosując dwukrotnie równoważność z pierwszego punktu do prawej strony otrzymujemy
Negując tą równoważność obustronnie otrzymamy
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
,
,
,
.
Rozwiązanie
1. Spróbujmy znaleźć wartościowanie, które falsyfikuje tą formułę. Skoro implikacja ma być fałszywa, to formuła (czyli następnik) musi być fałszywa. Tak jest tylko wtedy, kiedy zarówno jak i są fałszywe. Zobaczmy co się wtedy dzieje z poprzednikim implikacji, czyli formułą
Jeśli teraz ustalimy na fałsz, to będzie fałszywe, a jeśli ustalimy na prawdę to 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ć i na prawdę i na fałsz.
3. Formuła nie jest tautologią. Wystarczy wartościować i na prawdę i na fałsz.
4. Przykład rozwiązania przez rozważenie wszystkich możliwości
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 . 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
0
0
0
0
0
1
0
0
0
1
2
0
0
1
0
3
0
0
1
1
4
0
1
0
0
5
0
1
0
1
6
0
1
1
0
7
0
1
1
1
8
1
0
0
0
9
1
0
0
1
10
1
0
1
0
11
1
0
1
1
12
1
1
0
0
13
1
1
0
1
14
1
1
1
0
15
1
1
1
1
Spójnik binarny będziemy nazywać przemiennym, jeśli zachodzi
następująca równoważność
Ćwiczenie 4.8
Sprawdź następujące równoważności
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
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 istotne jest aby . 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
0
1
0
0
1
1
1
1
Warunek przemienności oznacza, że wartość w polu o współrzędnych jest równa wartości w polu o współrzędnych . Takich tabel jest 8, więc mamy 8 spójników przemiennych. Nietrudno je teraz odnaleźć w tabeli 4.6. Są to
1.
2.
3.
4.
5.
6.
7.
8.
Spójnik binarny będziemy nazywać łącznym jeśli zachodzi
następująca równoważność
Jeśli spójnik jest łączny to dowolne dwie formuły, które są zbudowane
jedynie ze spójników 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
Rozwiązanie
1. Formuła jest fałszywa jedynie wtedy, gdy , i są wartościowane na fałsz. Tak samo jest dla formuły , więc są one równoważne.
2. Formuła jest prawdziwa jedynie wtedy, gdy , i są wartościowane na prawdę. Tak samo jest dla formuły , więc są one równoważne.
3. Zbadamy równoważność formuł i za pomocą tabeli
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 jest więc łączny.
4.W ćwiczeniu 4.8 pokazaliśmy, że . Łatwo zauważyć, że
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
Pokazaliśmy więc, że spójnik jest łączny.
Możemy również rozważać spójniki 3 i więcej argumentowe. Spójnik -argumetowy powinien odpowiadać funkcji .
Przykład 4.7
W poniższej tabeli przedstawiamy przykład spójnika trójargumentowego
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 -argumentowych jest dokładnie
.
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
. Na przykład formuła wyznacza funkcję
opisaną poniższą tabelą
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 definuje funkcję .
Definicja 5.1
Skończony zbiór funkcji boolowskich 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 .
Twierdzenie 5.2
Zbiór jest funkcjonalnie pełny.
Dowód
Dla dowolnej funkcji boolowskiej skonstruujemy formułę która ją definiuje. Niech oraz . W definiowanej formule będziemy używać zmiennych , a każdy element będzie odpowiadał wartościowaniu takiemu, że .
Niech będzie zbiorem tych argumentów, dla których funkcja przyjmuje wartość 1. Dla dowolnego elementu skonstruujemy formułę w taki sposób, aby była spełniona tylko dla wartościowania odpowiadającego elementowi . Niech , wtedy formułę definiujemy jako gdzie
Łatwo sprawdzić, że formuła jest spełniona tylko dla wartościowania odpowiadającego elementowi .
Postępując w ten sposób dla każdego elementu zbioru otrzymamy formuły . Biorąc
otrzymamy formułę która definiuje funkcję , oznaczmy ją przez . Jeśli dla wartościowania formuła jest spełniona to znaczy, że któraś z formuł jest spełniona. Oznacza to że wartościowanie odpowiada pewnemu elementowi zbioru , wobec tego funkcja co jest zgodne z tym, że spełniona jest . W drugą stronę załóżmy że dla pewnego elementu mamy . Wobec tego . Wtedy odpowiada pewnej formule , która jest spełniona dla wartościowania odpowiadającego . Wobec tego również cała formuła jest spełniona dla tego wartościowania (bo jeden z elementów alternatywy jest spełniony). Wynika stąd, że formuła definiuje funkcję . Na koniec zauważmy jeszcze że jedynymi spójnikami występującymi w formule są .
Twierdzenie 5.3
Zbiory , są funkcjonalnie pełne.
Dowód
Aby pokazać, że jest funkcjonalnie pełny wystarczy pokazać, że przy pomocy spójników da się zdefiniować . Wtedy funkcjonalną pełność otrzymamy z twierdzenia 5.2. W ćwiczeniu 4.2 pokazaliśmy, że
Wobec tego
a więc zdefiniowaliśmy przy pomocy .
Analogicznie aby pokazać funkcjonalną pełność zbioru zdefiniujemy przy pomocy spójników . Z ćwiczenia 4.2 mamy
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 jest funkcjonalnie pełny.
Twierdzenie 5.4
Zbiór jest funkcjonalnie pełny.
Dowód
Pokażemy, że przy pomocy można zdefiniować oraz . Wtedy z twierdzenia twierdzenia 5.3 otrzymamy tezę twierdzenia.
Łatwo sprawdzić, że
Wiemy, że
Wobec tego mamy również
Możemy teraz wyrazić negację za pomocą , otrzymamy wtedy
Ćwiczenie 5.2
Udowodnij, że zbiór jest funkcjonalnie pełny.
Rozwiązanie
Analogicznie do dowodu w twierdzeniu 5.4 pokażemy, że przy pomocy można zdefiniować oraz . Wtedy z twierdzenia 5.3 otrzymamy, że zbiór jest funkcjonalnie pełny.
Zdefiniuj alternatywę przy pomocy samej implikacji.
Rozwiązanie
Łatwo sprawdzić, że formuła jest równoważna formule .
}}
Ć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 i .
Formuły oraz definiują funkcje binarne będące rzutowaniami, które oznaczymy przez oraz . Kolejne formuły to , , obydwie one są tautologiami, więc definiują funkcję stale równą 1, którą oznaczymy przez . Kolejne oraz definiują funkcje które oznaczymy przez . Wśród formuł o trzech spójnikach znajdziemy formuły opisujące funkcję , zgodnie z poprzednim ćwiczeniem są to formuły oraz . 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 . Zbiór tych funkcji oznaczymy przez . 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 będzie dowolną formułą o zmiennych zbudowaną jedynie przy pomocy spójnika . Jeśli jest ostatnią zmienną występującą w to każde wartościowanie które wartościuje na 1 wartościuje również na 1. Przeprowadzimy dowód indukcyjny ze względu na ilość wystąpień spójnika .
Baza indukcji. Jeśli ma zero wystąpień to jedyną formułą w której ostatnią zmienną jest jest formuła . Badana własność jest oczywiście spełniona.
Krok indukcyjny. Niech takie, że . Przypuśćmy, że wszystkie formuły o mniejszej liczbie spójników od mają żądaną własność. Weźmy dowolną formułę o spójnikach, w której ostatnią występującą zmienną jest . Ponieważ to jest postaci . Ponieważ jest również ostatnią zmienną w oraz w jest mniej niż spójników to z założenia indukcyjnego każde wartościowanie, które wartościuje na 1, wartościuje również na 1. Z tabeli 4.1 wynika, że również formuła jest wtedy wartościowana na 1, a więc posiada badaną własność. Wobec dowolności wybory wszystkie formuły o spójnikach posiadają badaną własność.
Analogiczny dowód dla zmiennej 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 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
Rozwiązanie
1. Oznaczmy zbiór formuł w których jedynym spójnikiem jest przez . Udowodnimy, że każda formuła z przyjmuje zawsze wartość 1, jeśli jej zmienne są wartościowane na 1. Rozmiarem formuły będziemy nazywać liczbę wystąpień spójnika w formule. Dowód będzie indukcyjny ze względu na rozmiar formuły.
Baza indukcji: Każda formuła z o rozmiarze 0 jest postaci , gdzie jest zmienną. Wobec tego przy wartościowaniu zmiennych na 1 formuła też jest wartościowana na 1. A więc każda formuła o rozmiarze 0 ma postulowaną własność.
Krok indukcyjny: Ustalmy dowolne i przyjmijmy, że wszystkie formuły o mniejszym rozmiarze mają postulowaną własność. Niech będzie dowolną formułą z o rozmiarze . Skoro to musi być postaci . Rozważmy wartościowanie które wszyskim zmiennym przypisuje wartość 1. Ponieważ rozmiary oraz są silnie mniejsze od 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 też przyjmuje wartość 1. Dowiedliśmy więc, że każda formuła o rozmiarze ma postulowaną własność.
Wiemy już że każda przyjmuje zawsze wartość 1, jeśli jej zmienne są wartościowane na 1. Wobec tego niemożliwe jest zdefiniowanie np. spójnika 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
Rozwiązanie
Spójnik jest przemienny. Rozważmy formułę . Łatwo zauważyć, że definiuje ona funkcję , która nie jest przemienna.
Ćwiczenie 5.7
(z wykładu prof. P.M.Idziaka) Niech oznacza ilość boolowskich funkcji argumetnowych, a ilość boolowskich funkcji argumentowych, takich że przy pomocy każdej z nich da się zdefiniować dowolną funkcję boolowską (czyli jeśli jest takim spójnikiem to zbiór jest funkcjonalnie pełny). Udowdnij istenienie poniższej granicy i wyznacz jej wartość
Rozwiązanie
Ustalmy dowolne . Niech będzie spójnikiem argumentowym takim, że zbiór jest funkcjonalnie pełny. Zastanówmy się jaką funkcję unarną definiuje formuła . Funkcja ta nie może na samych 1 dawać wartości 1, gdyż wtedy każda formuła unarna poza formułą zbudowana z byłaby stale równa 1 (indukcyjny dowód pomijamy), a więc nie dałoby się zdefiniować przyp pomocy . Z tych samych przyczyn formuła na samych 0 nie może przyjmować wartości 0. Wynika stąd, że konieczne jest aby
Łatwo zauważyć, że spójników spełniających powyższą równoważność jest dokładnie (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
Wynika stąd, że jeśli granica istnieje to jest nie większa od .
Dla dowolnego przez będziemy oznaczać element (czyli i ). Notację tą w naturalny sposób rozszerzymy na elementy . Czyli dla mamy .
Pokażemy, że dowolny spójnik argumentowy spełniający pozwala zdefiniować wszystkie inne spójniki wtedy i tylko wtedy gdy istnieje dla którego . Niech będzie spójnikiem argumentowym spełniającym .
Zaczniemy od pokazania, że jeśli nie istnieje taki to nie wszystkie funkcje da się zdefiniować przy pomocy . W takim wypadku, dla każdego mamy . Z ostatniej obserwacji wynika również, że dla dowolnej formuły zbudowanej przy pomocy , wartość przy wartościowaniu odpowiadającym jest równa wartości przy wartościowaniu odpowiadającym (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 , a więc zbiór nie jest funkcjonalnie pełny.
Pokażemy teraz, że jeśli istnieje przynajmniej jeden element dla którego to zbiór jest funkcjonalnie pełny. Niech będzie tym elementem. Zdefiniujemy formułę o dwóch zmiennych oraz . Nowa formuła będzie postaci
,
gdzie jest zmienną p jeśli jest równe 1 i zmienną w przeciwnym przypadku. Zobaczmy jaką funkcję binarną definiuje formuła . Jeśli oraz są wartościowane na 0, to jest wartościowane zgodnie z a więc na 1. Jeśli oraz są wartościowane na 1 jest wartościowane zgodnie z a więc na 0. W pozostałych przypadkach wartościowanie odpowiada albo albo , a funkcja przyjmuje tą samą wartość, oznaczmy ją przez . Podsumowując otrzymujemy
0
1
0
1
1
0
W zależności od wartości formuła definiuje funkcję albo . W obu tych przypadkach przy pomocy formuły da się zdefiniować wszystkie funkcje boolowskie. Ponieważ jest jedynym spójnikiem występującym w to również zbiór jest funkcjonalnie pełny.
Po scharakteryzowaniu, które spójniki pozwalają zdefiniować wszystkie inne, pozostało jedynie oszacować ich liczbę. Wszystkich spójników argumentowych spełniających jest . Wszystkich spójników argumentowych spełniających jest (z każdej pary przeciwnych wartościowań wybieramy jedno). Po odrzuceniu połowy funkcji które nie spełniają otrzymujemy . Wobec tego pozostaje dokładnie
funkcji które spełniają oraz nie spełniają . Możemy teraz obliczyć granicę
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 zbudujemy formułę
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
oraz każda z formuł jest koniunkcją literałów, czyli jest postaci
dla pewnych literałów
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.
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 będzie dowolną formułą. Z twierdzenia twierdzenia 6.3 wynika, że dla formuły istnieje dyzjunktywna postać normalna. Niech będzie taką formułą. Wtedy mamy
Stosując wielokrotnie prawa de'Morgana dla formuły otrzymamy formułę w koniunktywnej postaci normalnej. Indukcyjny dowód tego faktu pomijamy.
Ćwiczenie 6.1
Jak sprawdzić, czy formuła w CNF jest tautologią?
Rozwiązanie
Niech rozważaną formułą będzie
Aby była tautologią konieczne jest, aby każda z formuł była tautologią. Ponieważ każda z formuł jest alternatywą literałów to jest tautologią jedynie wtedy, gdy istnieje taki literał który występuje w 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
,
,
,
,
.
Rozwiązanie
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 jest tautologią wtedy i tylko wtedy, kiedy formuła nie jest spełnialna.
Dowód
Przypuśćmy, że formuła jest tautologią. Wtedy dla każdego wartościowania mamy . Stąd otrzymujemy, że dla każdego wartościowania mamy , a więc
nie istnieje wartościwanie, które spełnia , czyli formuła ta nie jest spełnialna.
Przypuśćmy, że formuła nie jest spełnialna, czyli nie istnieje wartościowanie takie, że . Wynika stąd, że dla każdego wartościowania mamy , a więc jest tautologią.
Ćwiczenie 6.3
Sprawdź spełnialność następujących formuł
Rozwiązanie
Łatwo sprawdzić, że wartościowanie takie, że spełnia pierwszą z formuł.
Po zastąpieniu alternatyw implikacjami otrzymujemy
Przypuśćmy teraz, że formuła ta jest spełnialna. Niech będzie wartościowaniem spełniającym. Przypuśćmy, że wtedy ponieważ to konieczne jest aby . Jednak wtedy ponieważ mamy , to , a więc otrzymujemy sprzeczność. Przypuśćmy zatem, że wtedy ponieważ , to . W takim przypadku jednak ponieważ otrzymujemy, że , 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 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
(formuła ta jest nazywana aksjomatem K),
(formuła ta jest nazywana aksjomatem S).
W pełnej wersji logiki intucjonistycznej pojawiają się również aksjomaty dla spójników oraz . 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ą , 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ń.
Implikacja w drugą stronę nie zachodzi. Istnieją formuły zbudowane jedynie przy pomocy , które nie należą do , pomimo że są twierdzeniami klasycznego rachunku zdań. Przykładem takiej formuły jest prawo Pierce'a:
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 .
Aby udowodnić twierdzenie 7.3, zdefiniujemy jeszcze jedną logikę którą nazwiemy . Podobnie do 4.1 zdefiniujemy matrycę tym razem 3-elementową.
Definicja 7.4
Matrycą będziemy nazywać zbiór trójelementowy , w którym 2 jest wyróżnioną wartością prawdy, wraz z funkcją odpowiadają za interpretacje zdefiniowaną następująco
0
1
2
0
2
2
2
1
0
2
2
2
0
1
2
W przypadku rozważanej matrycy wartościowanie będzie funkcją przypisującą zmiennym zdaniowym elementy zbioru . 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 takiego, że formuła
przyjmuje wartość 0.
Definicja 7.6
Tautologią logiki będziemy nazywać każdą formułę implikacyjną,
która przy każdym wartościowaniu zmiennych w przyjmuje wartość 2.
Ćwiczenie 7.1
Udowodnij, że aksjomaty S i K są tautologiami .
Rozwiązanie
Ćwiczenie jest elementarne, wystarczy sprawdzić wszystkie możliwości.
Ćwiczenie 7.2
Udowodnij, że jeśli formuła postaci oraz formuła są tautologiami , to formuła jest tautologią .
Rozwiązanie
Weżmy dowolne wartościowanie w . Ponieważ formuły oraz są tautologiami , to . Zobaczmy teraz jak może być wartościowana formuła . Przypadek możemy wykluczyć, gdyż wtedy zgodnie z tabelą interpretacji 7.4 otrzymalibyśmy . Podobnie, w przypadku otrzymalibyśmy . Wobec tego pozostała jedynie możliwość i wtedy rzeczywiście . Z dowolności wyboru wynika, że dla dowolnego wartościowania, a więc jest tautologią .
Ćwiczenie 7.3
Udowodnij, że każde twierdzenie logiki jest tautologią .
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ą .
Podpowiedź
Nie jest.
Rozwiązanie
Dla wartościowania takiego, że i kolejne formuły przyjmują następujace wartości
1.
2.
3.
Wobec tego prawo Pierce'a nie jest tautologią , gdyż wyróżnioną wartością prawdy w jest 2.
Podsumujmy wyniki powyższych zadań. Wskazaliśmy logikę
taką, że każda twierdzenie intuicjonizmu jest tautologią .
Skoro prawo Pierce'a nie jest tautologią , to nie jest też
twierdzeniem .
UWAGA! W dalszej części będziemy się posługiwać wyłącznie logiką klasyczną.