証明論

同義語:proof theory

概要

証明論(proof theory)とは、形式化した証明(導出)とその証明可能性を数学の対象として研究する数理論理学の分野である。公理系の強さの比較、カット除去や正規化のような導出の正規形、導出から計算や構成の情報を取り出すこと、無矛盾性の証明とその限界などを扱い、Gentzen は Peano 算術の無矛盾性を順序数 $\varepsilon_0$ までの超限帰納法で示して順序数解析を始めた。代表的な結果の 1 つである Gödel–Gentzen の否定翻訳は、古典論理の導出を、各部分に否定を入れた式の直観主義論理での導出に移し、これにより Peano 算術の無矛盾性は Heyting 算術の無矛盾性に帰着する。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 一階述語論理, 自然演繹, 直観主義論理, 無矛盾性

数学の証明は、ふつうは言葉と式で書かれ、読み手を納得させるためのものである。一方、一階述語論理 のような形式言語と推論規則を決めれば、証明は規則に従って並べた記号の有限の配列(導出)として厳密に定義でき、それ自体を数学の対象として調べられる。証明論(proof theory)は、このように形式化した証明と証明可能性を研究する 数理論理学 の分野である。
証明論の主な仕事は、次の 4 つにまとめられる(Bus98 p. 2)。数学の証明を形式化するのに適した論理と公理系を立て、どの結果がどの公理から従うか(体系の強さ)を調べること。導出の構造を調べ、正規形などの構文的な事実を示すこと。導出から、定理が正しいという以上の情報(計算や構成の情報)を取り出すこと。導出をどう効率よく作るかを調べること。この記事では、証明論の基本的な概念を定義し、代表的な問いと結果を見取り図にしたうえで、古典論理の導出を直観主義論理の導出に移す Gödel–Gentzen の否定翻訳 を完全に証明し、そこから古典的な Peano 算術の無矛盾性が直観主義的な Heyting 算術の無矛盾性に帰着することを導く。最後に、正本の記事をどの順に読めばよいかを示す。

基本的な概念

一階論理の証明体系 の記事の定義「証明体系・導出・証明可能性」のとおり、証明体系は、論理公理と、機械的に判定できる推論規則からなり、文の集合 $\Gamma$ から $A$ が導出できることを $\Gamma\vdash A$ と書く。証明体系には、公理を多くとり規則を前件肯定だけにする Hilbert流の証明体系、仮定を置いて外す規則で組み立てる 自然演繹、シークエント $\Gamma\Rightarrow\Delta$ を扱う シークエント計算 などの流儀がある。$\Gamma$ が 矛盾 するとは、ある $\varphi$ で $\Gamma\vdash\varphi$ かつ $\Gamma\vdash\lnot\varphi$ となることであり、そうでないとき 無矛盾 という(無矛盾性 の記事の定義「無矛盾性」)。$\bot$ を記号にもつ自然演繹では、規則 $\lnot\mathrm E$ と $\bot_{\mathrm I}$ により、これは $\Gamma\vdash\bot$ と同値である。
証明論では、2 つの理論の強さを導出の変換で比べる。

証明論的還元と保存拡大

$T,S$ を理論(文の集合)とし、それぞれに証明体系を固定する。

  1. $T$ が $S$ に 証明論的に還元される とは、$T$ からの $\bot$ の導出を $S$ からの $\bot$ の導出に移す計算可能な手続きがあることをいう。このとき、$S$ が無矛盾なら $T$ も無矛盾である。
  2. $T\subset T'$ で、文の集合 $\Phi$ が $T$ の言語の文からなるとする。$\Phi$ のどの文 $\sigma$ についても $T'\vdash\sigma$ なら $T\vdash\sigma$ となるとき、$T'$ は $T$ の $\Phi$ 保存拡大 であるという。$\Phi$ が $T$ の言語の文全体のとき、単に 保存拡大 という。

1 の「計算可能な手続き」とは、導出の形だけを見て別の導出を組み立てる方法が具体的に与えられていることを指す。モデルを作って無矛盾性を示す方法(無矛盾性 の記事の例「Peano 算術」)は、モデルの存在を保証する強い理論の中で議論するので、この意味の還元ではない。

代表的な問いと結果

問い代表的な結果扱う記事・文献
導出に正規形があるかGentzen の基本定理(カット除去定理)、命題論理での証明シークエント計算
自然演繹の正規化($\land,\to$ の部分)GLT89 第 3・4 章
導出から情報を取り出せるか直観主義論理の選言の性質シークエント計算
型付き λ 計算との対応(Curry–Howard)型理論、GLT89 第 3 章
理論の無矛盾性を示せるか第 2 不完全性定理による限界Gödelの不完全性定理
$\varepsilon_0$ までの超限帰納法による PA の無矛盾性Rat06 §1.1
理論どうしの強さの比較古典算術から直観主義算術への否定翻訳この記事の thm-pt-pa-ha
二階算術の部分体系による定理の分類逆数学

