Logika dla informatyków/Pełność rachunku zdań: Różnice pomiędzy wersjami
m Zastępowanie tekstu – „<math> ” na „<math>” |
|||
(Nie pokazano 23 wersji utworzonych przez 4 użytkowników) | |||
Linia 2: | Linia 2: | ||
Zagadnienie pełności systemów formalnych jest jednym z centralnych problemów | Zagadnienie pełności systemów formalnych jest jednym z centralnych problemów | ||
logiki. O ile poprawność systemu formalnego (zwana też ''adekwatnością'') | logiki. O ile poprawność systemu formalnego (zwana też ''adekwatnością'') | ||
oznacza, że wszystkie twierdzenia systemu są prawdziwe względem przyjętej semantyki, to ''pełność'' jest własnością mówiącą o tym, że każda formuła prawdziwa daje | oznacza, że wszystkie twierdzenia systemu są prawdziwe względem przyjętej semantyki, to ''pełność'' jest własnością mówiącą o tym, że każda formuła prawdziwa daje się udowodnić w systemie. Jest wiele różnych dowodów twierdzenia o pełności dla rachunku zdań. My podamy elegancki dowód pochodzący od L. Kalmára. Dla udowodnienia nieco silniejszej wersji twierdzenia o pełności (Twierdzenie [[#tw-zda-4|6.7]]) wykorzystamy silne i bardzo pożyteczne Twierdzenie [[#tw-zda-5|6.5]] zwane twierdzeniem o zwartości. | ||
<span id="le-zda-2" \> | <span id="le-zda-2" \> | ||
{{lemat|6.1 (Kalmár)|| | {{lemat|6.1 (Kalmár)|| | ||
Niech <math>\var\varphi</math> będzie formułą zbudowaną przy użyciu <math>\ | Niech <math>\var\varphi</math> będzie formułą zbudowaną przy użyciu <math>\rightarrow</math> oraz <math>\bot</math>, o zmiennych zawartych w zbiorze | ||
<math>\{q_1,\ldots q_n\}</math> i niech <math>\varrho:\mbox{\small ZZ}\ | <math>\{q_1,\ldots q_n\}</math> i niech <math>\varrho:\mbox{\small ZZ}\rightarrow\{0,1\}</math> będzie dowolnym wartościowaniem. Dla <math>i=1,\ldots,n</math> definiujemy formuły: | ||
<center><math>q'_i = \begin{cases}q_i & \ | <center><math>q'_i = \begin{cases}q_i & \text{\ jeśli } \varrho(q_i)=1 \\\neg q_i & \text{\ jeśli } \varrho(q_i)=0\end{cases}</math></center> | ||
Niech <math>\var\varphi'</math> będzie formułą identyczną z <math>\var\varphi</math>, jeśli | Niech <math>\var\varphi'</math> będzie formułą identyczną z <math>\var\varphi</math>, jeśli | ||
Linia 16: | Linia 15: | ||
<math>\var\varphi'</math> oznacza formułę <math>\neg\var\varphi</math>. | <math>\var\varphi'</math> oznacza formułę <math>\neg\var\varphi</math>. | ||
Wówczas | Wówczas | ||
<math>\{q_1',\ldots,q_n'\}\vdash_H\psi</math> | |||
}} | }} | ||
{{dowod||| | |||
Dowód jest prowadzony przez indukcję ze względu na budowę | Dowód jest prowadzony przez indukcję ze względu na budowę formuły <math>\var\varphi</math>. Jeśli <math>\var\varphi</math> jest zmienną <math>q_i</math> to <math>\var\varphi'=q_i'</math>. Zatem trywialnie zachodzi | ||
formuły <math>\var\varphi</math>. Jeśli <math>\var\varphi</math> jest zmienną <math>q_i</math> to | |||
<math>\var\varphi'=q_i'</math>. Zatem trywialnie zachodzi | |||
<math>\{q_1',\ldots,q_n'\}\vdash\var\varphi'</math>. | <math>\{q_1',\ldots,q_n'\}\vdash\var\varphi'</math>. | ||
Jeśli <math>\var\varphi</math> jest stałą <math>\bot</math>, to <math>\var\varphi'=\neg\bot</math> i | Jeśli <math>\var\varphi</math> jest stałą <math>\bot</math>, to <math>\var\varphi'=\neg\bot</math> i oczywiście dla dowolnego wyboru <math>q_1',\ldots,q_n'</math> zachodzi | ||
oczywiście dla dowolnego wyboru <math>q_1',\ldots,q_n'</math> zachodzi | |||
<math>\{q'_1,\ldots,q'_n\}\vdash_H\neg\bot</math>. | |||
\ | Załóżmy teraz, że <math>\var\varphi</math> jest postaci <math>\psi\arr\vartheta</math> i rozważmy następujące przypadki. | ||
'''(A)''' <math>\not\models\psi[\varrho]</math>. | |||
Wówczas <math>\var\varphi'=\var\varphi</math> oraz <math>\psi'=\neg\psi</math>. Z założenia | '''(A)''' <math>\not\models\psi[\varrho]</math>. | ||
indukcyjnego mamy <math>\{q_1',\ldots,q_n'\}\vdash_H\neg\psi</math>. Zatem | |||
<math>\{q_1',\ldots,q_n'\},\psi\vdash_H\bot</math>. Z | Wówczas <math>\var\varphi'=\var\varphi</math> oraz <math>\psi'=\neg\psi</math>. Z założenia indukcyjnego mamy <math>\{q_1',\ldots,q_n'\}\vdash_H\neg\psi</math>. Zatem <math>\{q_1',\ldots,q_n'\},\psi\vdash_H\bot</math>. Z Lematu [[#le-zda-1|5.4]](2) mamy <math>\{q_1',\ldots,q_n'\},\psi\vdash_H\bot\arr\vartheta</math>. Zatem, stosując | ||
Lematu | |||
<math>\{q_1',\ldots,q_n'\},\psi\vdash_H\bot\arr\vartheta</math>. Zatem, stosując | |||
(MP) dostajemy <math>\{q_1',\ldots,q_n'\},\psi\vdash_H\vartheta</math> i z | (MP) dostajemy <math>\{q_1',\ldots,q_n'\},\psi\vdash_H\vartheta</math> i z | ||
twierdzenia o dedukcji | twierdzenia o dedukcji | ||
\ | <math>\{q'_1,\ldots,q'_n\}\vdash_H\psi\rightarrow\varaphi</math>. | ||
'''(B)''' <math>\models\vartheta[\varrho]</math>. | |||
Wówczas <math>\var\varphi'=\var\varphi</math>, oraz <math>\vartheta'=\vartheta</math>. Z założenia | '''(B)''' <math>\models\vartheta[\varrho]</math>. | ||
indukcyjnego mamy <math>\{q_1',\ldots,q_n'\}\vdash_H\vartheta</math>. Zatem | |||
<math>\{q_1',\ldots,q_n'\},\psi\vdash_H\vartheta</math> i z twierdzenia o | Wówczas <math>\var\varphi'=\var\varphi</math>, oraz <math>\vartheta'=\vartheta</math>. Z założenia indukcyjnego mamy <math>\{q_1',\ldots,q_n'\}\vdash_H\vartheta</math>. Zatem <math>\{q_1',\ldots,q_n'\},\psi\vdash_H\vartheta</math> i z twierdzenia o | ||
dedukcji dostajemy | dedukcji dostajemy | ||
<math>\{q'_1,\ldots,q'_n\}\vdash_H\psi\rightarrow\varaphi</math>. | |||
'''(C)''' <math>\models\psi[\varrho]</math> oraz <math>\not\models\vartheta[\varrho]</math>. | |||
Wówczas <math>\var\varphi'=\neg\var\varphi.\ \psi'=\psi</math> oraz | Wówczas <math>\var\varphi'=\neg\var\varphi.\ \psi'=\psi</math> oraz | ||
<math>\vartheta'=\neg\vartheta</math>. Z założenia indukcyjnego mamy | <math>\vartheta'=\neg\vartheta</math>. Z założenia indukcyjnego mamy | ||
</math> | |||
<math>\{q'_1,\ldots,q'_n\}\vdash_H\psi</math> oraz <math>\{q'_1,\ldots,q'_n\}\vdash_H\neg\vartheta</math> | |||
Z Lematu [[#le-zda-1|5.4]](1) mamy | |||
<math>\{q'_1,\ldots,q_n'\}\vdash_H</math> | |||
Stosując teraz dwukrotnie (MP) dostajemy | Stosując teraz dwukrotnie (MP) dostajemy | ||
\ | <math>\{q'_1,\ldots,q'_n\}</math> | ||
To kończy dowód lematu. | |||
}} | |||
<span id="le-zda-2aa" \> | |||
Dla dowolnego zbioru formuł <math>\Delta</math> | {{lemat|6.2|| | ||
Dla dowolnego zbioru formuł <math>\Delta</math> i dla dowolnych formuł <math>\var\varphi</math> | |||
i <math>\psi</math>, jeśli <math>\Delta,\var\varphi\vdash_H \psi</math> oraz | i <math>\psi</math>, jeśli <math>\Delta,\var\varphi\vdash_H \psi</math> oraz | ||
<math>\Delta,\neg\var\varphi\vdash_H \psi</math>, to <math> | <math>\Delta,\neg\var\varphi\vdash_H \psi</math>, to <math>\Delta\vdash_H\psi</math>. | ||
}} | |||
Jeśli <math>\Delta,\var\varphi\vdash_H \psi</math> to na mocy twierdzenia o dedukcji | {{dowod||| | ||
mamy <math> | Jeśli <math>\Delta,\var\varphi\vdash_H \psi</math> to na mocy twierdzenia o dedukcji mamy <math>\vdash_H \var\varphi\arr\psi</math>. Podobnie dostajemy | ||
<math> | <math>\vdash_H\neg\var\varphi\arr\psi</math>. Stosując Lemat [[#le-zda-1|5.4]](3), oraz dwukrotnie regułę odrywania dostajemy | ||
Lemat | <math>\vdash_H\psi</math>. | ||
<math> | |||
}} | }} | ||
Lemat Kalm | Lemat Kalmára odgrywa kluczową rolę w dowodzie poniższego twierdzenia o pełności. | ||
twierdzenia o pełności. | |||
{{twierdzenie||tw-zda-3| | {{twierdzenie|6.3 (o pełności dla <math>\vdash_H</math>)|tw-zda-3| | ||
Jeśli <math>\var\varphi</math> jest tautologią zbudowaną przyużyciu <math>\rightarrow</math> oraz <math>\bot</math>, to <math>\vdash_H\var\varphi</math>. | |||
Jeśli <math>\var\varphi</math> jest tautologią zbudowaną przyużyciu <math>\ | |||
<math>\bot</math>, to <math>\vdash_H\var\varphi</math>. | |||
}} | }} | ||
{{dowod|eq-zda-3a| | {{dowod||eq-zda-3a| | ||
Załóżmy, że <math>\var\varphi</math> jest tautologią. Niech <math>\{q_1,\ldots,q_n\}</math> będą wszystkimi zmiennymi występującymi w <math>\var\varphi</math>. Dla dowolnej liczby <math>0\leq m\leq n</math> nazwiemy ''<math>m</math>-zbiorem'' każdy zbiór formuł <math>\{q_1',\ldots,q_m'\}</math>, gdzie <math>q_i'</math> jest albo <math>q_i</math> lub <math>\neg q_i</math>. Zauważmy, że <math>0</math>-zbiór jest pusty. | |||
Udowodnimy następującą własność: dla każdego <math>m</math> spełniającego <math>0\leq m\leq n</math>, | |||
jeśli <math>\Delta</math> jest <math>m</math>-zbiorem, to <math>\Delta\vdash_H\var\varphi</math>. | |||
Zauważmy, że biorąc <math>m=0</math> w ([[#eq-zda-3a|2]]) dostajemy tezę | |||
twierdzenia. Dowód ([[#eq-zda-3a|2]]) przeprowadzimy przez indukcję ze | |||
\ | względu na <math>m</math> w zbiorze <math>\{0,\ldots,n\}</math>uporządkowanym relacją <math>\leq^{-1}</math>. Dla <math>m=n</math> własność ([[#eq-zda-3a|2]]) wynika z Lematu [[#le-zda-2|6.1]] oraz z faktu, że <math>\var\varphi</math> jest tautologią. Załóżmy, że ([[#eq-zda-3a|2]]) zachodzi dla pewnego <math>0<m< n</math> i niech <math>\Delta</math> będzie dowolnym <math>(m-1)</math>-zbiorem. Z założenia indukcyjnego dostajemy | ||
<math>\Delta,q_{m}\vdash_H\var\varphi</math> | |||
oraz | oraz | ||
Zatem na mocy Lematu | <math>\Delta,\neg q_{m}\vdash_H\var\varphi</math>. | ||
\ | |||
Zatem na mocy Lematu [[#le-zda-2aa|6.2]] dostajemy | |||
<math>\vdash_H\var\varphi</math>. | |||
To kończy dowód ([[#eq-zda-3a|2]]) i tym samym dowód twierdzenia o pełności. | |||
}} | }} | ||
Korzystając z Lematu | Korzystając z Lematu [[#le-zda-2a|5.6]] natychmiast dostajemy twierdzenie o | ||
pełności dla systemu <math>\vdash_{H^+}</math> ze | pełności dla systemu <math>\vdash_{H^+}</math> ze wszystkimi spójnikami zdaniowymi. | ||
{{twierdzenie||tw-zda-3a| | {{twierdzenie|6.4 (o pełności <math>\vdash_{H^+}</math>)|tw-zda-3a| | ||
Jeśli <math>\var\varphi</math> jest tautologią, to <math>\vdash_{H^+}\var\varphi</math>. | Jeśli <math>\var\varphi</math> jest tautologią, to <math>\vdash_{H^+}\var\varphi</math>. | ||
}} | }} | ||
{{dowod|| | {{dowod||| | ||
Ponieważ <math>\vdash_{H^+}\var\varphi\arr\tilde{\var\varphi}</math>, więc z twierdzenia o poprawności wynika, że <math>\models\var\varphi\arr\tilde{\var\varphi}</math>. A zatem <math>\tilde{\var\varphi}</math> jest tautologią. Z twierdzenia o pełności dla | |||
Ponieważ | systemu <math>\vdash_H</math> dostajemy <math>\vdash_H\tilde{\var\varphi}</math>. Stąd <math>\vdash_{H^+}\tilde{\var\varphi}</math> i ponieważ <math>\vdash_{H^+}\tilde{\var\varphi}\arr\var\varphi</math> (por. Lemat [[#le-zda-2a|5.6]]) więc stosując (MP) dostajemy <math>\vdash_{H^+}\tilde{\var\varphi}</math> | ||
<math>\vdash_{H^+}\var\varphi\arr\tilde{\var\varphi}</math>, więc z twierdzenia o poprawności | |||
wynika, że | |||
<math>\tilde{\var\varphi}</math> jest tautologią. Z twierdzenia o pełności dla | |||
systemu <math>\vdash_H</math> dostajemy <math>\vdash_H\tilde{\var\varphi}</math>. Stąd | |||
<math>\vdash_{H^+}\tilde{\var\varphi}</math> i ponieważ | |||
<math>\vdash_{H^+}\tilde{\var\varphi}\arr\var\varphi</math> (por. Lemat | |||
stosując (MP) dostajemy <math>\vdash_{H^+}\tilde{\var\varphi}</math> | |||
}} | }} | ||
===Elementy teorii modeli=== | ===Elementy teorii modeli=== | ||
Powiemy, że zbiór formuł <math>\Delta </math> jest | Powiemy, że zbiór formuł <math>\Delta</math> jest ''spełnialny'' gdy | ||
istnieje wartościowanie <math>\varrho: | istnieje wartościowanie <math>\varrho:\mbox{\small ZZ}\arr \{0,1\}</math> spełniające wszystkie formuły ze zbioru <math>\Delta</math>. | ||
formuły ze zbioru <math>\Delta</math>. | |||
{{twierdzenie||tw-zda-5| | {{twierdzenie|6.5|tw-zda-5| | ||
Zbiór formuł <math>\Delta</math> jest spełnialny wtedy i tylko wtedy, gdy każdy skończony podzbiór zbioru <math>\Delta</math> jest spełnialny. | |||
Zbiór formuł <math>\Delta</math> jest spełnialny | |||
podzbiór zbioru <math>\Delta</math> jest spełnialny. | |||
}} | }} | ||
{{dowod|eq-zda-3| | {{dowod||eq-zda-3| | ||
Powiemy, że zbiór <math>\Delta</math> jest ''skończenie spełnialny'', gdy | |||
Powiemy, że zbiór <math>\Delta</math> jest | |||
każdy skończony podzbiór zbioru <math>\Delta</math> jest spełnialny. | każdy skończony podzbiór zbioru <math>\Delta</math> jest spełnialny. | ||
Szkic | Szkic dowodu twierdzenia o zwartości wygląda następująco. Bez zmniejszenia ogólności możemy przyjąć, że wszystkie rozważane formuły są zbudowane przyużyciu jedynie spójników <math>\rightarrow</math> oraz <math>\bot</math>. | ||
dowodu twierdzenia o zwartości wygląda następująco. Bez | Używając lematu Kuratowskiego-Zorna pokazujemy najpierw, że istnieje maksymalny | ||
zmniejszenia ogólności możemy przyjąć, że wszystkie rozważane | skończenie spełnialny zbiór formuł <math>\Gamma</math> zawierający <math>\Delta</math>. Oczywiście mamy | ||
formuły są zbudowane przyużyciu jedynie spójników <math>\ | |||
<math>\bot</math>. | |||
Używając | |||
lematu Kuratowskiego-Zorna pokazujemy najpierw, że istnieje maksymalny | |||
skończenie spełnialny zbiór formuł <math>\Gamma</math> zawierający <math>\Delta</math>. | |||
Oczywiście mamy | |||
<math>\bot\not\in\Gamma. | |||
</math> | |||
\ | Ponadto, dla dowolnej formuły <math>\var\varphi</math> mamy jeśli | ||
<math>\var\varphi\not\in\Gamma</math>, to math>\neg\var\varphi\in\Gamma</math>. | |||
Istotnie, jeśli <math>\var\varphi</math> oraz <math>\neg\var\varphi</math> nie należą do <math>\Gamma</math>, to istnieją skończone zbiory <math>X,Y\subseteq\Gamma</math>, takie że <math>X\cup\{\var\varphi\}</math> oraz | |||
<math>Y\cup\{\neg\var\varphi\}</math> nie są spełnialne. Wynika stąd, że zbiory wartościowań spełniających <math>X</math> oraz <math>Y</math> są rozłączne. Tak więc <math>X\cup Y</math> nie jest spełnialny, a otrzymana sprzeczność dowodzi ([[#eq-zda-2a|4]]). | |||
Istotnie, jeśli <math>\var\varphi</math> oraz <math>\neg\var\varphi</math> nie należą do <math>\Gamma</math>, | |||
to istnieją | |||
skończone zbiory <math>X,Y\subseteq\Gamma</math>, takie że <math>X\cup\{\var\varphi\}</math> oraz | |||
<math>Y\cup\{\neg\var\varphi\}</math> nie są spełnialne. Wynika stąd, że zbiory wartościowań | |||
spełniających <math>X</math> oraz <math>Y</math> są rozłączne. Tak więc <math>X\cup Y</math> nie jest | |||
spełnialny, a otrzymana sprzeczność dowodzi ([[#eq-zda-2a]]). | |||
Zatem dla dowolnych formuł <math>\var\varphi,\psi</math>, | |||
(\var\varphi\ | |||
\hspace{.5cm} \var\varphi\not\in\Gamma | <math>(\var\varphi\rightarrow\psi)\in\Gamma \hspace{.5cm}</math> wtedy i tylko wtedy, gdy | ||
<math>\hspace{.5cm} \var\varphi\not\in\Gamma</math> lub <math>\psi\in\Gamma. | |||
</math> | |||
<math>\psi\not\in\Gamma</math>, to <math>\neg\psi\in\Gamma</math> na mocy ([[#eq-zda-2a]]). | |||
Wówczas | Rzeczywiście, jeśli <math>(\var\varphi\rightarrow\psi)</math> i <math>\var\varphi</math> należą do <math>\Gamma</math> oraz <math>\psi\not\in\Gamma</math>, to <math>\neg\psi\in\Gamma</math> na mocy ([[#eq-zda-2a|4]]). | ||
podzbiorem <math>\Gamma</math> co dowodzi | Wówczas niespełnialny | ||
w ([[#eq-zda-2]]). Na odwrót, jeśli <math>(\var\varphi\arr\psi)\not\in\Gamma</math>, to na | zbiór <math>\{(\var\varphi\rightarrow\psi),\var\varphi,\neg\psi\}</math> jest | ||
mocy ([[#eq-zda-2a]]) mamy <math>\neg(\var\varphi\ | podzbiorem <math>\Gamma</math> co dowodzi dowodzi z lewej do prawej w ([[#eq-zda-2|5]]). Na odwrót, jeśli <math>(\var\varphi\arr\psi)\not\in\Gamma</math>, to na | ||
mocy ([[#eq-zda-2a|4]]) mamy <math>\neg(\var\varphi\rightarrow\psi)\in\Gamma</math>. | |||
\neg\var\varphi\}</math> | Jeśli teraz <math>\psi\in\Gamma</math> to niespełnialny zbiór | ||
<math>\{\neg(\var\varphi\rightarrow\psi), \psi\}</math> | |||
jest podzbiorem <math>\Gamma</math>. Podobnie, jeśli | |||
<math>\varphi\not\in\Gamma</math>, to | |||
<math>\neg\varphi\in\Gamma</math>, więc | |||
<math>\{\neg(\var\varphi\rightarrow\psi), | |||
\neg\var\varphi\}\subseteq\Gamma</math>, co kończy dowód ([[#eq-zda-2|5]]). | |||
Teraz możemy zdefiniować wartościowanie <math>\varrho: | Teraz możemy zdefiniować wartościowanie <math>\varrho:\mbox{\small ZZ}\rightarrow \{0,1\}</math> tak, że dla dowolnej zmiennej <math>p\in \mbox{\small ZZ}</math> warunki <math>\varrho(p)=1</math> i <math>p\in\Gamma</math> są równoważne. Z następującej własności wynika, że | ||
dla dowolnej zmiennej <math>p\in | <math>\varrho</math> spełnia wszystkie formuły ze zbioru <math>\Gamma</math>, a zatem <math>\Delta</math> jest zbiorem spełnialnym. | ||
są równoważne. Z następującej własności wynika, że | |||
<math>\varrho</math> spełnia wszystkie formuły | |||
ze zbioru <math>\Gamma</math>, a zatem <math>\Delta</math> jest zbiorem spełnialnym. | |||
Dla dowolnej formuły <math>\var\varphi</math>, | Dla dowolnej formuły <math>\var\varphi</math>, <math>\models\var\varphi[\varrho] \hspace{.5cm} \mbox{ wtedy i tylko wtedy, gdy } \hspace{.5cm} | ||
\models\var\varphi[\varrho] \hspace{.5cm} \mbox{ | \var\varphi\in \Gamma</math>. | ||
\var\varphi\in \Gamma. | |||
Dowód ([[#eq-zda-3|6]]) przeprowadzamy przez indukcję ze względu na | |||
Dowód ([[#eq-zda-3]]) przeprowadzamy przez indukcję ze względu na | budowę formuły <math>\var\varphi</math>. Własności ([[#eq-zda-1|3]])używamy w przypadku gdy <math>\var\varphi</math> jest <math>\bot</math>, a własności | ||
budowę formuły <math>\var\varphi</math>. Własności ([[#eq-zda-1]])używamy w | ([[#eq-zda-2|5]]) w przypadku, gdy zewnętrznym spójnikiem <math>\var\varphi</math> jest <math>\rightarrow</math>. | ||
przypadku gdy <math>\var\varphi</math> jest <math>\bot</math>, a własności | |||
([[#eq-zda-2]]) w przypadku, gdy zewnętrznym spójnikiem <math>\var\varphi</math> | |||
jest <math>\ | |||
}} | }} | ||
{{przyklad||| | {{przyklad|6.6|| | ||
Podamy przykład zastosowania twierdzenia o zwartości. Pokażemy, że jeśli nieskończonej mapy (o przeliczalnej liczbie krajów) nie da się pokolorować przy pomocy <math>k</math> kolorów, to istnieje skończony fragment tej mapy, którego też nie da się pokolorować przy pomocy <math>k</math> kolorów. Niech <math>I</math> będzie zbiorem krajów tej mapy. Rozważmy zmienne zdaniowe <math>p_{i,j}</math>, gdzie <math>i\in I</math> oraz <math>j<k</math>. Wartościowania będą odpowiadać kolorowaniom mapy. Intencją jest to, aby wartościowanie przypisywało zmiennej <math>p_{i,j}</math> wartość <math>1</math> wtedy i tylko wtedy, gdy kraj <math>i</math> ma na mapie kolor <math>j</math>. Poniższe formuły przedstawiają podstawowe warunki dotyczące kolorowania. | |||
Każdy kraj ma jakiś kolor: dla każdego <math>i\in I</math> wyraża to formuła | |||
<math>p_{i,0}\vee p_{i,1}\vee\ldots\vee p_{i,k-1}</math>. | |||
Każdy kraj ma co najwyżej jeden kolor: dla każdego <math>i\in I</math>, oraz | Każdy kraj ma co najwyżej jeden kolor: dla każdego <math>i\in I</math>, oraz | ||
każdych <math>i,j<k</math>, jeśli <math>j\neq j'</math> to mamy formułę | każdych <math>i,j<k</math>, jeśli <math>j\neq j'</math> to mamy formułę | ||
<math>\neg(p_{i,j}\wedge p_{i,j'})</math>. | |||
Każde dwa sąsiadujące kraje mają różne kolory: dla <math>i,i'\in I</math> | Każde dwa sąsiadujące kraje mają różne kolory: dla <math>i,i'\in I</math> | ||
takich, że <math>i</math> oraz <math>i'</math> sąsiadują oraz dla każdego <math>j<k</math> rozważmy formułę | takich, że <math>i</math> oraz <math>i'</math> sąsiadują oraz dla każdego <math>j<k</math> rozważmy formułę | ||
Niech <math>\Delta</math> będzie zbiorem wszystkich formuł przedstawionych wyżej. | <math>\neg(p_{i,j}\wedge p_{i',j})</math>. | ||
Łatwo jest zauważyć, że <math>\Delta</math> jest spełnialny | |||
gdy mapę da się pokolorować <math>k</math> kolorami. Zatem jeśli mapy nie da się | Niech <math>\Delta</math> będzie zbiorem wszystkich formuł przedstawionych wyżej. Łatwo jest zauważyć, że <math>\Delta</math> jest spełnialny wtedy i tylko wtedy, gdy mapę da się pokolorować <math>k</math> kolorami. Zatem jeśli mapy nie da się pokolorować <math>k</math> kolorami, to <math>\Delta</math> nie jest spełnialny i z twierdzenia o zwartości wynika, że istnieje skończony podzbiór <math>\Delta_0</math>, który nie jest spełnialny. Wówczas fragmentu mapy zawierającego kraje wymienione w indeksach zmiennych występujących w | ||
pokolorować <math>k</math> kolorami to <math>\Delta</math> nie jest spełnialny i z | |||
twierdzenia o zwartości wynika, że istnieje skończony podzbiór | |||
<math>\Delta_0</math>, który nie jest spełnialny. Wówczas fragmentu mapy | |||
zawierającego kraje wymienione w indeksach zmiennych występujących w | |||
formułach z <math>\Delta_0</math> nie da się pokolorować przy pomocy <math>k</math> kolorów. | formułach z <math>\Delta_0</math> nie da się pokolorować przy pomocy <math>k</math> kolorów. | ||
}} | }} | ||
Jako wniosek z twierdzenia o zwartości otrzymujemy następujące | Jako wniosek z twierdzenia o zwartości otrzymujemy następujące | ||
wzmocnienie twierdzenia o pełności (por. Twierdzenie [[#tw-zda-3a]]). | wzmocnienie twierdzenia o pełności (por. Twierdzenie [[#tw-zda-3a|6.4]]). | ||
{{twierdzenie||tw-zda-4| | {{twierdzenie|6.7 ("Silne" twierdzenie o pełności)|tw-zda-4| | ||
Dla dowolnego zbioru formuł <math>\Delta</math> oraz dowolnej formuły <math>\var\varphi</math>, jeśli <math>\var\varphi</math> jest semantyczną konsekwencją zbioru <math>\Delta</math>, to <math>\Delta\vdash_{H^+}\var\varphi</math>. | |||
Dla dowolnego zbioru formuł <math>\Delta</math> oraz dowolnej formuły <math>\var\varphi</math>, jeśli | |||
<math>\var\varphi</math> jest semantyczną konsekwencją zbioru <math>\Delta</math>, to | |||
<math> | |||
}} | }} | ||
{{dowod|| | {{dowod||| | ||
Jeśli <math>\Delta\models\var\varphi</math> to zbiór <math>\Delta\cup\{\neg\var\varphi\}</math> nie jest spełnialny. Na mocy twierdzenia o zwartości istnieje skończony podzbiór <math>\Delta_0\subseteq\Delta</math> taki, że <math>\Delta_0\cup\{\neg\var\varphi\}</math> nie jest spełnialny. Zatem | |||
Jeśli <math>\Delta\models\var\varphi</math> to zbiór <math>\Delta\cup\{\neg\var\varphi\}</math> nie | |||
jest spełnialny. Na mocy twierdzenia o zwartości istnieje | |||
skończony podzbiór <math>\Delta_0\subseteq\Delta</math> taki, że | |||
<math>\Delta_0\cup\{\neg\var\varphi\}</math> nie jest spełnialny. Zatem | |||
<math>\Delta_0\models\var\varphi</math>. Tak więc jeśli | <math>\Delta_0\models\var\varphi</math>. Tak więc jeśli | ||
<math>\Delta_0=\{\psi_1,\ldots,\psi_n\}</math> to oczywiście formuła | <math>\Delta_0=\{\psi_1,\ldots,\psi_n\}</math> to oczywiście formuła | ||
<math>\psi_1\ | <math>\psi_1\rightarrow(\psi_2\righrarrow\cdots\righrarrow(\psi_n\righrarrow\var\varphi)\cdots)</math> jest tautologią. Z twierdzenia o pełności wnioskujemy, że</math>\vdash_{H^+} | ||
tautologią. Z twierdzenia o pełności wnioskujemy, że </math>\vdash_{H^+} | \psi_1\righrarrow(\psi_2\arr\cdots\righrarrow(\psi_n\righrarrow\var\varphi)\cdots)</math>. Stosując <math>n</math> razy (MP) do powyższej formuły dostajemy | ||
\psi_1\ | <math>\Delta_0\vdash_{H^+}\var\varphi</math>. | ||
razy (MP) do powyższej formuły dostajemy | Tak więc <math>\vdash_{H^+}\var\varphi</math>, co kończy dowód twierdzenia. | ||
Tak więc <math> | |||
}} | }} | ||
Powiemy, że zbiór formuł <math>\Delta</math> jest | Powiemy, że zbiór formuł <math>\Delta</math> jest ''sprzeczny'', gdy | ||
<math> | <math>vdash_H\bot</math>. Zbiór, który nie jest sprzeczny nazwiemy ''niesprzecznym''. Oto nieco inne sformułowanie "silnego" twierdzenia | ||
niesprzecznym | |||
o pełności: | o pełności: | ||
{{twierdzenie||| | {{twierdzenie|6.8|| | ||
Zbiór formuł jest spełniony wtedy i tylko wtedy, gdy jest niesprzeczny. | |||
}} | }} | ||
<math>\Delta\not\models\bot</math>. A zatem teza wynika z Twierdzeń [[#poprawnosc]] | {{dowod||| | ||
i [[#tw-zda-4]], jeśli przyjmiemy <math>\var\varphi=\bot</math>. | Zauważmy, że zbiór formuł <math>\Delta</math> jest ''sprzeczny'', gdy <math>\Delta\not\models\bot</math>. A zatem teza wynika z Twierdzeń [[#poprawnosc|5.5]] | ||
i [[#tw-zda-4|6.7]], jeśli przyjmiemy <math>\var\varphi=\bot</math>. | |||
}} | }} | ||
A | A oto twierdzenie o pełności dla rachunku sekwentów i naturalnej dedukcji. | ||
i naturalnej dedukcji. | |||
{{wniosek|6.9|nieboraj| | |||
Jeśli <math>\Delta\models\var\varphi</math> to <math>e_G\var\varphi</math> oraz | Jeśli <math>\Delta\models\var\varphi</math> to <math>e_G\var\varphi</math> oraz | ||
<math>e_{N}\var\varphi</math>. | <math>e_{N}\var\varphi</math>. | ||
}} | }} | ||
{{dowod|| | {{dowod||| | ||
Natychmiast z Twierdzeń 5.8, 5.9 i [[#tw-zda-4|6.7]]. | |||
i [[#tw-zda-4]]. | }} | ||
}} | |||
Aktualna wersja na dzień 10:30, 5 wrz 2023
Pełność rachunku zdań
Zagadnienie pełności systemów formalnych jest jednym z centralnych problemów logiki. O ile poprawność systemu formalnego (zwana też adekwatnością) oznacza, że wszystkie twierdzenia systemu są prawdziwe względem przyjętej semantyki, to pełność jest własnością mówiącą o tym, że każda formuła prawdziwa daje się udowodnić w systemie. Jest wiele różnych dowodów twierdzenia o pełności dla rachunku zdań. My podamy elegancki dowód pochodzący od L. Kalmára. Dla udowodnienia nieco silniejszej wersji twierdzenia o pełności (Twierdzenie 6.7) wykorzystamy silne i bardzo pożyteczne Twierdzenie 6.5 zwane twierdzeniem o zwartości.
Lemat 6.1 (Kalmár)
Niech Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} będzie formułą zbudowaną przy użyciu oraz , o zmiennych zawartych w zbiorze i niech Parser nie mógł rozpoznać (błąd składni): {\displaystyle \varrho:\mbox{\small ZZ}\rightarrow\{0,1\}} będzie dowolnym wartościowaniem. Dla definiujemy formuły:
Niech Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi'} będzie formułą identyczną z Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} , jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \models\var\varphi[\varrho]} , w przeciwnym razie niech Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi'} oznacza formułę Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \neg\var\varphi} . Wówczas
Dowód
Dowód jest prowadzony przez indukcję ze względu na budowę formuły Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} . Jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest zmienną to Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi'=q_i'} . Zatem trywialnie zachodzi Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \{q_1',\ldots,q_n'\}\vdash\var\varphi'} .
Jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest stałą , to Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi'=\neg\bot} i oczywiście dla dowolnego wyboru zachodzi
.
Załóżmy teraz, że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest postaci Parser nie mógł rozpoznać (nieznana funkcja „\arr”): {\displaystyle \psi\arr\vartheta} i rozważmy następujące przypadki.
(A) .
Wówczas Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi'=\var\varphi} oraz . Z założenia indukcyjnego mamy . Zatem . Z Lematu 5.4(2) mamy Parser nie mógł rozpoznać (nieznana funkcja „\arr”): {\displaystyle \{q_1',\ldots,q_n'\},\psi\vdash_H\bot\arr\vartheta} . Zatem, stosując (MP) dostajemy i z twierdzenia o dedukcji
Parser nie mógł rozpoznać (nieznana funkcja „\varaphi”): {\displaystyle \{q'_1,\ldots,q'_n\}\vdash_H\psi\rightarrow\varaphi} .
(B) .
Wówczas Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi'=\var\varphi} , oraz . Z założenia indukcyjnego mamy . Zatem i z twierdzenia o dedukcji dostajemy
Parser nie mógł rozpoznać (nieznana funkcja „\varaphi”): {\displaystyle \{q'_1,\ldots,q'_n\}\vdash_H\psi\rightarrow\varaphi} .
(C) oraz .
Wówczas Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi'=\neg\var\varphi.\ \psi'=\psi} oraz . Z założenia indukcyjnego mamy
oraz
Z Lematu 5.4(1) mamy
Stosując teraz dwukrotnie (MP) dostajemy
To kończy dowód lematu.

Lemat 6.2
Dla dowolnego zbioru formuł i dla dowolnych formuł Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} i , jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta,\var\varphi\vdash_H \psi} oraz Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta,\neg\var\varphi\vdash_H \psi} , to .
Dowód
Jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta,\var\varphi\vdash_H \psi} to na mocy twierdzenia o dedukcji mamy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \vdash_H \var\varphi\arr\psi} . Podobnie dostajemy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \vdash_H\neg\var\varphi\arr\psi} . Stosując Lemat 5.4(3), oraz dwukrotnie regułę odrywania dostajemy .

Lemat Kalmára odgrywa kluczową rolę w dowodzie poniższego twierdzenia o pełności.
Twierdzenie 6.3 (o pełności dla )
Jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest tautologią zbudowaną przyużyciu oraz , to Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \vdash_H\var\varphi} .
Dowód
Załóżmy, że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest tautologią. Niech będą wszystkimi zmiennymi występującymi w Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} . Dla dowolnej liczby nazwiemy -zbiorem każdy zbiór formuł , gdzie jest albo lub . Zauważmy, że -zbiór jest pusty.
Udowodnimy następującą własność: dla każdego spełniającego , jeśli jest -zbiorem, to Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta\vdash_H\var\varphi} .
Zauważmy, że biorąc w (2) dostajemy tezę twierdzenia. Dowód (2) przeprowadzimy przez indukcję ze względu na w zbiorze uporządkowanym relacją . Dla własność (2) wynika z Lematu 6.1 oraz z faktu, że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest tautologią. Załóżmy, że (2) zachodzi dla pewnego i niech będzie dowolnym -zbiorem. Z założenia indukcyjnego dostajemy
Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta,q_{m}\vdash_H\var\varphi} oraz
Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta,\neg q_{m}\vdash_H\var\varphi} .
Zatem na mocy Lematu 6.2 dostajemy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \vdash_H\var\varphi} . To kończy dowód (2) i tym samym dowód twierdzenia o pełności.

Korzystając z Lematu 5.6 natychmiast dostajemy twierdzenie o pełności dla systemu ze wszystkimi spójnikami zdaniowymi.
Twierdzenie 6.4 (o pełności )
Jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest tautologią, to Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \vdash_{H^+}\var\varphi} .
Dowód
Ponieważ Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \vdash_{H^+}\var\varphi\arr\tilde{\var\varphi}} , więc z twierdzenia o poprawności wynika, że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \models\var\varphi\arr\tilde{\var\varphi}} . A zatem Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \tilde{\var\varphi}} jest tautologią. Z twierdzenia o pełności dla systemu dostajemy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \vdash_H\tilde{\var\varphi}} . Stąd Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \vdash_{H^+}\tilde{\var\varphi}} i ponieważ Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \vdash_{H^+}\tilde{\var\varphi}\arr\var\varphi} (por. Lemat 5.6) więc stosując (MP) dostajemy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \vdash_{H^+}\tilde{\var\varphi}}

Elementy teorii modeli
Powiemy, że zbiór formuł jest spełnialny gdy istnieje wartościowanie Parser nie mógł rozpoznać (błąd składni): {\displaystyle \varrho:\mbox{\small ZZ}\arr \{0,1\}} spełniające wszystkie formuły ze zbioru .
Twierdzenie 6.5
Zbiór formuł jest spełnialny wtedy i tylko wtedy, gdy każdy skończony podzbiór zbioru jest spełnialny.
Dowód
Powiemy, że zbiór jest skończenie spełnialny, gdy każdy skończony podzbiór zbioru jest spełnialny.
Szkic dowodu twierdzenia o zwartości wygląda następująco. Bez zmniejszenia ogólności możemy przyjąć, że wszystkie rozważane formuły są zbudowane przyużyciu jedynie spójników oraz . Używając lematu Kuratowskiego-Zorna pokazujemy najpierw, że istnieje maksymalny skończenie spełnialny zbiór formuł zawierający . Oczywiście mamy
Ponadto, dla dowolnej formuły Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} mamy jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi\not\in\Gamma} , to math>\neg\var\varphi\in\Gamma</math>.
Istotnie, jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} oraz Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \neg\var\varphi} nie należą do , to istnieją skończone zbiory , takie że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle X\cup\{\var\varphi\}} oraz Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle Y\cup\{\neg\var\varphi\}} nie są spełnialne. Wynika stąd, że zbiory wartościowań spełniających oraz są rozłączne. Tak więc nie jest spełnialny, a otrzymana sprzeczność dowodzi (4).
Zatem dla dowolnych formuł Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi,\psi}
,
Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle (\var\varphi\rightarrow\psi)\in\Gamma \hspace{.5cm}} wtedy i tylko wtedy, gdy Parser nie mógł rozpoznać (błąd składni): {\displaystyle \hspace{.5cm} \var\varphi\not\in\Gamma} lub
Rzeczywiście, jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle (\var\varphi\rightarrow\psi)} i Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} należą do oraz , to na mocy (4). Wówczas niespełnialny zbiór Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \{(\var\varphi\rightarrow\psi),\var\varphi,\neg\psi\}} jest podzbiorem co dowodzi dowodzi z lewej do prawej w (5). Na odwrót, jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle (\var\varphi\arr\psi)\not\in\Gamma} , to na mocy (4) mamy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \neg(\var\varphi\rightarrow\psi)\in\Gamma} . Jeśli teraz to niespełnialny zbiór Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \{\neg(\var\varphi\rightarrow\psi), \psi\}} jest podzbiorem . Podobnie, jeśli , to , więc Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \{\neg(\var\varphi\rightarrow\psi), \neg\var\varphi\}\subseteq\Gamma} , co kończy dowód (5).
Teraz możemy zdefiniować wartościowanie Parser nie mógł rozpoznać (błąd składni): {\displaystyle \varrho:\mbox{\small ZZ}\rightarrow \{0,1\}} tak, że dla dowolnej zmiennej Parser nie mógł rozpoznać (błąd składni): {\displaystyle p\in \mbox{\small ZZ}} warunki i są równoważne. Z następującej własności wynika, że spełnia wszystkie formuły ze zbioru , a zatem jest zbiorem spełnialnym.
Dla dowolnej formuły Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} , Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \models\var\varphi[\varrho] \hspace{.5cm} \mbox{ wtedy i tylko wtedy, gdy } \hspace{.5cm} \var\varphi\in \Gamma} .
Dowód (6) przeprowadzamy przez indukcję ze względu na budowę formuły Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} . Własności (3)używamy w przypadku gdy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest , a własności (5) w przypadku, gdy zewnętrznym spójnikiem Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest .

Przykład 6.6
Podamy przykład zastosowania twierdzenia o zwartości. Pokażemy, że jeśli nieskończonej mapy (o przeliczalnej liczbie krajów) nie da się pokolorować przy pomocy kolorów, to istnieje skończony fragment tej mapy, którego też nie da się pokolorować przy pomocy kolorów. Niech będzie zbiorem krajów tej mapy. Rozważmy zmienne zdaniowe , gdzie oraz . Wartościowania będą odpowiadać kolorowaniom mapy. Intencją jest to, aby wartościowanie przypisywało zmiennej wartość wtedy i tylko wtedy, gdy kraj ma na mapie kolor . Poniższe formuły przedstawiają podstawowe warunki dotyczące kolorowania.
Każdy kraj ma jakiś kolor: dla każdego wyraża to formuła
.
Każdy kraj ma co najwyżej jeden kolor: dla każdego , oraz każdych , jeśli to mamy formułę
.
Każde dwa sąsiadujące kraje mają różne kolory: dla takich, że oraz sąsiadują oraz dla każdego rozważmy formułę
.
Niech będzie zbiorem wszystkich formuł przedstawionych wyżej. Łatwo jest zauważyć, że jest spełnialny wtedy i tylko wtedy, gdy mapę da się pokolorować kolorami. Zatem jeśli mapy nie da się pokolorować kolorami, to nie jest spełnialny i z twierdzenia o zwartości wynika, że istnieje skończony podzbiór , który nie jest spełnialny. Wówczas fragmentu mapy zawierającego kraje wymienione w indeksach zmiennych występujących w formułach z nie da się pokolorować przy pomocy kolorów.
Jako wniosek z twierdzenia o zwartości otrzymujemy następujące wzmocnienie twierdzenia o pełności (por. Twierdzenie 6.4).
Twierdzenie 6.7 ("Silne" twierdzenie o pełności)
Dla dowolnego zbioru formuł oraz dowolnej formuły Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} , jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi} jest semantyczną konsekwencją zbioru , to Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta\vdash_{H^+}\var\varphi} .
Dowód
Jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta\models\var\varphi} to zbiór Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta\cup\{\neg\var\varphi\}} nie jest spełnialny. Na mocy twierdzenia o zwartości istnieje skończony podzbiór taki, że Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta_0\cup\{\neg\var\varphi\}} nie jest spełnialny. Zatem Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta_0\models\var\varphi} . Tak więc jeśli to oczywiście formuła Parser nie mógł rozpoznać (nieznana funkcja „\righrarrow”): {\displaystyle \psi_1\rightarrow(\psi_2\righrarrow\cdots\righrarrow(\psi_n\righrarrow\var\varphi)\cdots)} jest tautologią. Z twierdzenia o pełności wnioskujemy, że</math>\vdash_{H^+} \psi_1\righrarrow(\psi_2\arr\cdots\righrarrow(\psi_n\righrarrow\var\varphi)\cdots)</math>. Stosując razy (MP) do powyższej formuły dostajemy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta_0\vdash_{H^+}\var\varphi} . Tak więc Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \vdash_{H^+}\var\varphi} , co kończy dowód twierdzenia.

Powiemy, że zbiór formuł jest sprzeczny, gdy . Zbiór, który nie jest sprzeczny nazwiemy niesprzecznym. Oto nieco inne sformułowanie "silnego" twierdzenia o pełności:
Twierdzenie 6.8
Zbiór formuł jest spełniony wtedy i tylko wtedy, gdy jest niesprzeczny.
Dowód
Zauważmy, że zbiór formuł jest sprzeczny, gdy . A zatem teza wynika z Twierdzeń 5.5 i 6.7, jeśli przyjmiemy Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \var\varphi=\bot} .

A oto twierdzenie o pełności dla rachunku sekwentów i naturalnej dedukcji.
Wniosek 6.9
Jeśli Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle \Delta\models\var\varphi} to Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle e_G\var\varphi} oraz Parser nie mógł rozpoznać (nieznana funkcja „\var”): {\displaystyle e_{N}\var\varphi} .
Dowód
Natychmiast z Twierdzeń 5.8, 5.9 i 6.7.
