tex.SEについてのコメントは不思議に思いました。ステートメントは基本的に次のとおりです。
言語Xで言語Xのコンパイラを作成できる場合、Xはチューリング完全です。
計算可能性と形式言語の用語では、これは次のとおりです。
場合決定した及び、次いで。L ⊆ L T M ⟨ M ⟩ ∈ L F L = R E
ここで、はすべてのチューリングマシンエンコーディングの言語を示し、はマシンによって計算された関数のセットを示します。 F L L
これは本当ですか?
tex.SEについてのコメントは不思議に思いました。ステートメントは基本的に次のとおりです。
言語Xで言語Xのコンパイラを作成できる場合、Xはチューリング完全です。
計算可能性と形式言語の用語では、これは次のとおりです。
場合決定した及び、次いで。L ⊆ L T M ⟨ M ⟩ ∈ L F L = R E
ここで、はすべてのチューリングマシンエンコーディングの言語を示し、はマシンによって計算された関数のセットを示します。 F L L
これは本当ですか?
回答:
次のプログラミング言語で示されているように、非公式のステートメントは真実ではありません。ASCII文字の文字列はすべて有効なプログラムであり、すべてのプログラムの意味は「入力のコピーを出力するだけのプログラムを出力する」です。したがって、この言語のすべてのプログラムは言語のコンパイラですが、言語はチューリング完全ではありません。
あなたの「計算可能性理論バージョン」が同等であるかどうかはわかりませんが、それは真実でもありません。クリーネの第二の再帰定理、任意のチューリングマシンのコーディングのために、独自のコーディングを受け入れ、他のすべてを拒否TMがあります。1このマシンは命題の反例です。より具体的には、コーディングを選択することで結果を達成できます。たとえば、すべての奇数番号が「入力が奇数の場合は受け入れ、それ以外の場合は拒否」で定義されたマシン 使用し、チューリングマシンの好みのコーディングスキームででコード化されたマシンを 数値 コーディングします。 はが受け入れる 言語 が、X ⟨L M F L はチューリング完全ではありません。
1 Kleeneの2番目の再帰定理は、部分再帰関数の列挙(つまり、プログラムを整数としてコーディングする場合)および部分再帰関数 、 がをマッピングする関数であるような整数 があります。したがって、特に場合に受け入れ、そうでない場合に拒否する関数とします。定理により、プログラムをコードする整数 があります。つまり、は独自のコーディング受け入れます Q (X 、Y )P φ P Y Q (P 、Y )Q X = Y P φ P(Y )= Q (P 、Y )φ P P 他のすべての入力を拒否します。