正規形とカット除去 シークエント計算 の記事は、補題を使う推論にあたるカットの規則を除いても導出できるものが変わらないという Gentzen の基本定理を述べ、命題論理の場合を証明している。カットのない導出には結論の部分論理式しか現れないので、体系の無矛盾性や選言の性質が導出の形だけから分かる(同記事の系「LK の無矛盾性」、定理「LJ の選言の性質」)。カット除去は証明論の中心の定理とみなされている(Bus98 p. 3)。自然演繹では、導入規則の直後に同じ論理記号の除去規則を使う回り道を取り除く操作が対応し、$\land$ と $\to$ だけの部分では、型付き λ 計算の正規化定理として証明される(GLT89 §3.5 p. 19、§4.2–4.3 pp. 24–26)。
無矛盾性の証明と順序数 Hilbert は、数学を形式化し、その無矛盾性を有限的な方法で証明することを目指した(Hilbert のプログラム、Rat06 pp. 45–46)。Gödelの不完全性定理 の第 2 定理は、$\mathsf Q$ を含む無矛盾な決定可能な公理系が、適当な条件のもとで自分の無矛盾性を証明できないことを示し、この目標に限界を与えた。Gentzen は 1936 年に、PA の無矛盾性が、初等的に計算可能な述語についての順序数 $\varepsilon_0=\sup\{\omega,\omega^\omega,\omega^{\omega^\omega},\dots\}$ までの超限帰納法と有限的な推論から証明できることを示し、さらに PA が、算術の論理式で書ける述語について、$\varepsilon_0$ 未満の各順序数までの超限帰納法を証明することを示した(Rat06 p. 47。この記事では証明しない)。このように理論の強さを順序数で測る研究を 順序数解析 という。有限的な推論に、初等的に計算可能な述語についての $\alpha$ までの超限帰納法を加えて理論 $T$ の無矛盾性が証明できる最小の $\alpha$ は、$T$ の 証明論的順序数 の 1 つの定め方である(同所の式 (2))。PA では、上の Gentzen の 2 つの結果と第 2 不完全性定理により、これは $\varepsilon_0$ になる。
体系の比較 強い理論の導出を弱い理論や別の論理の導出に移す変換は、def-pt-reduction の意味で強さを比べる方法である。以下では、その最も基本的な例である否定翻訳を証明する。

主定理:古典論理から直観主義論理への否定翻訳

設定

一階言語 $L$ を固定し、固有変数に使う定数記号が無限に多くあるとする。導出は 自然演繹 の記事の規則(命題の規則と節「量化記号の規則」)による。導出に現れるのは文で、$\bot$ は論理記号、$\lnot$ は規則 $\lnot\mathrm I$・$\lnot\mathrm E$ をもつ基本の記号である。規則すべてを使う体系を $\mathbf{NK}$(古典論理)、そこから背理法の規則 $\bot_{\mathrm C}$ を除いた体系を $\mathbf{NJ}$(直観主義論理)とよび、導出可能性をそれぞれ $\Gamma\vdash_{\mathrm c}A$、$\Gamma\vdash_{\mathrm i}A$ と書く。$B\leftrightarrow C$ は $(B\to C)\land(C\to B)$ の略記とする。$\mathbf{NJ}$ の導出は $\mathbf{NK}$ の導出でもあるので、$\Gamma\vdash_{\mathrm i}A$ なら $\Gamma\vdash_{\mathrm c}A$ である。$\mathbf{NJ}$ で次の式が導出できることを繰り返し使う(どれも数行の導出である)。
$$ \text{(i)}\ B\to\lnot\lnot B,\qquad \text{(ii)}\ \lnot\lnot\lnot B\to\lnot B,\qquad \text{(iii)}\ (B\to C)\to(\lnot C\to\lnot B),\qquad \text{(iv)}\ (B\to C)\to(\lnot\lnot B\to\lnot\lnot C). $$

(i)〜(iv) の導出を開く

(i):$B$ と $\lnot B$ を仮定すると $\lnot\mathrm E$ で $\bot$、$\lnot\mathrm I$ で $\lnot B$ を外して $\lnot\lnot B$、$\to\mathrm I$ で $B$ を外す。(iii):$B\to C$、$\lnot C$、$B$ を仮定すると $\to\mathrm E$ で $C$、$\lnot\mathrm E$ で $\bot$、$\lnot\mathrm I$ で $B$ を外して $\lnot B$、$\to\mathrm I$ を 2 回使う。(ii):$\lnot\lnot\lnot B$ と $B$ を仮定する。(i) により $\lnot\lnot B$ なので、$\lnot\mathrm E$ で $\bot$、$\lnot\mathrm I$ で $B$ を外して $\lnot B$ を得る。(iv):(iii) を 2 回使う。$B\to C$ から $\lnot C\to\lnot B$、それに (iii) を使って $\lnot\lnot B\to\lnot\lnot C$ を得る。

