Logika dla informatyków/Paradygmaty dowodzenia: Różnice pomiędzy wersjami
Nie podano opisu zmian |
m Zastępowanie tekstu – „<math> ” na „<math>” |
||
(Nie pokazano 129 wersji utworzonych przez 3 użytkowników) | |||
Linia 1: | Linia 1: | ||
==Paradygmaty dowodzenia== | ==Paradygmaty dowodzenia== | ||
Sprawdzenie, czy dana formuła rachunku zdań jest tautologią, | |||
polega zwykle na obliczeniu jej wartości dla <math>2^n</math> różnych wartościowań, | |||
Sprawdzenie, czy dana formuła rachunku zdań jest | gdzie <math>n</math> jest liczbą zmiennych zdaniowych tej formuły. Jak dotąd nie są | ||
polega zwykle na obliczeniu jej | |||
gdzie <math> | |||
znane radykalnie szybsze metody. Dla rachunku | znane radykalnie szybsze metody. Dla rachunku | ||
predykatów nie istnieje w ogóle żaden algorytm sprawdzania czy | predykatów nie istnieje w ogóle żaden algorytm sprawdzania czy | ||
dana formuła jest | dana formuła jest tautologią [[Logika dla informatyków/Logika pierwszego rzędu. Sposób użycia#entscheidungsproblem|(Twierdzenie 3.8)]]. W obu przypadkach istnieją jednak metody ''dowodzenia'' pozwalające | ||
W obu przypadkach | na wyprowadzanie prawdziwych formuł za pomocą ustalonych procedur | ||
na wyprowadzanie prawdziwych formuł za | |||
syntaktycznych. | syntaktycznych. | ||
Każdy system dowodzenia zawiera dwa składniki: | Każdy system dowodzenia zawiera dwa składniki: | ||
* | * początkowy zbiór formuł (lub wyrażeń zbudowanych z wielu formuł) zwanych ''aksjomatami''; | ||
zwanych ''aksjomatami''; | * zbiór operacji przekształcających wyrażenia w wyrażenia - operacje te są nazywane ''regułami dowodzenia''. | ||
* zbiór operacji | |||
operacje te | |||
Reguły dowodzenia | Reguły dowodzenia opisują warunki, przy pomocy których można otrzymać | ||
nowe wyrażenie (nazywane '' | nowe wyrażenie (nazywane ''konkluzją'') z otrzymanych już wyrażeń | ||
(nazywanych ''przesłankami''). Dowody w systemach formalnych | (nazywanych ''przesłankami''). Dowody w systemach formalnych są | ||
ciągami wyrażeń, być może posiadającymi dodatkową strukturę | |||
pozwalającą na lepszą wizualizację. | |||
W dalszej | W dalszej części opiszemy trzy systemy dowodzenia: system typu | ||
hilbertowskiego (od nazwiska Davida Hilberta), system naturalnej dedukcji | hilbertowskiego (od nazwiska Davida Hilberta), system naturalnej dedukcji | ||
oraz rachunek sekwentów. | oraz rachunek sekwentów. | ||
Ostatnie dwa systemy | Ostatnie dwa systemy znajdują zastosowanie w pewnych działach sztucznej | ||
inteligencji oraz w systemach automatycznego dowodzenia twierdzeń. | inteligencji oraz w systemach automatycznego dowodzenia twierdzeń. | ||
Linia 34: | Linia 29: | ||
Poniższy system dowodzenia dotyczy formuł zbudowanych przy użyciu | Poniższy system dowodzenia dotyczy formuł zbudowanych przy użyciu | ||
jedynie spójnika <math>\ | jedynie spójnika <math>\to</math>, stałej <math>\bot</math> oraz zmiennych zdaniowych. Przypomnijmy, że dla dowolnej formuły <math>\varphi</math>, napis <math>\neg\varphi</math> jest skrótem zapisu <math>\varphi\arr\bot</math>. | ||
Przypomnijmy, że dla | Symbole <math>\varphi,\psi,\vartheta</math> w poniższym systemie oznaczają dowolne | ||
dowolnej formuły <math> | |||
<math> | |||
Symbole | |||
formuły. | formuły. | ||
'''Aksjomaty''' | '''Aksjomaty''' | ||
(A1) | <math>(A1)\ \ \ \varphi\to(\psi\to\varphi)</math><br> | ||
(A2) | <math>(A2)\ \ \ (\varphi\to(\psi\to\vartheta))\to((\varphi\to\psi)\to(\varphi\to\vartheta))</math><br> | ||
\ | <math>(A3)\ \ \ \neg\neg\varphi\to\varphi</math> | ||
(A3) | |||
'''Reguła dowodzenia'''<br> | '''Reguła dowodzenia'''<br> | ||
<center><math> | <center><math>{\rm (MP)}\hspace{1cm} \frac{\varphi\ \ \ | ||
\varphi\ | \varphi\to\psi}{\psi}</math></center> | ||
Reguła (MP) jest nazywana '' | Reguła (MP) jest nazywana ''regułą odrywania'' lub też | ||
regułą ''modus ponens''. | |||
''Dowodem'' w powyższym systemie nazywamy taki | ''Dowodem'' w powyższym systemie nazywamy taki ciąg formuł, w którym | ||
każda formuła albo jest aksjomatem, albo też została otrzymana z | każda formuła albo jest aksjomatem, albo też została otrzymana z wcześniej | ||
występujących formuł w wyniku zastosowania reguły odrywania. Powiemy, | |||
że formuła <math> | że formuła <math>\varphi</math> ''ma dowód'' lub jest ''twierdzeniem'' | ||
systemu hilbertowskiego, co zapiszemy <math> | systemu hilbertowskiego, co zapiszemy <math>\vdash_H\varphi</math>, | ||
gdy istnieje dowód | gdy istnieje dowód zawierający <math>\varphi</math>. Powyższą definicję możemy | ||
nieco uogólnić. Niech <math> | nieco uogólnić. Niech <math>\Delta</math> będzie dowolnym zbiorem | ||
formuł. Powiemy, że formuła <math> | formuł. Powiemy, że formuła <math>\varphi</math> ma dowód | ||
ze zbioru hipotez <math> | ze zbioru hipotez <math>\Delta</math> (notacja <math>\Delta\vdash_H\varphi</math>), | ||
gdy <math> | gdy <math>\varphi</math> jest twierdzeniem systemu, w którym zbiór aksjomatów został | ||
poszerzony o formuły ze zbioru <math> | poszerzony o formuły ze zbioru <math>\Delta</math>. | ||
{{przyklad||| | {{przyklad|5.1|prz5.1| | ||
Niech <math> | Niech <math>p</math> będzie zmienną zdaniową. Pokażemy, że formuła <math>p\to p</math> jest | ||
twierdzeniem systemu hilbertowskiego. Poniżej podajemy dowód dla tej formuły. | twierdzeniem systemu hilbertowskiego. Poniżej podajemy dowód dla tej formuły. | ||
W nawiasach podajemy nazwę aksjomatu, | W nawiasach podajemy nazwę aksjomatu, jeśli dana formuła jest instancją tego | ||
aksjomatu, lub też numery formuł z | aksjomatu, lub też numery formuł z wcześniejszych kroków dowodu, do których | ||
jest stosowana reguła odrywania. | jest stosowana reguła odrywania. | ||
# <math> | # <math>(p\to((p\to p)\to p))\to((p\to(p\to p))\to(p\to p))\ \ \ \ (A2)</math> | ||
# <math>p\to((p\to p)\to p)\ \ \ \ (A1)</math> | |||
# <math> | # <math>(p\to(p\to p))\to(p\to p)\ \ \ \ (1,2)</math> | ||
# <math> | # <math>p\to(p\to p)\ \ \ \ (A1)</math> | ||
# <math> | # <math>p\to p\ \ \ \ (3,4)</math> | ||
# <math>\ | |||
}} | }} | ||
Zauważmy, że w powyższym przykładzie możemy wszędzie | Zauważmy, że w powyższym przykładzie możemy wszędzie zastąpić | ||
zmienną <math>p</math> przez dowolną formułę <math>\varphi</math> dostając dowód formuły | |||
<math> | <math>\varphi\to\varphi</math>. | ||
Następujące twierdzenie jest bardzo użyteczne, gdy trzeba uzasadnić, | |||
że | że jakaś formuła jest twierdzeniem. | ||
{{twierdzenie|o dedukcji|| | {{twierdzenie|5.2 (o dedukcji)|| | ||
Dla dowolnego zbioru formuł <math> | Dla dowolnego zbioru formuł <math>\Delta</math> oraz dowolnych formuł <math>\varphi,\psi</math>, | ||
jeśli <math>\Delta\cup\{\varphi\}\vdash_H\psi</math>, | |||
to <math> | to <math>\Delta\vdash_H\varphi\to\psi</math>. | ||
}} | }} | ||
{{dowod||| | {{dowod||| | ||
Dowód jest indukcyjny ze względu na liczbę kroków w dowodzie formuły | Dowód jest indukcyjny ze względu na liczbę kroków w dowodzie formuły | ||
<math> | <math>\psi</math> ze zbioru hipotez <math>\Delta\cup\{\varphi\}</math>. Przypuśćmy najpierw, że dowód ten | ||
że dowód ten | składa się tylko z jednego kroku. Jeśli <math>\psi=\varphi</math>, to | ||
składa się tylko z jednego kroku. | stosując wyprowadzenie z Przykładu [[#prz5.1|5.1]] dostajemy dowód | ||
formuły <math>\varphi\to\varphi</math>. Możemy oczywiście przyjąć, że formuła ta | |||
formuły <math> | jest wyprowadzona ze zbioru hipotez <math>\Delta</math>. Druga możliwość jest taka, że | ||
jest wyprowadzona ze zbioru hipotez <math> | <math>\psi\in\Delta</math> lub też, że <math>\psi</math> jest aksjomatem. | ||
<math> | |||
W każdym z tych | W każdym z tych | ||
przypadków mamy <math> | przypadków mamy <math>\Delta\vdash_H\psi</math>. Wówczas stosując regułę | ||
odrywania do <math> | odrywania do <math>\psi</math> oraz aksjomatu <math>\psi\to(\varphi\to\psi)</math>, | ||
dostajemy formułę <math> | dostajemy formułę <math>\varphi\to\psi</math>. | ||
Założmy teraz, że ostatnim krokiem w wyprowadzeniu formuły <math> | Założmy teraz, że ostatnim krokiem w wyprowadzeniu formuły <math>\psi</math> | ||
jest zastosowanie reguły (MP) do formuł <math> | jest zastosowanie reguły (MP) do formuł <math>\vartheta\to\psi</math> oraz | ||
<math> | <math>\vartheta</math>, dla pewnej formuły <math>\vartheta</math>. | ||
Z założenia indukcyjnego mamy <math> | Z założenia indukcyjnego mamy <math>\Delta\vdash_H\varphi\to | ||
(\vartheta\ | (\vartheta\to\psi)</math> oraz <math>\Delta\vdash_H\varphi\to\vartheta</math>. | ||
Stosując regułę odrywania do <math>\varphi\to | |||
(\vartheta\ | (\vartheta\to\psi)</math> oraz do aksjomatu (A2): | ||
<math> | <math>(\varphi\to(\vartheta\to\psi))\to | ||
((\varphi\ | ((\varphi\to\vartheta)\to(\varphi\to\psi))</math> dostajemy formułę | ||
<math> | <math>(\varphi\to\vartheta)\to(\varphi\to\psi)</math>. Ponownie stosując regułę | ||
odrywania | odrywania | ||
do tej formuły oraz do <math> | do tej formuły oraz do <math>\varphi\to\vartheta</math> dostajemy żądaną formułę | ||
<math> | <math>\varphi\to\psi</math>. To kończy dowód twierdzenia o dedukcji. | ||
}} | }} | ||
{{twierdzenie|o | {{twierdzenie|5.3 (o poprawności)|popraw| | ||
Jeśli <math>\Delta\vdash_H\varphi</math>, to <math>\Delta\models\varphi</math>. W szczególności, | |||
jeśli <math>\vdash_H\varphi</math>, to <math>\varphi</math> jest tautologią. | |||
}} | }} | ||
{{dowod||| | {{dowod||| | ||
Dowód jest indukcyjny ze względu na liczbę kroków w wyprowadzeniu | Dowód jest indukcyjny ze względu na liczbę kroków w wyprowadzeniu | ||
formuły <math> | formuły <math>\varphi</math> w systemie hilbertowskim ze zbioru hipotez | ||
<math> | <math>\Delta</math>. Jeśli dowód ten składa się tylko z jednego kroku, to albo | ||
<math> | <math>\varphi\in\Delta</math>, albo <math>\varphi</math> jest aksjomatem. W obu przypadkach | ||
oczywiście zachodzi <math>\Delta\models\varphi</math>. | |||
Załóżmy teraz, że <math> | Załóżmy teraz, że <math>\varphi</math> jest otrzymana przez zastosowanie reguły odrywania | ||
do formuł <math> | do formuł <math>\psi\to\varphi</math> oraz <math>\psi</math>. Z założenia indukcyjnego mamy | ||
indukcyjnego mamy | |||
<center><math> | <center><math> | ||
\Delta\models\psi\ | \Delta\models\psi\to\varphi</math> oraz <math>\Delta\models\psi. | ||
\hspace{3cm}(1) | |||
</math></center> | </math></center> | ||
Niech <math> | Niech <math>\varrho</math> będzie dowolnym wartościowaniem spełniającym wszystkie | ||
formuły z <math> | formuły z <math>\Delta</math>. Na mocy (1), wartościowanie | ||
<math> | <math>\varrho</math> spełnia | ||
<math> | <math>\psi\to\varphi</math> oraz spełnia <math>\psi</math>. Wynika stąd, że <math>\varrho</math> spełnia | ||
<math> | <math>\varphi</math>. Tym samym udowodniliśmy, że <math>\Delta\models\varphi</math>. To | ||
kończy dowód. | kończy dowód. | ||
}} | }} | ||
{{lemat||| | {{lemat|5.4|lem5.4| | ||
Dla dowolnych formuł <math> | Dla dowolnych formuł <math>\varphi,\psi</math> zbudowanych przy użyciu <math>\to</math> | ||
oraz <math> | oraz <math>\bot</math>, następujące formuły są twierdzeniami systemu hilbertowskiego. | ||
# | # <math>\varphi \to(\neg\psi\to\neg(\varphi\to\psi))</math>; | ||
# <math> | # <math>\bot\to\varphi</math>; | ||
# <math> | # <math>(\varphi\to\psi)\to((\neg\varphi\to\psi)\to\psi)</math>; | ||
}} | }} | ||
Linia 168: | Linia 157: | ||
{{dowod||| | {{dowod||| | ||
(1) | (1) | ||
Niech <math> | Niech <math>\Delta=\{\varphi,\psi\to\bot,\varphi\to\psi\}</math>. Stosując regułę | ||
odrywania do formuł <math> | odrywania do formuł <math>\varphi</math> oraz <math>\varphi\to\psi</math> dostajemy <math>\psi</math>. | ||
Przez ponowne zastosowanie (MP) do tej formuły oraz do <math> | Przez ponowne zastosowanie (MP) do tej formuły oraz do <math>\psi\to\bot</math> | ||
otrzymujemy | otrzymujemy | ||
wyprowadzenie <math> | wyprowadzenie <math>\bot</math>. Tym samym pokazaliśmy, że <math>\Delta\vdash_H\bot</math>. Stosując | ||
teraz trzy razy twierdzenie o dedukcji dostajemy | teraz trzy razy twierdzenie o dedukcji dostajemy | ||
<center><math> | <center><math>\vdash_H\varphi\to((\psi\to\bot)\to((\varphi\to\psi)\to\bot))</math>,</center> | ||
czyli | czyli | ||
<center><math> | <center><math>\vdash_H\varphi \to(\neg\psi\to\neg(\varphi\to\psi))</math>.</center> | ||
(2) | (2) | ||
Ponieważ <math> | Ponieważ <math>\{\bot,\neg\varphi\}\vdash_H\bot</math>, więc z twierdzenia o dedukcji | ||
wynika <math> | wynika <math>\bot\vdash_H\neg\neg\varphi</math>. | ||
Stosując teraz (MP) do tej formuły oraz do aksjomatu | |||
(A3) w postaci <math> | (A3) w postaci <math>\neg\neg\varphi\to\varphi</math> otrzymujemy <math>\bot\vdash_H\varphi</math>. | ||
Ponowne zastosowanie twierdzenia o dedukcji daje nam <math> | Ponowne zastosowanie twierdzenia o dedukcji daje nam <math>\vdash_H\bot\to\varphi</math>. | ||
(3) | (3) | ||
Niech <math> | Niech <math>\Delta=\{\varphi\to\psi,\neg\varphi\to\psi\}</math>. Zaczynamy od zbioru | ||
hipotez <math> | hipotez <math>\Delta\cup\{\varphi,\neg\psi\}</math>. Stosując (MP) do formuł <math>\varphi</math> | ||
oraz <math> | oraz <math>\varphi\to\psi</math> dostajemy <math>\psi</math>. Ponowne zastosowanie (MP) do tej | ||
formuły oraz do <math>\ | formuły oraz do <math>\neg\psi</math> daje nam <math>\bot</math>. Używając teraz twierdzenia | ||
o dedukcji do formuły <math>\ | o dedukcji do formuły <math>\bot</math> otrzymujemy | ||
<center><math>\Delta\cup\{\neg\psi\}\vdash_H\neg\varphi</math></center> | |||
Ponieważ mamy <math>\Delta\cup\{\neg\psi\}\vdash_H\neg\varphi\to\psi</math>, to stosując | |||
(MP) otrzymujemy <math>\Delta\cup\{\neg\psi\}\vdash_H\psi</math>. Jeszcze raz | |||
używamy (MP) aby z <math>\neg\psi</math> i <math>\psi</math> otrzymać <math>\bot</math> i mamy | |||
<center><math>\Delta\cup\{\neg\psi\}\vdash_H\bot</math></center> | |||
Na mocy twierdzenia o dedukcji <math>\Delta\vdash_H\neg\neg\psi</math>. | |||
Stosując (MP) do formuły <math>\neg\neg\psi</math> | |||
oraz do aksjomatu <math>\neg\neg\psi\to\psi</math> | |||
otrzymujemy <math>\Delta\vdash_H\psi</math>. Dwukrotne zastosowanie twierdzenia | |||
o dedukcji daje nam | |||
<math>\vdash_H(\varphi\to\psi)\to((\neg\varphi\to\psi)\to\psi)</math>. | |||
To kończy dowód lematu. | |||
}} | |||
Powyższy system można łatwo rozszerzyć do systemu dla formuł | |||
opartych o pozostałe spójniki logiczne. Wystarczy w tym celu dodać | |||
aksjomaty wyrażające równoważności definiujące te spójniki. | |||
<math>(B1)\ \ \ \varphi\wedge \psi\to\neg(\varphi\to\neg\psi)</math><br> | |||
<math>(B2)\ \ \ \neg(\varphi\to\neg\psi)\to\varphi\wedge \psi</math><br> | |||
<math>(B3)\ \ \ \varphi\vee\psi\to(\neg\varphi\to\psi)</math><br> | |||
<math>(B4)\ \ \ (\neg\varphi\to\psi)\to\varphi\vee\psi</math> | |||
Tak otrzymany system oznaczymy przez <math>\vdash_{H^+}</math>. | |||
{{twierdzenie|5.5 (o poprawności dla <math>\vdash_{H^+}</math>)|| | |||
Dla dowolnego zbioru formuł <math>\Delta</math> i dla dowolnej formuły <math>\varphi</math> | |||
w języku z <math>\vee,\wedge,\arr,\bot</math>, | |||
jeśli <math>\se_{H^+}\varphi</math> to <math>\Delta\models\varphi</math>. | |||
}} | |||
{{dowod||| | |||
Wystarczy sprawdzić, że aksjomaty (B1)-(B4) są tautologiami. | |||
Konkluzja wynika | |||
z [[#popraw|Twierdzenia 5.3]] o poprawności dla <math>\vdash_H</math>. | |||
}} | |||
{{lemat|5.6|| | |||
Dla dowolnej formuły <math>\varphi</math> istnieje formuła <math>\tilde{\varphi}</math> | |||
zbudowana przy użyciu jedynie <math>\to</math> oraz <math>\bot</math>, taka że | |||
<math>\vdash_{H^+}\varphi\to\tilde{\varphi}</math> oraz | |||
<math>\vdash_{H^+}\tilde{\varphi}\to\varphi</math>. | |||
}} | |||
{{dowod||| | |||
W danej formule <math>\varphi</math>, zastąpmy każdą podformułę postaci | |||
<math>\psi\wedge\vartheta</math> formułą <math>\neg(\psi\to\neg\vartheta)</math> oraz | |||
każdą podformułę postaci <math>\psi\vee\vartheta</math> formułą | |||
<math>\neg\psi\to\vartheta</math>. Aksjomaty (B1)-(B4) mówią, że zastąpione | |||
formuły są równoważne. Tak więc łatwo dostajemy | |||
<math>\vdash_{H^+}\varphi\to\tilde{\varphi}</math> oraz | |||
<math>\vdash_{H^+}\tilde{\varphi}\to\varphi</math>. Szczegóły dowodu pozostawimy | |||
Czytelnikowi. | |||
}} | |||
{{kotwica|sekcja5.2|}} | |||
===System naturalnej dedukcji=== | |||
System naturalnej dedukcji (wprowadzony przez S. Jaśkowskiego | |||
i G. Gentzena) operuje wyrażeniami zwanymi ''sekwentami''. | |||
Są to wyrażenia postaci <math>\Delta\vdash\varphi</math>, gdzie <math>\Delta</math> jest | |||
pewnym skończonym zbiorem formuł, a <math>\varphi</math> jest formułą. W odróżnieniu od systemu hilbertowskiego, w naturalnej dedukcji istotne są reguły dowodzenia, | |||
a aksjomat jest bardzo prosty. | |||
Charakterystyczną cechą naturalnej dedukcji jest to, że reguły dowodzenia | |||
(za wyjątkiem reguły (PS) "przez sprzeczność") są podzielone na grupy, | |||
po jednej dla każdego spójnika. W ramach jednej takiej grupy mamy dwa | |||
rodzaje reguł. ''Reguły wprowadzania'' mówią o tym w jakiej | |||
sytuacji można wprowadzić dany spójnik na prawo od znaku <math>\vdash</math> | |||
(tj. wywnioskować formułę danego kształtu). | |||
''Reguły eliminacji'' mówią o tym, w jakiej sytuacji można | |||
ten spójnik wyeliminować, tzn. jak można użyć formuły zbudowanej z jego | |||
pomocą do wyprowadzenia innej formuły. | |||
Regułę dowodzenia "przez sprzeczność" można traktować jako "silną" regułę | |||
eliminacji <math>\bot</math>. Pamiętajmy, że <math>\neg\varphi</math> oznacza formułę | |||
<math>\varphi\to\bot</math>. | |||
Poniżej będziemy stosować następującą konwencję: | |||
Napis <math>\Delta,\varphi_1,\ldots,\varphi_n</math> oznacza zbiór | |||
<math>\Delta\cup\{\varphi_1,\ldots,\varphi_n\}</math>, | |||
przy czym nie zakładamy tu, że <math>\varphi_i\not\in\Delta</math>. | |||
'''Aksjomat''' | |||
<math>(A0)\ \ \ \Delta,\varphi\vdash\varphi</math> | |||
'''Reguły dowodzenia''' | |||
<center><math>(\to</math> -intro <math>) \hspace{.2cm} | |||
\frac{\Delta,\varphi\vdash\psi}{\Delta\vdash\varphi\to\psi} | |||
\hspace{1cm} (\to</math> -elim <math>) \hspace{.2cm} | |||
\frac{\Delta\vdash\varphi\to\psi\qquad | |||
\Delta\vdash\varphi}{\Delta\vdash\psi}</math></center> | |||
<center><math>(\wedge</math> -intro <math>)\hspace{.2cm} \frac{\Delta\vdash\varphi\qquad | |||
\Delta\vdash\psi}{\Delta\vdash\varphi\wedge\psi} \hspace{1cm} | |||
(\wedge</math> -elim <math>) | |||
\hspace{.2cm}\frac{\Delta\vdash\varphi\wedge\psi}{\Delta\vdash\varphi} | |||
\hspace{1cm} | |||
(\wedge</math> -elim <math>) | |||
\hspace{.2cm}\frac{\Delta\vdash\varphi\wedge\psi}{\Delta\vdash\psi}</math></center> | |||
<center><math>(\vee</math> -intro <math>)\hspace{.2cm} | |||
\frac{\Delta\vdash\varphi}{\Delta\vdash\varphi\vee\psi} \hspace{1cm} | |||
(\vee</math> -intro <math>)\hspace{.2cm} | |||
\frac{\Delta\vdash\psi}{\Delta\vdash\varphi\vee\psi}</math></center> | |||
<center><math>(\vee</math> -elim <math>)\hspace{.2cm} \frac{\Delta\vdash\varphi\vee\psi\qquad | |||
\Delta,\varphi\vdash\vartheta\qquad | |||
\Delta,\psi\vdash\vartheta}{\Delta\vdash\vartheta}</math></center> | |||
<center><math>(</math> PS <math>)\hspace{.2cm} | |||
\frac{\Delta,\neg\varphi\vdash\bot}{\Delta\vdash\varphi}</math></center> | |||
Zauważmy, że szczególnym przypadkiem reguły (<math>\to</math> -intro) jest | |||
następująca reguła, można ją traktować jak regułę wprowadzenia negacji. | |||
<center><math>\frac{\Delta,\varphi\vdash\bot} | |||
{\Delta\vdash\neg\varphi}</math></center> | |||
Zauważmy też, że szczególnym przypadkiem reguły (<math>\to</math> -elim) jest | |||
następująca reguła, można ją traktować jak regułę eliminacji negacji. | |||
<center><math>\frac{\Delta\vdash\neg\varphi\quad | |||
\Delta\vdash\varphi}{\Delta\vdash\bot}</math></center> | |||
O ile dowody w systemie hilbertowskim są tradycyjnie definiowane jako ciągi, | |||
a więc struktury liniowe, to w systemie naturalnej dedukcji dowody są | |||
drzewami. Pozwala to znacznie lepiej wizualizować zależności pomiędzy | |||
przesłankami i konkluzją stosowanych reguł. ''Dowodem'' sekwentu | |||
<math>\Delta\vdash\varphi</math> w systemie naturalnej dedukcji nazwiemy drzewo | |||
etykietowane sekwentami tak, że korzeń ma etykietę | |||
<math>\Delta\vdash\varphi</math>, liście są etykietowane wystąpieniami aksjomatu | |||
oraz każdy wewnętrzny wierzchołek jest etykietowany sekwentem | |||
otrzymanym z etykiet potomków tego wierzchołka przy zastosowaniu | |||
jednej z reguł. Piszemy <math>\Delta\vdash_{N}\varphi</math>, gdy sekwent | |||
<math>\Delta\vdash\varphi</math> ma dowód w systemie | |||
naturalnej dedukcji. Gdy <math>\Delta=\emptyset</math>, to mówimy też, | |||
że <math>\varphi</math> jest ''twierdzeniem'' systemu naturalnej dedukcji | |||
i zapisujemy to przez <math>\vdash_N\varphi</math>. | |||
Jeśli <math>\Delta</math> jest zbiorem nieskończonym, to | |||
<math>\Delta\vdash_{N}\varphi</math> oznacza, że istnieje dowód sekwentu | |||
<math>\Delta_0\vdash\varphi</math>, dla pewnego skończonego <math>\Delta_0\subseteq\Delta</math>. | |||
Poniżej podajemy kilka przykładów dowodów w systemie naturalnej | |||
dedukcji. | |||
{{przyklad|5.7|przyk5.7| | |||
* Pokażemy <math>\vdash_{N}p\to p</math>. | |||
<center><math>\frac{p\vdash p}{\vdash p\to p}(\to\ -intro) | |||
</math></center> | |||
* Pokażemy <math>\vdash_{N} p\to(q\to p)</math>. | |||
<center><math>\frac{\frac{p,q\vdash p}{p\vdash q\to p}(\to-intro)}{\vdash p\to (q\to p)}(\to -intro) | |||
</math></center> | |||
* Pokażemy <math>\vdash_{N}\neg\neg p\to p</math>. | |||
<center><math> | |||
\frac{\neg\neg p,\neg p\vdash\neg\neg p\qquad\neg\neg p,\neg p\vdash\neg p} | |||
{\frac{\neg\neg p,\neg p\vdash p}{\frac{\neg\neg p\vdash p}{\vdash \neg\neg p\to p} | |||
(\to -\ intro)}(PS)}(\to -\ elim) | |||
</math></center> | |||
}} | |||
{{twierdzenie|5.8|| | |||
Dla dowolnego sekwentu <math>\Delta\vdash\varphi</math> mamy następującą | |||
równoważność: | |||
<center><math>\Delta\vdash_{N}\varphi\hspace{.2cm}</math>, gdy <math>\hspace{.2cm} | |||
\Delta\vdash_{H^+}\varphi</math>.</center> | |||
}} | |||
Aby pokazać, że każdy dowód w <math>\vdash_{N}</math> daje się przerobić | |||
na dowód w <math>\vdash_{H^+}</math> wystarczy sprawdzić, że każda z reguł | |||
systemu naturalnej dedukcji jest ''dopuszczalna'' w <math>H^+</math>. | |||
Tzn. wystarczy sprawdzić, że jeśli mamy dowody przesłanek w <math>\vdash_{H^+}</math>, | |||
to możemy udowodnić konkluzję. Zauważmy, że wyprowadzalność reguły(<math>\to -</math> intro) jest konsekwencją twierdzenia | |||
o dedukcji, natomiast reguła (<math>\to -</math> elim) jest regułą (MP). | |||
Przykładowo pokażemy wyprowadzenie (<math>\vee -</math> elim) oraz (PS) w <math>H^+</math>, | |||
pozostawiając Czytelnikowi wyprowadzenie pozostałych reguł. | |||
Załóżmy, że mamy w <math>H^+</math> dowody następujących sekwentów: | |||
<math>\Delta\vdash\varphi\vee\psi</math>, {.1cm} | |||
<math>\Delta,\varphi\vdash\vartheta</math> {.1cm}oraz {.1cm} | |||
<math>\Delta,\psi\vdash\vartheta</math>. Wówczas, | |||
stosując aksjomat (B2) i regułę (MP) mamy | |||
<math>\Delta\vdash_{H^+}\neg\varphi\to\psi</math>. | |||
Zatem <math>\Delta,\neg\varphi\vdash_{H^+}\psi</math> i ponieważ | |||
<math>\Delta\vdash_{H^+}\psi\to\vartheta</math> to również | |||
<math>\Delta,\neg\varphi\vdash_{H^+}\psi\to\vartheta</math>. Stąd | |||
<math>\Delta,\neg\varphi\vdash_{H^+}\vartheta</math>. Stosując twierdzenie o dedukcji | |||
dostajemy <math>\Delta\vdash_{H^+}\neg\varphi\to\vartheta</math>. Skoro mamy również | |||
<math>\delta\vdash_{H^+}\varphi\to\vartheta</math>, to na mocy | |||
[[#lem5.4|Lematu 5.4]] (3) otrzymujemy <math>\Delta\vdash_{H^+}\vartheta</math>. | |||
Dla wyprowadzenia (PS) załóżmy, że | |||
<math>\Delta,\neg\varphi\vdash_{H^+}\bot</math>. Z twierdzenia o dedukcji | |||
dostajemy <math>\Delta\vdash_{H^+}\neg\neg\varphi</math>. Tak więc z | |||
(A3) i (MP) dostajemy <math>\Delta\vdash_{H^+}\varphi</math>. | |||
Dla pokazania implikacji odwrotnej wystarczy pokazać, że wszystkie | |||
aksjomaty systemu <math>H^+</math> są twierdzeniami systemu naturalnej dedukcji. | |||
Wyprowadzenia (A1) i | |||
(A3) w ND zostały podane w [[#przyk5.7|Przykładzie 5.7]]. Przykładowo pokażemy | |||
wyprowadzenia | |||
(A2) i (B1). Zaczniemy od wyprowadzenia (A2). Niech | |||
<math>\Delta=\{\varphi\to(\psi\to\vartheta),\ \varphi\to\psi,\ \varphi\}</math>. | |||
Mamy następujący dowód: | |||
<center><math> | |||
\frac{ | |||
\frac{\Delta\vdash\varphi\to(\psi\to\vartheta)\qquad\Delta\vdash\varphi}{\Delta\vdash\psi\to\vartheta} | |||
(\to -\ elim)\qquad | |||
\frac{\Delta\vdash\varphi\to\psi\qquad\Delta\vdash\varphi}{\Delta\vdash\psi}(\to -\ elim) | |||
}{\Delta\vdash\vartheta}(\to -\ elim) | |||
</math></center> | |||
Stosując trzy razy (<math>\to</math> -intro ) do sekwentu <math>\Delta\vdash\vartheta</math> dostajemy wyprowadzenie aksjomatu (A2). | |||
Następnie pokażemy dowód (B1) w ND. Zaczniemy od | |||
wyprowadzenia <math>\neg(\varphi\to\neg\psi)\vdash\varphi</math>, gdzie | |||
<math>\Delta=\{\neg(\varphi\to\neg\psi), \neg\varphi\}</math>: | |||
<center><math> | |||
\frac{ | |||
\frac{ | |||
\frac{ | |||
\frac{\Delta,\varphi,\psi\vdash\neg\varphi \qquad \Delta,\varphi,\psi\vdash\varphi}{\Delta,\varphi,\psi\vdash\bot}(\to -\ elim)} | |||
{\Delta,\varphi\vdash\neg\psi}(\to -\ intro)} | |||
{\Delta\vdash\varphi\to\neg\psi}(\to -\ intro)\qquad \Delta\vdash\neg(\varphi\to\neg\psi)} | |||
{\frac{\Delta\vdash\bot}{\neg(\varphi\to\neg\psi)\vdash\varphi}(PS)}(\to -\ elim) | |||
</math></center> | |||
Następnie wyprowadzimy sekwent <math>\neg(\varphi\to\neg\psi)\vdash\psi</math>. Niech | |||
<math>\Delta=\{\neg(\varphi\to\neg\psi), \neg\psi\}</math> | |||
<center><math>\ | |||
<center><math> | |||
\frac{ | |||
\frac{\Delta,\varphi\vdash\neg\psi} | |||
{\Delta\vdash\varphi\to\neg\psi}(\to -\ intro)\qquad \Delta\vdash\neg(\varphi\to\neg\psi)} | |||
{\frac{\Delta\vdash\bot}{\neg(\varphi\to\neg\phi)\vdash\phi}(PS)}(\to -\ elim) | |||
</math></center> | </math></center> | ||
<center><math>\ | Mając wyprowadzone sekwenty <math>\neg(\varphi\to\neg\psi)\vdash\varphi</math> | ||
oraz <math>\neg(\varphi\to\neg\psi)\vdash\psi</math>, możemy zakończyć dowód (B1). | |||
<center><math> | |||
\frac{\neg(\varphi\to\neg\psi)\vdash\varphi\qquad \neg(\varphi\to\neg\psi)\vdash\psi} | |||
{\frac{\neg(\varphi\to\neg\psi)\vdash\varphi\wedge\psi} | |||
{\vdash\neg(\varphi\to\neg\psi)\to(\varphi\wedge\psi)}(\to-\ intro)}(\wedge -\ intro) | |||
</math></center> | </math></center> | ||
{{kotwica|sekcja5.3|}} | |||
===Rachunek sekwentów=== | |||
Dla przedstawienia rachunku sekwentów rozszerzymy nieco pojęcie | |||
sekwentu. Przez ''sekwent'' będziemy teraz rozumieć napis | |||
<math>\Delta\vdash\Gamma</math>, gdzie <math>\Delta</math> oraz <math>\Gamma</math> są skończonymi | |||
zbiorami formuł. Intuicyjnie, wyprowadzalność sekwentu | |||
<math>\Delta\vdash\Gamma</math> w rachunku sekwentów będzie oznaczać, że | |||
alternatywa formuł z <math>\Gamma</math> wynika z hipotez <math>\Delta</math>. | |||
Podobnie jak w poprzedniej części, rozważamy formuły, | |||
zbudowane w oparciu o spójniki <math>\to,\vee,\wedge</math> oraz stałą | |||
zdaniową <math>\bot</math>. Negację <math>\neg</math> traktujemy jako spójnik zdefiniowany przez <math>\to</math> i <math>\bot</math>. | |||
Charakterystyczną cechą rachunku sekwentów jest specyficzna postać reguł. | |||
Reguły w tym systemie naturalnie dzielą się na dwie grupy: jedna grupa reguł | |||
opisuje sytuacje kiedy możemy wprowadzić dany spójnik na lewo od znaku | |||
<math>\vdash</math>, a druga grupa jest odpowiedzialna za wprowadzanie spójnika na | |||
prawo od <math>\vdash</math>. Dla każdego spójnika mamy odpowiadającą parę reguł. | |||
Aksjomat (A<math>\bot</math>) można traktować jako regułę (bez | |||
przesłanek) wprowadzenia <math>\bot</math> z lewej strony znaku <math>\vdash</math>. | |||
Przypomnijmy, że napis <math>\Delta,\varphi_1,\ldots,\varphi_n</math> | |||
oznacza zbiór <math>\Delta\cup\{\varphi_1,\ldots,\varphi_n\}</math>. | |||
'''Aksjomaty''' | |||
<math>(A00)\ \ \ \Delta,\varphi\vdash\Gamma,\varphi</math> | |||
<math>(A\bot)\ \ \ \Delta,\bot\vdash\Gamma</math> | |||
'''Reguły dowodzenia'''<br> | |||
<center><math>(\to</math> -lewa <math>)\hspace{.2cm} \frac{\Delta\vdash\Gamma,\varphi\qquad | |||
\Delta,\psi\vdash\Gamma}{\Delta,\varphi\to\psi\vdash\Gamma} | |||
\hspace{1cm}(\to</math> -prawa <math>)\hspace{.2cm} | |||
\frac{\Delta,\varphi\vdash\Gamma,\psi}{\Delta\vdash\Gamma, | |||
\varphi\to\psi}</math></center> | |||
<center><math>(\wedge</math> -lewa <math>)\hspace{.2cm} | |||
\frac{\Delta,\varphi,\psi\vdash\Gamma}{\Delta,\varphi\wedge\psi\vdash\Gamma} | |||
\hspace{1cm} (\wedge</math> -prawa <math>)\hspace{.2cm} | |||
\frac{\Delta\vdash\Gamma, \varphi\qquad | |||
\Delta\vdash\Gamma,\psi}{\Delta\vdash \Gamma,\varphi\wedge\psi}</math></center> | |||
<center><math>(\vee</math> -lewa <math>)\hspace{.2cm} \frac{\Delta, | |||
\varphi\vdash\Gamma\qquad | |||
\Delta,\psi\vdash\Gamma}{\Delta, \varphi\vee\psi \vdash\Gamma} | |||
\hspace{1cm} (\vee</math> -prawa <math>)\hspace{.2cm} | |||
\frac{\Delta\vdash\Gamma, \varphi, \psi}{\Delta\vdash\Gamma, | |||
\varphi\vee\psi}</math></center> | |||
''Dowodem'' sekwentu <math>\Delta\vdash\Gamma</math>, tak jak poprzednio, | |||
nazywamy drzewo etykietowane sekwentami tak, że korzeń jest | |||
etykietowany przez <math>\Delta\vdash\Gamma</math>, liście są etykietowane | |||
aksjomatami oraz wierzchołki wewnętrzne | |||
są etykietowane sekwentami otrzymanymi poprawnie przez zastosowanie | |||
reguł dowodzenia. Jeśli istnieje dowód sekwentu | |||
<math>\Delta\vdash\Gamma</math> w rachunku sekwentów to zapisujemy to tak: | |||
<math>\Delta\vdash_G\Gamma</math>. (Litera G pochodzi od nazwiska twórcy tego | |||
systemu, G. Gentzena.) Piszemy też <math>\Delta\vdash_{G}\varphi</math>, gdy <math>\Delta</math> | |||
jest nieskończony, ale <math>\Delta\vdash_G\varphi</math> | |||
dla pewnego skończonego <math>\Delta_0 \subseteq\Delta</math>. | |||
Zauważmy, że jeśli mamy sekwent <math>\Delta\vdash\Gamma,\varphi</math> to | |||
stosując aksjomat (<math>A\bot</math>), a następnie (<math>\to</math> -lewa) dostajemy | |||
sekwent <math>\Delta,\neg\varphi\vdash\Gamma</math>. Zatem natępująca reguła | |||
jest ''dopuszczalna'' w systemie <math>\vdash_G</math> (tj. jeśli dodamy | |||
ją do systemu, to zbiór wyprowadzalnych sekwentów nie ulegnie zmianie): | |||
<center><math>(\neg</math> -lewa <math>)\hspace{.2cm} | |||
\frac{\Delta\vdash\Gamma,\varphi}{\Delta, \neg\varphi\vdash\Gamma}</math></center> | |||
Ponadto zauważmy, że jeśli mamy dowód sekwentu | |||
<math>\Delta\vdash\Gamma</math>, to dla każdej formuły <math>\varphi</math> możemy ją | |||
dodać do prawej strony każdego sekwentu w tym dowodzie i otrzymamy | |||
dowód sekwentu <math>\Delta\vdash\Gamma,\varphi</math>. | |||
Łatwy dowód indukcyjny | |||
pozostawiamy Czytelnikowi ( [[Logika dla informatyków/Ćwiczenia 5#weakening|Ćwiczenie 12]]). <br> | |||
W szczególności, jeśli mamy udowodniony sekwent <math>\Delta,\varphi\vdash\Gamma</math>, to możemy też | |||
udowodnić sekwent <math>\Delta,\varphi\vdash\Gamma,\bot</math>.<br> | |||
Stosując do niego regułę (<math>\to</math> -prawa) otrzymujemy sekwent | |||
<math>\Delta\vdash\Gamma,\neg\varphi</math>. Tym samym pokazaliśmy, że | |||
następująca reguła jest dopuszczalna w systemie <math>\vdash_G</math>: | |||
<center><math>(\neg</math> -prawa <math>)\hspace{.2cm} | |||
\frac{\Delta,\varphi\vdash\Gamma}{\Delta \vdash\Gamma,\neg\varphi}</math></center> | |||
{{twierdzenie|5.9|twier5.9| | |||
Dla każdych <math>\Delta</math> i <math>\varphi</math> mamy następującą równoważność | |||
<center><math>\Delta\vdash_G\varphi\hspace{.2cm}</math> wtedy i tylko wtedy, gdy <math> | |||
\hspace{.2cm} \Delta\vdash_{H^+}\varphi</math>.</center> | |||
}} | |||
Powyższe twierdzenie pozostawimy bez dowodu. Łatwo jest | |||
"przetłumaczyć" każde wyprowadzenie w systemie <math>\vdash_G</math> | |||
na dowód w stylu Hilberta. | |||
Dla dowodu implikacji odwrotnej rozszerza się system <math>\vdash_G</math> przez | |||
dodanie nowej reguły zwanej ''cięciem''. | |||
<center><math>(</math> cięcie <math>)\hspace{.2cm} \frac{\Delta,\varphi\vdash\Gamma\hspace{.7cm} | |||
\Delta\vdash\varphi, \Gamma}{\Delta\vdash\Gamma}</math></center> | |||
Niech <math>\vdash_{GC}</math> oznacza system gentzenowski z cięciem. Bez trudu można | |||
pokazać, że reguła odrywania jest dopuszczalna w | |||
<math>\vdash_{GC}</math>. Zatem, korzystając z twierdzenia o pełności dla | |||
systemu hilbertowskiego, łatwo pokazujemy, że każda tautologia | |||
jest twierdzeniem systemu <math>\vdash_{GC}</math>. Główna trudność w dowodzie | |||
[[#twier5.9|Twierdzenia 5.9]] polega na | |||
udowodnieniu następującego twierdzenia ''o eliminacji cięcia''. | |||
Twierdzenie to podajemy bez dowodu. | |||
{{twierdzenie|5.10 (o eliminacji cięcia)|| | |||
Jeśli | |||
<math>\Delta\vdash_{GC}\Gamma</math>, to <math>\Delta\vdash_G\Gamma</math>. | |||
}} | |||
Główna zaleta dowodów w rachunku sekwentów (bez cięcia) wynika z następującej | |||
''własności podformuł:'' wszystkie formuły występujące | |||
w przesłance dowolnej reguły są podformułami formuł występujących | |||
w konkluzji. | |||
Zatem np. w dowodzie sekwentu <math>~\vdash\varphi</math> mamy do czynienia tylko | |||
z podformułami formuły <math>\varphi</math>. Dla danej formuły <math>\varphi</math>, łatwiej | |||
więc znaleźć dowód w sensie Gentzena niż np. dowód w sensie | |||
Hilberta. Dlatego systemy zbliżone do rachunku sekwentów | |||
znajdują zastosowanie w automatycznym | |||
dowodzeniu twierdzeń. Pokażemy to na przykładzie. | |||
{{przyklad|5.11|| | |||
# Poszukamy dowodu sekwentu <math>\vdash\neg\neg\varphi\to\varphi</math> w | |||
<math>\vdash_G</math>. Ponieważ najbardziej zewnętrznym spójnikiem w | |||
rozważanej formule jest <math>\to</math>, to ostatnią regułą w poszukiwanym | |||
dowodzie musiała być reguła (<math>\to</math> -prawa). Zatem wystarczy | |||
<math>\ | znaleźć dowód sekwentu <math>\neg\neg\varphi\vdash\varphi</math>. Najbardziej | ||
zewnętrznym spójnikiem formuły po lewej stronie jest <math>\neg</math>, a | |||
zatem na mocy reguły (<math>\neg</math> -lewa) wystarczy udowodnić sekwent | |||
<math>\vdash\varphi, \neg\varphi</math>. Podobnie, na mocy reguły (<math>\neg</math> -prawa), | |||
wystarczy udowodnić sekwent <math>\varphi\vdash\varphi</math>, a on przecież jest | |||
aksjomatem. | |||
# Jeśli zastosujemy powyższą procedurę do formuły, która | |||
nie jest tautologią, to dostaniemy wskazówkę na to gdzie należy szukać | |||
wartościowania falsyfikującego tę formułę. (Wartościowanie falsyfikujące | |||
sekwent <math>\Delta\vdash\Gamma</math> to takie, | |||
które spełnia wszystkie formuły z <math>\Delta</math> oraz falsyfikuje | |||
wszystkie formuły z <math>\Gamma</math>.) | |||
Dla zilustrowania tej tezy weźmy bardzo prosty | |||
sekwent <math>\vdash p\to q</math>. Postępując podobnie jak poprzednio, | |||
dochodzimy do sekwentu <math>p\vdash q</math>, który nie jest | |||
aksjomatem, i którego nie możemy już dalej rozłożyć. | |||
Jako wartościowanie falsyfikujące wystarczy wziąć | |||
wartościowanie spełniające <math>p</math> i falsyfikujące <math>q</math>. | |||
}} | }} | ||
Z własności podformuł wynika też własność ''konserwatywności'' | |||
systemu nad swoimi fragmentami: jeśli formuła, w której nie | |||
występuje jakiś spójnik jest tautologią, to jej wyprowadzenie | |||
nie wymaga reguł związanych z tym spójnikiem. |
Aktualna wersja na dzień 22:11, 11 wrz 2023
Paradygmaty dowodzenia
Sprawdzenie, czy dana formuła rachunku zdań jest tautologią, polega zwykle na obliczeniu jej wartości dla różnych wartościowań, gdzie jest liczbą zmiennych zdaniowych tej formuły. Jak dotąd nie są znane radykalnie szybsze metody. Dla rachunku predykatów nie istnieje w ogóle żaden algorytm sprawdzania czy dana formuła jest tautologią (Twierdzenie 3.8). W obu przypadkach istnieją jednak metody dowodzenia pozwalające na wyprowadzanie prawdziwych formuł za pomocą ustalonych procedur syntaktycznych.
Każdy system dowodzenia zawiera dwa składniki:
- początkowy zbiór formuł (lub wyrażeń zbudowanych z wielu formuł) zwanych aksjomatami;
- zbiór operacji przekształcających wyrażenia w wyrażenia - operacje te są nazywane regułami dowodzenia.
Reguły dowodzenia opisują warunki, przy pomocy których można otrzymać nowe wyrażenie (nazywane konkluzją) z otrzymanych już wyrażeń (nazywanych przesłankami). Dowody w systemach formalnych są ciągami wyrażeń, być może posiadającymi dodatkową strukturę pozwalającą na lepszą wizualizację.
W dalszej części opiszemy trzy systemy dowodzenia: system typu hilbertowskiego (od nazwiska Davida Hilberta), system naturalnej dedukcji oraz rachunek sekwentów. Ostatnie dwa systemy znajdują zastosowanie w pewnych działach sztucznej inteligencji oraz w systemach automatycznego dowodzenia twierdzeń.
System hilbertowski
Poniższy system dowodzenia dotyczy formuł zbudowanych przy użyciu jedynie spójnika , stałej oraz zmiennych zdaniowych. Przypomnijmy, że dla dowolnej formuły , napis jest skrótem zapisu Parser nie mógł rozpoznać (nieznana funkcja „\arr”): {\displaystyle \varphi\arr\bot} . Symbole w poniższym systemie oznaczają dowolne formuły.
Aksjomaty
Reguła dowodzenia
Reguła (MP) jest nazywana regułą odrywania lub też regułą modus ponens.
Dowodem w powyższym systemie nazywamy taki ciąg formuł, w którym każda formuła albo jest aksjomatem, albo też została otrzymana z wcześniej występujących formuł w wyniku zastosowania reguły odrywania. Powiemy, że formuła ma dowód lub jest twierdzeniem systemu hilbertowskiego, co zapiszemy , gdy istnieje dowód zawierający . Powyższą definicję możemy nieco uogólnić. Niech będzie dowolnym zbiorem formuł. Powiemy, że formuła ma dowód ze zbioru hipotez (notacja ), gdy jest twierdzeniem systemu, w którym zbiór aksjomatów został poszerzony o formuły ze zbioru .
Przykład 5.1
Niech będzie zmienną zdaniową. Pokażemy, że formuła jest twierdzeniem systemu hilbertowskiego. Poniżej podajemy dowód dla tej formuły. W nawiasach podajemy nazwę aksjomatu, jeśli dana formuła jest instancją tego aksjomatu, lub też numery formuł z wcześniejszych kroków dowodu, do których jest stosowana reguła odrywania.
Zauważmy, że w powyższym przykładzie możemy wszędzie zastąpić zmienną przez dowolną formułę dostając dowód formuły .
Następujące twierdzenie jest bardzo użyteczne, gdy trzeba uzasadnić, że jakaś formuła jest twierdzeniem.
Twierdzenie 5.2 (o dedukcji)
Dla dowolnego zbioru formuł oraz dowolnych formuł , jeśli , to .
Dowód
Dowód jest indukcyjny ze względu na liczbę kroków w dowodzie formuły ze zbioru hipotez . Przypuśćmy najpierw, że dowód ten składa się tylko z jednego kroku. Jeśli , to stosując wyprowadzenie z Przykładu 5.1 dostajemy dowód formuły . Możemy oczywiście przyjąć, że formuła ta jest wyprowadzona ze zbioru hipotez . Druga możliwość jest taka, że lub też, że jest aksjomatem. W każdym z tych przypadków mamy . Wówczas stosując regułę odrywania do oraz aksjomatu , dostajemy formułę .
Założmy teraz, że ostatnim krokiem w wyprowadzeniu formuły jest zastosowanie reguły (MP) do formuł oraz , dla pewnej formuły . Z założenia indukcyjnego mamy oraz . Stosując regułę odrywania do oraz do aksjomatu (A2): dostajemy formułę . Ponownie stosując regułę odrywania do tej formuły oraz do dostajemy żądaną formułę . To kończy dowód twierdzenia o dedukcji.

Twierdzenie 5.3 (o poprawności)
Jeśli , to . W szczególności, jeśli , to jest tautologią.
Dowód
Dowód jest indukcyjny ze względu na liczbę kroków w wyprowadzeniu formuły w systemie hilbertowskim ze zbioru hipotez . Jeśli dowód ten składa się tylko z jednego kroku, to albo , albo jest aksjomatem. W obu przypadkach oczywiście zachodzi .
Załóżmy teraz, że jest otrzymana przez zastosowanie reguły odrywania do formuł oraz . Z założenia indukcyjnego mamy
Niech będzie dowolnym wartościowaniem spełniającym wszystkie formuły z . Na mocy (1), wartościowanie spełnia oraz spełnia . Wynika stąd, że spełnia . Tym samym udowodniliśmy, że . To kończy dowód.

Lemat 5.4
Dla dowolnych formuł zbudowanych przy użyciu oraz , następujące formuły są twierdzeniami systemu hilbertowskiego.
- ;
- ;
- ;
Dowód
(1) Niech . Stosując regułę odrywania do formuł oraz dostajemy . Przez ponowne zastosowanie (MP) do tej formuły oraz do otrzymujemy wyprowadzenie . Tym samym pokazaliśmy, że . Stosując teraz trzy razy twierdzenie o dedukcji dostajemy
czyli
(2) Ponieważ , więc z twierdzenia o dedukcji wynika . Stosując teraz (MP) do tej formuły oraz do aksjomatu (A3) w postaci otrzymujemy . Ponowne zastosowanie twierdzenia o dedukcji daje nam .
(3) Niech . Zaczynamy od zbioru hipotez . Stosując (MP) do formuł oraz dostajemy . Ponowne zastosowanie (MP) do tej formuły oraz do daje nam . Używając teraz twierdzenia o dedukcji do formuły otrzymujemy
Ponieważ mamy , to stosując (MP) otrzymujemy . Jeszcze raz używamy (MP) aby z i otrzymać i mamy
Na mocy twierdzenia o dedukcji . Stosując (MP) do formuły oraz do aksjomatu otrzymujemy . Dwukrotne zastosowanie twierdzenia o dedukcji daje nam . To kończy dowód lematu.

Powyższy system można łatwo rozszerzyć do systemu dla formuł opartych o pozostałe spójniki logiczne. Wystarczy w tym celu dodać aksjomaty wyrażające równoważności definiujące te spójniki.
Tak otrzymany system oznaczymy przez .
Twierdzenie 5.5 (o poprawności dla )
Dla dowolnego zbioru formuł i dla dowolnej formuły w języku z Parser nie mógł rozpoznać (nieznana funkcja „\arr”): {\displaystyle \vee,\wedge,\arr,\bot} , jeśli Parser nie mógł rozpoznać (nieznana funkcja „\se”): {\displaystyle \se_{H^+}\varphi} to .
Dowód
Wystarczy sprawdzić, że aksjomaty (B1)-(B4) są tautologiami. Konkluzja wynika z Twierdzenia 5.3 o poprawności dla .

Lemat 5.6
Dla dowolnej formuły istnieje formuła zbudowana przy użyciu jedynie oraz , taka że oraz .
Dowód
W danej formule , zastąpmy każdą podformułę postaci formułą oraz każdą podformułę postaci formułą . Aksjomaty (B1)-(B4) mówią, że zastąpione formuły są równoważne. Tak więc łatwo dostajemy oraz . Szczegóły dowodu pozostawimy Czytelnikowi.

System naturalnej dedukcji
System naturalnej dedukcji (wprowadzony przez S. Jaśkowskiego i G. Gentzena) operuje wyrażeniami zwanymi sekwentami. Są to wyrażenia postaci , gdzie jest pewnym skończonym zbiorem formuł, a jest formułą. W odróżnieniu od systemu hilbertowskiego, w naturalnej dedukcji istotne są reguły dowodzenia, a aksjomat jest bardzo prosty. Charakterystyczną cechą naturalnej dedukcji jest to, że reguły dowodzenia (za wyjątkiem reguły (PS) "przez sprzeczność") są podzielone na grupy, po jednej dla każdego spójnika. W ramach jednej takiej grupy mamy dwa rodzaje reguł. Reguły wprowadzania mówią o tym w jakiej sytuacji można wprowadzić dany spójnik na prawo od znaku (tj. wywnioskować formułę danego kształtu). Reguły eliminacji mówią o tym, w jakiej sytuacji można ten spójnik wyeliminować, tzn. jak można użyć formuły zbudowanej z jego pomocą do wyprowadzenia innej formuły. Regułę dowodzenia "przez sprzeczność" można traktować jako "silną" regułę eliminacji . Pamiętajmy, że oznacza formułę .
Poniżej będziemy stosować następującą konwencję: Napis oznacza zbiór , przy czym nie zakładamy tu, że .
Aksjomat
Reguły dowodzenia
Zauważmy, że szczególnym przypadkiem reguły ( -intro) jest
następująca reguła, można ją traktować jak regułę wprowadzenia negacji.
Zauważmy też, że szczególnym przypadkiem reguły ( -elim) jest następująca reguła, można ją traktować jak regułę eliminacji negacji.
O ile dowody w systemie hilbertowskim są tradycyjnie definiowane jako ciągi, a więc struktury liniowe, to w systemie naturalnej dedukcji dowody są drzewami. Pozwala to znacznie lepiej wizualizować zależności pomiędzy przesłankami i konkluzją stosowanych reguł. Dowodem sekwentu w systemie naturalnej dedukcji nazwiemy drzewo etykietowane sekwentami tak, że korzeń ma etykietę , liście są etykietowane wystąpieniami aksjomatu oraz każdy wewnętrzny wierzchołek jest etykietowany sekwentem otrzymanym z etykiet potomków tego wierzchołka przy zastosowaniu jednej z reguł. Piszemy , gdy sekwent ma dowód w systemie naturalnej dedukcji. Gdy , to mówimy też, że jest twierdzeniem systemu naturalnej dedukcji i zapisujemy to przez . Jeśli jest zbiorem nieskończonym, to oznacza, że istnieje dowód sekwentu , dla pewnego skończonego .
Poniżej podajemy kilka przykładów dowodów w systemie naturalnej dedukcji.
Przykład 5.7
- Pokażemy .
- Pokażemy .
- Pokażemy .
Twierdzenie 5.8
Dla dowolnego sekwentu mamy następującą równoważność:
Aby pokazać, że każdy dowód w daje się przerobić na dowód w wystarczy sprawdzić, że każda z reguł systemu naturalnej dedukcji jest dopuszczalna w . Tzn. wystarczy sprawdzić, że jeśli mamy dowody przesłanek w , to możemy udowodnić konkluzję. Zauważmy, że wyprowadzalność reguły( intro) jest konsekwencją twierdzenia o dedukcji, natomiast reguła ( elim) jest regułą (MP). Przykładowo pokażemy wyprowadzenie ( elim) oraz (PS) w , pozostawiając Czytelnikowi wyprowadzenie pozostałych reguł.
Załóżmy, że mamy w dowody następujących sekwentów: , {.1cm} {.1cm}oraz {.1cm} . Wówczas, stosując aksjomat (B2) i regułę (MP) mamy . Zatem i ponieważ to również . Stąd . Stosując twierdzenie o dedukcji dostajemy . Skoro mamy również , to na mocy Lematu 5.4 (3) otrzymujemy .
Dla wyprowadzenia (PS) załóżmy, że . Z twierdzenia o dedukcji dostajemy . Tak więc z (A3) i (MP) dostajemy .
Dla pokazania implikacji odwrotnej wystarczy pokazać, że wszystkie aksjomaty systemu są twierdzeniami systemu naturalnej dedukcji. Wyprowadzenia (A1) i (A3) w ND zostały podane w Przykładzie 5.7. Przykładowo pokażemy wyprowadzenia (A2) i (B1). Zaczniemy od wyprowadzenia (A2). Niech . Mamy następujący dowód:
Stosując trzy razy ( -intro ) do sekwentu dostajemy wyprowadzenie aksjomatu (A2).
Następnie pokażemy dowód (B1) w ND. Zaczniemy od wyprowadzenia , gdzie :
Następnie wyprowadzimy sekwent . Niech
Mając wyprowadzone sekwenty
oraz , możemy zakończyć dowód (B1).
Rachunek sekwentów
Dla przedstawienia rachunku sekwentów rozszerzymy nieco pojęcie sekwentu. Przez sekwent będziemy teraz rozumieć napis , gdzie oraz są skończonymi zbiorami formuł. Intuicyjnie, wyprowadzalność sekwentu w rachunku sekwentów będzie oznaczać, że alternatywa formuł z wynika z hipotez .
Podobnie jak w poprzedniej części, rozważamy formuły, zbudowane w oparciu o spójniki oraz stałą zdaniową . Negację traktujemy jako spójnik zdefiniowany przez i .
Charakterystyczną cechą rachunku sekwentów jest specyficzna postać reguł. Reguły w tym systemie naturalnie dzielą się na dwie grupy: jedna grupa reguł opisuje sytuacje kiedy możemy wprowadzić dany spójnik na lewo od znaku , a druga grupa jest odpowiedzialna za wprowadzanie spójnika na prawo od . Dla każdego spójnika mamy odpowiadającą parę reguł. Aksjomat (A) można traktować jako regułę (bez przesłanek) wprowadzenia z lewej strony znaku .
Przypomnijmy, że napis oznacza zbiór .
Aksjomaty
Reguły dowodzenia
Dowodem sekwentu , tak jak poprzednio,
nazywamy drzewo etykietowane sekwentami tak, że korzeń jest
etykietowany przez , liście są etykietowane
aksjomatami oraz wierzchołki wewnętrzne
są etykietowane sekwentami otrzymanymi poprawnie przez zastosowanie
reguł dowodzenia. Jeśli istnieje dowód sekwentu
w rachunku sekwentów to zapisujemy to tak:
. (Litera G pochodzi od nazwiska twórcy tego
systemu, G. Gentzena.) Piszemy też , gdy
jest nieskończony, ale
dla pewnego skończonego .
Zauważmy, że jeśli mamy sekwent to stosując aksjomat (), a następnie ( -lewa) dostajemy sekwent . Zatem natępująca reguła jest dopuszczalna w systemie (tj. jeśli dodamy ją do systemu, to zbiór wyprowadzalnych sekwentów nie ulegnie zmianie):
Ponadto zauważmy, że jeśli mamy dowód sekwentu
, to dla każdej formuły możemy ją
dodać do prawej strony każdego sekwentu w tym dowodzie i otrzymamy
dowód sekwentu .
Łatwy dowód indukcyjny
pozostawiamy Czytelnikowi ( Ćwiczenie 12).
W szczególności, jeśli mamy udowodniony sekwent , to możemy też
udowodnić sekwent .
Stosując do niego regułę ( -prawa) otrzymujemy sekwent
. Tym samym pokazaliśmy, że
następująca reguła jest dopuszczalna w systemie :
Twierdzenie 5.9
Dla każdych i mamy następującą równoważność
Powyższe twierdzenie pozostawimy bez dowodu. Łatwo jest "przetłumaczyć" każde wyprowadzenie w systemie na dowód w stylu Hilberta. Dla dowodu implikacji odwrotnej rozszerza się system przez dodanie nowej reguły zwanej cięciem.
Niech oznacza system gentzenowski z cięciem. Bez trudu można pokazać, że reguła odrywania jest dopuszczalna w . Zatem, korzystając z twierdzenia o pełności dla systemu hilbertowskiego, łatwo pokazujemy, że każda tautologia jest twierdzeniem systemu . Główna trudność w dowodzie Twierdzenia 5.9 polega na udowodnieniu następującego twierdzenia o eliminacji cięcia. Twierdzenie to podajemy bez dowodu.
Twierdzenie 5.10 (o eliminacji cięcia)
Jeśli , to .
Główna zaleta dowodów w rachunku sekwentów (bez cięcia) wynika z następującej własności podformuł: wszystkie formuły występujące w przesłance dowolnej reguły są podformułami formuł występujących w konkluzji. Zatem np. w dowodzie sekwentu mamy do czynienia tylko z podformułami formuły . Dla danej formuły , łatwiej więc znaleźć dowód w sensie Gentzena niż np. dowód w sensie Hilberta. Dlatego systemy zbliżone do rachunku sekwentów znajdują zastosowanie w automatycznym dowodzeniu twierdzeń. Pokażemy to na przykładzie.
Przykład 5.11
- Poszukamy dowodu sekwentu w
. Ponieważ najbardziej zewnętrznym spójnikiem w rozważanej formule jest , to ostatnią regułą w poszukiwanym dowodzie musiała być reguła ( -prawa). Zatem wystarczy znaleźć dowód sekwentu . Najbardziej zewnętrznym spójnikiem formuły po lewej stronie jest , a zatem na mocy reguły ( -lewa) wystarczy udowodnić sekwent . Podobnie, na mocy reguły ( -prawa), wystarczy udowodnić sekwent , a on przecież jest aksjomatem.
- Jeśli zastosujemy powyższą procedurę do formuły, która
nie jest tautologią, to dostaniemy wskazówkę na to gdzie należy szukać wartościowania falsyfikującego tę formułę. (Wartościowanie falsyfikujące sekwent to takie, które spełnia wszystkie formuły z oraz falsyfikuje wszystkie formuły z .) Dla zilustrowania tej tezy weźmy bardzo prosty sekwent . Postępując podobnie jak poprzednio, dochodzimy do sekwentu , który nie jest aksjomatem, i którego nie możemy już dalej rozłożyć. Jako wartościowanie falsyfikujące wystarczy wziąć wartościowanie spełniające i falsyfikujące .
Z własności podformuł wynika też własność konserwatywności systemu nad swoimi fragmentami: jeśli formuła, w której nie występuje jakiś spójnik jest tautologią, to jej wyprowadzenie nie wymaga reguł związanych z tym spójnikiem.