まず、私は校正自体に戻ってきてください。
HALT_TMは
決定不能である任意のマシンは、文字列の形式をとる記述されていると仮定する。 HALT_TM = {<M, w>| M is a TM and M halts on input w}
、およびA_TM = {<M,w>| M is a TM and accepts w}
とします。ここで私はA_TM
が決定不能であることを知っていると仮定しています(証明は対角化で行い、チューリングマシンよりも多くの言語があり、特定のTMだけが1つの言語を決定するので、いくつかの言語は決定されません)。
矛盾して、HALT_TM
が決定可能であると仮定します。つまり、この言語にはデシリアのD
が処分されます。それでを決める機械M
を作ることができます。 D
は、リジェクト、そうでない場合はw
上M'
を実行する場合、入力<M',w>
に実行D
:入力
<M', w>
で、
M
は、次の処理を行い(
D
が拒否していなかったので、それは我々が知っている、停止するまで!)
M'
が受け入れる場合は受け入れ、拒否する場合は拒否します。あなたが実際には必ずしも<M>
自体、M
に有効な任意のマシン記述M'
を養う:
があり、私たちは今、あなたの質問の核心は、当社の仮定
ユニバーサルチューリング機械
と矛盾を参照してください。 TMと「プログラム」は実際には同等であることを覚えておいてください。詳細はanswerをご覧ください。同じ回答を引用すると、「チューリングマシンはアルゴリズムの正式なアナログです」です。 Turing Machineの強力な機能の1つは、文字列としてエンコードでき、別のチューリングマシン(「Universal Turing Machine」と呼ばれます)がそれらを実行できるようにすることです。与えられたマシンはアルゴリズムなので、実際にあなたの "トップレベル" TMプログラムとあなたの選択の入力を与えていることがわかります。