否定翻訳

Gödel–Gentzen の否定翻訳

論理式 $A$ の 否定翻訳 $A^N$ を、組み立てに沿って次で定める($P$ は $\bot$ 以外の原子論理式)。
$$ P^N:=\lnot\lnot P,\qquad \bot^N:=\bot,\qquad (\lnot B)^N:=\lnot B^N,\qquad (B\land C)^N:=B^N\land C^N,\qquad (B\to C)^N:=B^N\to C^N, $$
$$ (B\lor C)^N:=\lnot(\lnot B^N\land\lnot C^N),\qquad (\forall x\,B)^N:=\forall x\,B^N,\qquad (\exists x\,B)^N:=\lnot\forall x\,\lnot B^N. $$
文の集合 $\Gamma$ について $\Gamma^N:=\{\gamma^N\mid\gamma\in\Gamma\}$ とおく。

古典論理では $\lnot\lnot P$ と $P$、$B\lor C$ と $\lnot(\lnot B\land\lnot C)$、$\exists x\,B$ と $\lnot\forall x\,\lnot B$ はそれぞれ同値なので、$A^N$ は $A$ を「否定を使って言い直した」式である。$A^N$ には $\lor$ と $\exists$ が現れず、原子論理式はすべて二重否定の中にある。この翻訳は、Bus98 §3.1.4(p. 67)の翻訳に $\bot^N:=\bot$ を加えたものである。OLT26 §24.5(p. 377)は、$\lor$ と $\exists$ を $\lnot\lnot(B^N\lor C^N)$、$\lnot\lnot\exists x\,B^N$ と訳す変種を述べ、Theorem 24.3・24.4 として下の lem-pt-basic の 2 と thm-pt-negative の前半にあたる主張を(証明なしで)挙げている。

翻訳の基本性質
  1. $A^N$ と $A$ の自由変数は同じであり、項 $t$ が $A$ の $x$ に代入可能なら、$t$ は $A^N$ の $x$ に代入可能で $(A[t/x])^N=A^N[t/x]$ である。とくに $A(x)$ と閉項 $t$ について $(A(t))^N=A^N(t)$ である。
  2. すべての文 $A$ について $\vdash_{\mathrm c}A\leftrightarrow A^N$ である。

1:翻訳は原子論理式に $\lnot\lnot$ を付け、$\lor$・$\exists$ を同じ変数を束縛する $\lnot,\land,\forall$ の組み合わせに置き換えるだけで、項にも量化する変数にも手を触れない。したがって、自由変数と代入可能性は変わらず、代入と翻訳の順序を入れ替えても同じ論理式になる。$A$ の組み立てについての帰納法で、各場合の定義を見比べれば確かめられる。
2:論理記号の個数についての帰納法で示す。要点は、原子論理式・$\lor$・$\exists$ の 3 つの場合に古典論理の同値 $\lnot\lnot P\leftrightarrow P$、$(B\lor C)\leftrightarrow\lnot(\lnot B\land\lnot C)$、$\exists x\,B\leftrightarrow\lnot\forall x\,\lnot B$ を使い、ほかの場合は帰納法の仮定の同値を部分に当てはめることである。

詳しい証明を開く

$\bot$ では両辺が同じである。原子論理式 $P$ では、$P\to\lnot\lnot P$ は (i)、逆は $\lnot\lnot P$ と $\lnot P$ から $\bot$ を出して $\bot_{\mathrm C}$ で $P$ を得る。$\lnot,\land,\to$ の場合は、帰納法の仮定 $\vdash_{\mathrm c}B\leftrightarrow B^N$、$\vdash_{\mathrm c}C\leftrightarrow C^N$ から、各結合子の導入・除去規則で $(\lnot B)\leftrightarrow\lnot B^N$ などが導出できる。$B\lor C$ では、まず $(B\lor C)\leftrightarrow(B^N\lor C^N)$ を同じように導き、次に古典論理の同値 $(B^N\lor C^N)\leftrightarrow\lnot(\lnot B^N\land\lnot C^N)$(右から左は、左辺の否定を仮定して $\lnot B^N$ と $\lnot C^N$ を $\lor\mathrm I$ と $\lnot\mathrm I$ で得て矛盾を出し、$\bot_{\mathrm C}$ を使う)を合わせる。$\forall x\,B(x)$ では、$A$ に現れない定数記号 $a$ をとると、$B(a)$ は $A$ より論理記号が少ないので帰納法の仮定により $\vdash_{\mathrm c}B(a)\leftrightarrow B^N(a)$(1 により $(B(a))^N=B^N(a)$)である。$\forall x\,B(x)$ を仮定して $\forall\mathrm E$ で $B(a)$、同値から $B^N(a)$、$\forall\mathrm I$ で $\forall x\,B^N(x)$ を得る($a$ は開いた仮定にも結論にも現れない)。逆も同じである。$\exists x\,B(x)$ では、同じように $\exists x\,B(x)\leftrightarrow\exists x\,B^N(x)$ を導き、古典論理の同値 $\exists x\,B^N\leftrightarrow\lnot\forall x\,\lnot B^N$(右から左は、$\lnot\exists x\,B^N$ を仮定すると $\exists\mathrm I$ と $\lnot\mathrm I$ と $\forall\mathrm I$ で $\forall x\,\lnot B^N$ が出て矛盾するので $\bot_{\mathrm C}$ を使う)を合わせる。 $\square$

