MathLabs

解法: MRDP定理:ディオファントス集合は帰納的可算集合と一致する(1970年)

ステップ 8/9: 停止問題:リスト化可能だが決定可能ではない集合
ざっくり言うと

任意の他のプログラムのコードを見て、それを永遠に走らせることなく、事前に、そのプログラムがいずれ停止するか永遠に走り続けるかを正しく予測するマスターチェッカープログラムを書こうとすることを想像してほしい。Alan Turingは1936年、巧妙な自己言及的トリックによって、すべてのプログラムに対して同時に機能するそのようなマスターチェッカーは決して存在しえないことを証明した。

それでも「自分自身のコード上で停止するプログラム」の集合はなおリスト化可能である:プログラムを文字通り走らせて停止するのを待つことで常に「はい、停止する」を確認できるが、どんな固定された時間内でも「いいえ、決して停止しない」を確信することは決してできない。これは、帰納的可算だが決定可能ではない集合の具体例であり、MRDP定理により、それはすでにディオファントスでなければならない。

K={e:program e halts on input e},K is r.e. but not decidable (Turing, 1936)K = \{ e : \text{program } e \text{ halts on input } e \}, \quad K \text{ is r.e. but not decidable (Turing, 1936)}
詳しい解説

Alan Turingは、計算可能数についての1936年の基礎的論文において、計算の精密な数学的モデル(Turingマシン)を定義し、対角線的で自己言及的な議論を用いて、停止問題が決定不能であることを証明した:集合 K={e:Φe(e)↓}K = \{ e : \Phi_e(e){\downarrow} \}(自分自身のコードを入力として走らせたとき停止するプログラムのコード ee)には、すべての ee について成員性を正しく決定するアルゴリズムが存在しない。

それでも KK は帰納的可算である:アルゴリズムはプログラム ee を入力 ee 上で一段階ずつシミュレートし、シミュレーションが停止すればそのとき ee を出力すればよい。e∉Ke \notin K の場合は単に決して終了しないので、成員性を確認することはできるが、決して確実に反証することはできない。KK はr.e.だが決定可能ではない集合の代表例であり、本質的にあらゆる古典的な決定不能性の結果は何らかの形でこれに帰着する。

前のステップで証明されたMRDP定理により、帰納的可算である KK はそれ自体ディオファントスでなければならない:ある多項式 PP が存在して e∈K  ⟺  ∃x1,…,xn P(e,x1,…,xn)=0e \in K \iff \exists x_1, \ldots, x_n\, P(e, x_1, \ldots, x_n) = 0 となる。これはまさに、Turingの決定不能性の結果をヒルベルトの第十問題へと移すために最後のステップが必要とする帰着を設定するものである。

このステップの用語
決定可能(帰納的)集合
すべての入力に対して停止し、成員性に応じて正しく「はい」または「いいえ」を出力するアルゴリズムが存在する集合のこと。単に帰納的可算であることよりも厳密に強い。
停止問題
与えられたプログラムが与えられた入力で停止するかどうかという問い。Turingは1936年、単一のアルゴリズムがすべてのプログラムと入力についてこの問いに正しく答えることはできないと証明した。
このステップで使う知識