『ゲーデルと20世紀の論理学2』を読んでいる者です。今回は、ヤン・ウカシェヴィチによる命題論理の3つの公理図式からなる公理系において、二重否定除去律「」が定理であることを完全性定理を使わずに示します。
背景
「」の具体的な証明が想像できなかったので、取り組んでみたらとても感動したので書きます。もちろん、証明の存在自体は、命題論理の一般化された完全性定理によって示されています。
定義
定義2.20、定義2.21は『ゲーデルと20世紀の論理学2』から引用した。
ウカシェヴィチによる公理系は以下の3つからなる。
\begin{align}
P1.&\quad A \rightarrow (B \rightarrow A)。\\
P2.&\quad (A \rightarrow (B \rightarrow C) ) \rightarrow ( (A \rightarrow B) \rightarrow (A \rightarrow C) )。\\
P3.&\quad (\neg B \rightarrow \neg A ) \rightarrow (A \rightarrow B )。
\end{align}は任意の命題であるから、この3つは公理図式(公理の集合)である。
定義2.20 命題論理の定理はつぎのように定義される。
(1)公理は定理である。
(2)とが定理なら、も定理である(三段論法)。
定義2.21 命題の列が以下の条件を満たしているとき、その列をの証明という。各について、
(1)は公理()であるか、
(2)が存在してはである。
......(省略)......
補足
「が定理である」ことと「の証明が存在する」ことは同値である。が定理であることをと書く。理論(追加の公理)の上でが定理であることをと書く。その他は、本書を参照してほしい。
例
例として、「」の証明を具体的に示す。
2020/8/22追記:の部分は何でもよい。
\begin{align}
A_0:&\quad A\rightarrow ( (X\rightarrow A)\rightarrow A)。&(P1)\\
A_1:&\quad (A\rightarrow ( (X\rightarrow A)\rightarrow A) ) \rightarrow ( (A \rightarrow (X \rightarrow A) )\rightarrow (A \rightarrow A) )。&(P2)\\
A_2:&\quad (A\rightarrow(X\rightarrow A) ) \rightarrow (A \rightarrow A)。&(A_0,A_1)\\
A_3:&\quad A \rightarrow ( X \rightarrow A )。&(P1)\\
A_4:&\quad A \rightarrow A。&(A_3,A_2)
\end{align}
本題
「」が定理であることを具体的に示す。
導出
例の「」が定理であることはに適当に当てはめれば示せたが、「」はそうもいかない。
そこで、演繹定理「」とその証明を利用する。
演繹定理の証明をやってみると気付くのが、、からが導けることである(を使う)。また、上の例での証明を見ている。この2つより、理論におけるの具体的な証明から理論なしのの具体的な証明が機械的に構成できることが示せる。
証明
\begin{align}
\{\neg\neg A\}&\vdash \neg\neg A、&\\
\{\neg\neg A\}&\vdash \neg\neg\neg\neg A \rightarrow \neg\neg A、&(P1と三段論法)\\
\{\neg\neg A\}&\vdash \neg A \rightarrow \neg\neg\neg A、&(P3と三段論法)\\
\{\neg\neg A\}&\vdash \neg\neg A \rightarrow A、&(P3と三段論法)\\
\{\neg\neg A\}&\vdash A&(三段論法)
\end{align}であるから、
\begin{align}
&\vdash \neg\neg A \rightarrow \neg\neg A、\\
&\vdash \neg\neg A \rightarrow (\neg\neg\neg\neg A \rightarrow \neg\neg A)、\\
&\vdash \neg\neg A \rightarrow (\neg A\rightarrow \neg\neg\neg A)、\\
&\vdash \neg\neg A \rightarrow (\neg\neg A \rightarrow A)、\\
&\vdash \neg\neg A \rightarrow A
\end{align}が証明の通過地点となる。これから具体的な証明を得ることは容易である。その証明列は長くなるが、書いてみることにする。これは要するに、機械語でFizzBuzzをするようなものである。をくるくる回すように使う。からは、の証明に二重否定がついただけである。上に示した証明の通過点に該当する命題の番号には、を付けた。
\begin{align}
A_0:&\quad (\neg\neg\neg\neg A \rightarrow \neg\neg A) \rightarrow (\neg A \rightarrow \neg\neg\neg A)、&(P3)\\
A_1:&\quad ( (\neg\neg\neg\neg A \rightarrow \neg\neg A) \rightarrow (\neg A \rightarrow \neg\neg\neg A))\\
&\rightarrow (\neg\neg A \rightarrow ( (\neg\neg\neg\neg A \rightarrow \neg\neg A) \rightarrow (\neg A \rightarrow \neg\neg\neg A)))、&(P1)\\
A_2:&\quad \neg\neg A \rightarrow ( (\neg\neg\neg\neg A \rightarrow \neg\neg A) \rightarrow (\neg A \rightarrow \neg\neg\neg A))、&(A_0,A_1)\\
A_3:&\quad (\neg\neg A \rightarrow ( (\neg\neg\neg\neg A \rightarrow \neg\neg A) \rightarrow (\neg A \rightarrow \neg\neg\neg A)))\\
& \rightarrow ( (\neg\neg A \rightarrow (\neg\neg\neg\neg A \rightarrow \neg\neg A))\rightarrow (\neg\neg A \rightarrow (\neg A \rightarrow \neg\neg\neg A)))、&(P2)\\
A_4:&\quad (\neg\neg A \rightarrow (\neg\neg\neg\neg A \rightarrow \neg\neg A))\rightarrow (\neg\neg A \rightarrow (\neg A \rightarrow \neg\neg\neg A))、&(A_2,A_3)\\
A_5*:&\quad \neg\neg A \rightarrow (\neg\neg\neg\neg A \rightarrow \neg\neg A)、&(P1)\\
A_6*:&\quad \neg\neg A \rightarrow (\neg A \rightarrow \neg\neg\neg A)、&(A_5,A_4)\\
A_7:&\quad (\neg A \rightarrow \neg\neg\neg A)\rightarrow(\neg\neg A \rightarrow A)、&(P3)\\
A_8:&\quad ( (\neg A \rightarrow \neg\neg\neg A)\rightarrow(\neg\neg A \rightarrow A))\rightarrow \\
&(\neg\neg A \rightarrow ( (\neg A \rightarrow \neg\neg\neg A)\rightarrow(\neg\neg A \rightarrow A)))、&(P1)\\
A_9:&\quad \neg\neg A \rightarrow ( (\neg A \rightarrow \neg\neg\neg A)\rightarrow(\neg\neg A \rightarrow A))、&(A_7,A_8)\\
A_{10}:&\quad (\neg\neg A \rightarrow ( (\neg A \rightarrow \neg\neg\neg A)\rightarrow(\neg\neg A \rightarrow A))) \\
&\rightarrow ( (\neg\neg A \rightarrow (\neg A \rightarrow \neg\neg\neg A)) \rightarrow (\neg\neg A \rightarrow (\neg\neg A \rightarrow A)) )、&(P2)\\
A_{11}:&\quad(\neg\neg A \rightarrow (\neg A \rightarrow \neg\neg\neg A)) \rightarrow (\neg\neg A \rightarrow (\neg\neg A \rightarrow A))、&(A_9,A_{10})\\
A_{12}*:&\quad \neg\neg A \rightarrow (\neg\neg A \rightarrow A)、&(A_6,A_{11})\\
A_{13}:&\quad (\neg\neg A \rightarrow (\neg\neg A \rightarrow A)) \\
&\rightarrow ( (\neg\neg A \rightarrow \neg\neg A) \rightarrow (\neg\neg A \rightarrow A) )、&(P2)\\
A_{14}:&\quad (\neg\neg A \rightarrow \neg\neg A) \rightarrow (\neg\neg A \rightarrow A)、&(A_{12},A_{13})\\
A_{15}:&\quad \neg\neg A\rightarrow ( (X\rightarrow \neg\neg A)\rightarrow \neg\neg A)、&(P1)\\
A_{16}:&\quad (\neg\neg A\rightarrow ( (X\rightarrow \neg\neg A)\rightarrow \neg\neg A) ) \rightarrow ( (\neg\neg A \rightarrow (X \rightarrow \neg\neg A) )\rightarrow (\neg\neg A \rightarrow \neg\neg A) )、&(P2)\\
A_{17}:&\quad (\neg\neg A\rightarrow(X\rightarrow \neg\neg A) ) \rightarrow (\neg\neg A \rightarrow \neg\neg A)、&(A_{15},A_{16})\\
A_{18}:&\quad \neg\neg A \rightarrow ( X \rightarrow \neg\neg A )、&(P1)\\
A_{19}*:&\quad \neg\neg A \rightarrow \neg\neg A、&(A_{18},A_{17})\\
A_{20}*:&\quad \neg\neg A \rightarrow A。&(A_{19},A_{14})\\
\end{align}
終わり