翻訳した式の安定性

すべての文 $A$ について $\vdash_{\mathrm i}\lnot\lnot A^N\to A^N$ である。

論理記号の個数についての帰納法

$A$ の論理記号の個数についての帰納法で、場合を分ける。

  • $A$ が $\bot$ 以外の原子論理式:$A^N=\lnot\lnot A$ で、$\lnot\lnot\lnot\lnot A\to\lnot\lnot A$ は (ii) で $B:=\lnot A$ としたものである。
  • $A=\bot$:$\bot$ を仮定し $\lnot\mathrm I$ でそれを外すと $\vdash_{\mathrm i}\lnot\bot$ である。$\lnot\lnot\bot$ を仮定すると $\lnot\mathrm E$ で $\bot$ が出る。
  • $A$ が $\lnot B$、$B\lor C$、$\exists x\,B$:$A^N$ はある式 $D$ の否定 $\lnot D$ であり、$\lnot\lnot\lnot D\to\lnot D$ は (ii) である。
  • $A=B\land C$:$\lnot\lnot(B^N\land C^N)$ を仮定する。$\land\mathrm E$ と $\to\mathrm I$ で得られる $B^N\land C^N\to B^N$ に (iv) を使って $\lnot\lnot B^N$、帰納法の仮定で $B^N$ を得る。$C^N$ も同じで、$\land\mathrm I$ で $B^N\land C^N$ である。
  • $A=B\to C$:$\lnot\lnot(B^N\to C^N)$ と $B^N$ を仮定する。仮定 $B^N$ のもとで $(B^N\to C^N)\to C^N$ が導出できるので、(iv) により $\lnot\lnot C^N$、帰納法の仮定により $C^N$ を得る。$\to\mathrm I$ で $B^N$ を外す。
  • $A=\forall x\,B(x)$:$\lnot\lnot\forall x\,B^N(x)$ を仮定し、$A$ に現れない定数記号 $a$ をとる。$\forall\mathrm E$ と $\to\mathrm I$ で得られる $\forall x\,B^N(x)\to B^N(a)$ に (iv) を使うと $\lnot\lnot B^N(a)$ である。$B(a)$ は $A$ より論理記号が少なく、lem-pt-basic の 1 により $(B(a))^N=B^N(a)$ なので、帰納法の仮定により $B^N(a)$ を得る。開いた仮定 $\lnot\lnot\forall x\,B^N(x)$ にも結論にも $a$ は現れないので、$\forall\mathrm I$ で $\forall x\,B^N(x)$ を得る。
    どの場合も最後に $\to\mathrm I$ で $\lnot\lnot A^N$ を外せばよい。$\square$

$\lnot\lnot B\to B$ は一般の $B$ については $\mathbf{NJ}$ で導出できない(自然演繹 の記事の命題「背理法の規則を除いた体系」)。翻訳した式だけがこの性質をもち、それが背理法の規則 $\bot_{\mathrm C}$ の代わりに働く。

否定翻訳の定理

文の集合 $\Gamma$ と文 $A$ について
$$ \Gamma\vdash_{\mathrm c}A\iff\Gamma^N\vdash_{\mathrm i}A^N. $$
さらに、$\Gamma$ からの $A$ の $\mathbf{NK}$ の導出を、$\Gamma^N$ からの $A^N$ の $\mathbf{NJ}$ の導出に移す計算可能な手続きがある。

導出の組み立てに沿った帰納法

$\Rightarrow$:$\mathbf{NK}$ のすべての導出 $D$ について $\mathrm{Open}(D)^N\vdash_{\mathrm i}\mathrm{concl}(D)^N$ を、$D$ の組み立てに沿った帰納法で示す。各場合に $\mathbf{NJ}$ の導出を具体的に組み立てるので、この証明が求める手続きを与える。以下 $\Delta_j:=\mathrm{Open}(D_j)^N$ と書く。古典論理に固有の規則と、翻訳で形の変わる規則が要所である。

  • $\bot_{\mathrm C}$:$D_1$ は $\bot$ の導出で、帰納法の仮定により $\Delta_1\vdash_{\mathrm i}\bot$ である。$(\lnot A)^N=\lnot A^N$ なので、$\lnot\mathrm I$ で仮定 $\lnot A^N$ を外すと $\lnot\lnot A^N$ が得られ、lem-pt-stable により $A^N$ を得る。開いた仮定は $\mathrm{Open}(D)^N$ に含まれる。
  • $\lor\mathrm E$:帰納法の仮定により、$\Delta_1\vdash_{\mathrm i}\lnot(\lnot A^N\land\lnot B^N)$、仮定 $A^N$ を加えて $C^N$、仮定 $B^N$ を加えて $C^N$ が導出できる。$\lnot C^N$ を仮定すると、2 つ目と 3 つ目から $\lnot\mathrm E$ と $\lnot\mathrm I$ で $\lnot A^N$ と $\lnot B^N$ が得られ、$\land\mathrm I$ と 1 つ目から $\bot$ が出る。$\lnot\mathrm I$ で $\lnot C^N$ を外して $\lnot\lnot C^N$、lem-pt-stable で $C^N$ を得る。
  • $\exists\mathrm E$:帰納法の仮定により、$\Delta_1\vdash_{\mathrm i}\lnot\forall x\,\lnot A^N(x)$ であり、仮定 $A^N(a)$ を加えて $C^N$ が導出できる。$\lnot C^N$ を仮定すると、2 つ目から $\lnot\mathrm I$ で $\lnot A^N(a)$ が得られる。このときの開いた仮定は、$A(a)$ 以外の開いた仮定の翻訳と $\lnot C^N$ で、$a$ はどれにも現れない(固有変数の条件と lem-pt-basic の 1)。$\forall\mathrm I$ で $\forall x\,\lnot A^N(x)$ を得て、1 つ目と $\lnot\mathrm E$ で $\bot$ が出る。あとは $\lor\mathrm E$ と同じく $\lnot\lnot C^N$ から $C^N$ を得る。
    残りの規則は、翻訳が規則の形をそのまま保つか、短い導出で置き換えられる。
    残りの場合を開く

    葉(仮定 $A$ 1 つ)では $\{A^N\}\vdash_{\mathrm i}A^N$ である。$\land\mathrm I$、$\land\mathrm E$、$\to\mathrm I$、$\to\mathrm E$、$\lnot\mathrm I$、$\lnot\mathrm E$ は、翻訳が $\land,\to,\lnot$ と交換するので、帰納法の仮定に同じ規則を使えばよい($\to\mathrm I$・$\lnot\mathrm I$ で外す仮定は $A^N$ になる)。$\bot_{\mathrm I}$:$\bot^N=\bot$ なので、$\bot_{\mathrm I}$ で $A^N$ を得る。$\lor\mathrm I$:$A^N$ から $\lnot(\lnot A^N\land\lnot B^N)$ を導く。$\lnot A^N\land\lnot B^N$ を仮定し、$\land\mathrm E$ で $\lnot A^N$、$\lnot\mathrm E$ で $\bot$、$\lnot\mathrm I$ で仮定を外す。$\forall\mathrm E$:lem-pt-basic の 1 により $(A(t))^N=A^N(t)$ なので、$\forall\mathrm E$ をそのまま使う。$\forall\mathrm I$:翻訳は定数記号を増やさないので、固有変数 $a$ は $\Delta_1$ にも $\forall x\,A^N(x)$ にも現れず、$\forall\mathrm I$ をそのまま使える。$\exists\mathrm I$:$A^N(t)$ から $\lnot\forall x\,\lnot A^N(x)$ を導く。$\forall x\,\lnot A^N(x)$ を仮定し、$\forall\mathrm E$ で $\lnot A^N(t)$、$\lnot\mathrm E$ で $\bot$、$\lnot\mathrm I$ で仮定を外す。


    結論 $A$ の導出で $\mathrm{Open}(D)\subset\Gamma$ なら $\mathrm{Open}(D)^N\subset\Gamma^N$ なので、$\Gamma^N\vdash_{\mathrm i}A^N$ である。
    $\Leftarrow$:$\Gamma^N\vdash_{\mathrm i}A^N$ なら $\Gamma^N\vdash_{\mathrm c}A^N$ である。lem-pt-basic の 2 により、$\Gamma$ の各元 $\gamma$ から $\gamma^N$ が、$A^N$ から $A$ が $\mathbf{NK}$ で導出できるので、導出をつなげて $\Gamma\vdash_{\mathrm c}A$ を得る。$\square$
古典論理と直観主義論理の無矛盾性

文の集合 $\Gamma$ が $\mathbf{NK}$ で無矛盾であることと、$\Gamma^N$ が $\mathbf{NJ}$ で無矛盾であることは同値である。とくに、$\Gamma$ の $\mathbf{NK}$ での無矛盾性は、def-pt-reduction の意味で $\Gamma^N$ の $\mathbf{NJ}$ での無矛盾性に還元される。

$\bot^N=\bot$ なので、thm-pt-negative を $A:=\bot$ に使うと、$\Gamma\vdash_{\mathrm c}\bot\iff\Gamma^N\vdash_{\mathrm i}\bot$ である。導出を移す手続きは thm-pt-negative の後半による。$\square$

命題論理では、古典論理で導出できる式は、全体に二重否定を付けるだけで直観主義論理で導出できる(直観主義論理 の記事の定理「Glivenko の定理」)。述語論理ではそれでは足りず、否定翻訳のように各部分に否定を入れる必要がある(同記事の注意「Glivenko の定理の出典」)。

算術への応用:Peano 算術から Heyting 算術へ

算術の言語 $L_A=\{0,S,+,\cdot,<\}$ に固有変数用の定数記号を無限に加えた言語で導出を考える。この節では等号 $=$ を論理記号とせず 2 項の関係記号として言語に含め、その性質を公理 (E1)・(E2) で与える(自然演繹 の記事の規則には等号の規則がないため)。等号を論理記号とする Peano算術 の記事の $\mathsf{PA}$ とは等号の扱いだけが違い、両者は同じ $L_A$ の文を証明するが((E1)・(E2) は等号の論理で証明でき、逆に等号の論理公理は (E1)・(E2) から導ける)、この記事ではそれを証明せず、以下の $\mathsf{HA}$・$\mathsf{PA}$ はこの節の定義の意味で使う。

Heyting 算術と Peano 算術

次の $L_A$ の文の全体を $\mathrm{Ax}$ とする。

  • (E1) $\forall x\,(x=x)$。
  • (E2) 自由変数が $x,\vec u$ の中にある論理式 $\varphi(x,\vec u)$ と、$x$ とも $\vec u$ とも異なり $\varphi$ の $x$ に代入可能な変数 $y$ についての $\forall x\forall y\forall\vec u\,\bigl(x=y\to(\varphi(x,\vec u)\to\varphi(y,\vec u))\bigr)$。
  • Peano算術 の記事の定義「Peano算術」の公理 1〜8 と帰納法の公理図式。
    $\mathrm{Ax}\vdash_{\mathrm i}\sigma$ を $\mathsf{HA}\vdash\sigma$、$\mathrm{Ax}\vdash_{\mathrm c}\sigma$ を $\mathsf{PA}\vdash\sigma$ と書き、この 2 つの理論を Heyting 算術 $\mathsf{HA}$、Peano 算術 $\mathsf{PA}$ という。公理は同じで、使う論理だけが違う。
公理の翻訳は HA で導出できる

すべての $\sigma\in\mathrm{Ax}$ について $\mathsf{HA}\vdash\sigma^N$ である。

lem-pt-basic の 1 により、翻訳は全称化・代入と交換する。公理ごとに確かめる。以下、$a,b,\dots$ は新しい定数記号で、最後に $\to\mathrm I$ と $\forall\mathrm I$ で全称化する。

  • 帰納法の公理:$\varphi$ についての帰納法の公理の翻訳は、$\varphi^N$ についての帰納法の公理そのものである。$\varphi^N$ も $L_A$ の論理式なので、これは $\mathrm{Ax}$ の元である。
    ほかの公理は、もとの公理から (i)〜(iv) と短い推論で得られる。
    公理ごとの導出を開く
    • (E1)、公理 2・4・5・6・7:$\forall\vec x\,B$($B$ は原子論理式かその否定)の翻訳は $\forall\vec x\,\lnot\lnot B$ か $\forall\vec x\,\lnot\lnot\lnot B'$ で、もとの公理から (i) で得られる。
    • 公理 1:$Sa=Sb\to a=b$ に (iv) を使うと $\lnot\lnot Sa=Sb\to\lnot\lnot a=b$ である。
    • (E2):翻訳は $\lnot\lnot a=b\to(\varphi^N(a,\vec c)\to\varphi^N(b,\vec c))$ の全称化である。$\lnot\lnot a=b$ と $\varphi^N(a,\vec c)$ を仮定する。lem-pt-stable により $\lnot\lnot\varphi^N(b,\vec c)$ を示せばよい。$\lnot\varphi^N(b,\vec c)$ を仮定すると、$\varphi^N$ についての (E2)($\varphi^N$ も自由変数が $x,\vec u$ の中にある $L_A$ の論理式で、lem-pt-basic の 1 により $y$ は $\varphi^N$ の $x$ に代入可能なので、これも $\mathrm{Ax}$ の元である)から、$a=b$ を仮定すれば $\varphi^N(b,\vec c)$ が出て矛盾するので $\lnot a=b$ であり、$\lnot\lnot a=b$ と矛盾する。
    • 公理 3:翻訳は $\lnot\lnot\lnot a=0\to\lnot\forall y\,\lnot\lnot\lnot a=Sy$ の全称化である。(ii) により $\lnot a=0$、公理 3 により $\exists y\,a=Sy$ を得る。$\forall y\,\lnot\lnot\lnot a=Sy$ を仮定すると、$\exists\mathrm E$ で $a=Sb$ をとり、$\forall\mathrm E$ と (ii) で $\lnot a=Sb$ となって $\bot$ が出る。$\lnot\mathrm I$ で仮定を外す。
    • 公理 8:$C(z):=(Sz+a=b)$ とおくと、翻訳は $\bigl(\lnot\lnot a< b\to\lnot\forall z\,\lnot\lnot\lnot C(z)\bigr)\land\bigl(\lnot\forall z\,\lnot\lnot\lnot C(z)\to\lnot\lnot a< b\bigr)$ の全称化である。(ii) と (i) により $\forall z\,\lnot\lnot\lnot C(z)$ と $\forall z\,\lnot C(z)$ は $\mathbf{NJ}$ で同値なので、その形で示す。前半:$\forall z\,\lnot C(z)$ と $a< b$ を仮定すると、公理 8 から $\exists z\,C(z)$、$\exists\mathrm E$ で矛盾するので $\lnot a< b$ であり、$\lnot\lnot a< b$ と矛盾する。よって $\lnot\lnot a< b$ から $\lnot\forall z\,\lnot C(z)$ が出る。後半:$\lnot a< b$ を仮定すると、公理 8 の右から左の向きにより、どの $C(d)$($d$ は新しい定数記号)からも $\exists\mathrm I$ で $a< b$ が出て矛盾するので $\forall z\,\lnot C(z)$ が得られ、仮定 $\lnot\forall z\,\lnot C(z)$ と矛盾する。

    どの場合も、使ったのは $\mathrm{Ax}$ の元と $\mathbf{NJ}$ の規則だけである。$\square$
PA の HA への翻訳

$L_A$ の文 $\sigma$ について、$\mathsf{PA}\vdash\sigma$ なら $\mathsf{HA}\vdash\sigma^N$ である。とくに、$\mathsf{HA}$ が無矛盾なら $\mathsf{PA}$ も無矛盾であり、$\mathsf{PA}$ の無矛盾性は def-pt-reduction の意味で $\mathsf{HA}$ の無矛盾性に還元される。

$\mathsf{PA}\vdash\sigma$ なら、開いた仮定が $\mathrm{Ax}$ の有限個の元 $\gamma_1,\dots,\gamma_k$ である $\mathbf{NK}$ の導出がある。thm-pt-negative により $\{\gamma_1^N,\dots,\gamma_k^N\}\vdash_{\mathrm i}\sigma^N$ であり、$\to\mathrm I$ を $k$ 回使うと、開いた仮定のない $\gamma_1^N\to(\gamma_2^N\to\cdots(\gamma_k^N\to\sigma^N)\cdots)$ の $\mathbf{NJ}$ の導出が得られる。lem-pt-ha-axioms により各 $\gamma_j^N$ は $\mathsf{HA}$ で導出できるので、$\to\mathrm E$ を $k$ 回使って $\mathsf{HA}\vdash\sigma^N$ を得る。
$\sigma:=\bot$ とすると $\bot^N=\bot$ なので、$\mathsf{PA}\vdash\bot$ なら $\mathsf{HA}\vdash\bot$ である。lem-pt-ha-axioms の各導出は公理ごとに具体的に書け、thm-pt-negative の変換は計算可能なので、$\mathsf{PA}$ からの $\bot$ の導出を $\mathsf{HA}$ からの $\bot$ の導出に移す手続きが得られる。$\square$

この結果は、無矛盾性に関する限り、古典論理による算術が直観主義論理による算術より危うくはないことを示している。一方、$\mathsf{HA}$ が無矛盾であること自体は thm-pt-pa-ha からは分からない。純粋な論理についての同じ結論(古典論理と直観主義論理の無矛盾性の同値)は Bus98 p. 68 にある。

反例:条件を外すと成り立たない

$P$ を 1 項の関係記号、$c$ を定数記号とする。

外す条件反例成り立たなくなること
thm-pt-negative の翻訳($\Gamma$ と $A$ をそのまま使う)$\Gamma=\emptyset$、$A=P(c)\lor\lnot P(c)$$\Gamma\vdash_{\mathrm i}A$
def-pt-negative の原子論理式の二重否定($P^N:=P$ に替える)$A=\lnot\lnot P(c)\to P(c)$$\vdash_{\mathrm i}A^N$
thm-pt-pa-ha の $\mathsf{HA}$ の帰納法の公理$\sigma=\forall x\,\lnot(x=Sx)$帰納法の公理を除いた $\mathrm{Ax}$ から $\sigma^N$ が $\mathbf{NJ}$ で導出できること
反例の確かめ

1・2 行目の $A$ は、どちらも $\vdash_{\mathrm c}A$ である(自然演繹 の記事の例「二重否定の除去と排中律」)。2 行目の翻訳では $\lnot$ と $\to$ は形を保つので、翻訳しても $\lnot\lnot P(c)\to P(c)$ のままである。どちらも $\mathbf{NJ}$ で導出できないことは、3 つの値による付値で分かる。

付値による確かめを開く

$H=\{0,\tfrac12,1\}$ と演算 $\min,\max,\Rightarrow$ は 自然演繹 の記事の命題「背理法の規則を除いた体系」の証明と同じとする。各関係記号 $R$ に値 $w_R\in H$ を与え、原子文 $R(t_1,\dots,t_n)$ の値を $w_R$、$w(\bot):=0$ とし、結合子は同じ証明のとおりに広げ、$w(\forall x\,B(x)):=w(\exists x\,B(x)):=w(B(c))$ と定める。原子文の値は項によらないので、論理記号の個数についての帰納法で、$w(B(t))$ はどの閉項 $t$ でも同じ値になる。したがって $\forall\mathrm I$・$\forall\mathrm E$・$\exists\mathrm I$ は値を変えない。$\exists\mathrm E$ では、$m:=w(\mathrm{Open}(D))\le w(\exists x\,B(x))=w(B(a))$ と $\min(m,w(B(a)))\le w(C)$ から $m\le w(C)$ である。命題の規則は同じ証明のとおりなので、$\mathbf{NJ}$ のすべての導出で $w(\mathrm{Open}(D))\le w(\mathrm{concl}(D))$ が成り立ち、開いた仮定のない導出の結論は値 $1$ をとる。$w_P:=\tfrac12$ とすると、$w(\lnot P(c))=0$、$w(P(c)\lor\lnot P(c))=\tfrac12$、$w(\lnot\lnot P(c))=1$、$w(\lnot\lnot P(c)\to P(c))=\tfrac12$ なので、どちらも $\mathbf{NJ}$ で導出できない。


3 行目:$\mathsf{PA}\vdash\sigma$ である($\lnot(x=Sx)$ についての帰納法。Gödelの不完全性定理 の記事の例「「$x=Sx$ となる $x$ はない」という文」の後半の議論は、公理 1・2 と帰納法の公理と $\mathbf{NK}$ の規則だけで書ける)。帰納法の公理を除いた $\mathrm{Ax}$ を $\mathrm{Ax}_0$ とし、$\mathrm{Ax}_0\vdash_{\mathrm i}\sigma^N$ と仮定する。$\mathbf{NJ}$ の導出は $\mathbf{NK}$ の導出なので $\mathrm{Ax}_0\vdash_{\mathrm c}\sigma^N$ であり、lem-pt-basic の 2 により $\mathrm{Ax}_0\vdash_{\mathrm c}\sigma$ である。同じ記事の例のモデル $M=\mathbb N\cup\{\infty\}$($S\infty=\infty$、等号は元の一致)は $\mathsf Q$ の公理と (E1)・(E2) を満たすので $\mathrm{Ax}_0$ のモデルであり、$\mathbf{NK}$ の健全性(自然演繹 の記事の節「量化記号の規則」の最後の段落)により $M\models\sigma$ となる。しかし $M\models\infty=S\infty$ なので矛盾する。よって $\mathrm{Ax}_0\not\vdash_{\mathrm i}\sigma^N$ である。一方 $\mathsf{HA}\vdash\sigma^N$ は thm-pt-pa-ha による。

学ぶ順:正本の記事への道筋

証明論の記事は、おおよそ次の順に読むと前提がそろう。

  1. 論理式と意味論:命題論理 → 一階述語論理 → 論理式(一意読み取り・代入)→ 構造(モデル)。
  2. 証明体系:一階論理の証明体系(健全性・演繹定理)→ Hilbert流の証明体系 → 自然演繹 → シークエント計算(カット除去と部分論理式性)。
  3. 完全性と無矛盾性:無矛盾性 → Gödelの完全性定理 → Herbrandの定理。
  4. 非古典論理:直観主義論理 → 排中律 → 古典論理 → この記事の否定翻訳。
  5. 算術と自己言及:Peano算術 → 原始再帰関数 → Gödel数化 → Gödelの不完全性定理 → Tarskiの真理定義。
  6. 発展:型理論(Curry–Howard の対応)、逆数学(体系の強さによる定理の分類)。

関連項目

参考文献

[1]
Samuel R. Buss, An Introduction to Proof Theory, S. R. Buss (ed.), Handbook of Proof Theory, Studies in Logic and the Foundations of Mathematics 137, Elsevier, 1998, Chapter I, pp. 1–78, 1998, 序(証明論の 4 つの課題)p. 2、カット除去の位置づけ p. 3、§3.1.4(否定翻訳の定義と定理、補題)pp. 66–67、古典論理と直観主義論理の無矛盾性の同値 p. 68
[3]
Michael Rathjen, The art of ordinal analysis, Proceedings of the International Congress of Mathematicians, Madrid, Spain, 2006, Vol. II, European Mathematical Society,, 2006, §1(Hilbert のプログラム)pp. 45–46、§1.1(Gentzen の結果、式 (1)・(2))p. 47

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する