简短版本:机器的输出不正确或不正确,它们只是矛盾的,这证明了决定输入机器是否在给定字符串上暂停的初始机器不存在。
长版本:首先,我们将草绘证明(或至少一个版本-有很多)。
- 假设我们有一个图灵机来确定图灵机是否在输入停止。HALT(⟨M⟩,x)Mx
- 使用构造一台机器,该机器使用检查上的是否停止,然后执行相反的操作,即,如果上的停止,循环,如果不在停止,停止。HALTFLIP(⟨M⟩,x)HALTMxMxFLIPMxFLIP
- 最后,我们创建一个TM(我跑了好名字了),这需要一个TM和运行的描述与输入,输出任何输出。C(⟨M⟩)FLIP(⟨M⟩,⟨M⟩)FLIP
重要的是要注意,只要决策者存在,这些步骤中的每个步骤都易于实现;只需使用来检查要做什么,而只需复制其输入以传递给。HALTFLIPHALTCFLIP
当我们查看运行会发生什么时,就会出现矛盾。任一当给定的本身为输入或不暂停。将决定以下内容:C(⟨C⟩)CHALT
- 如果在输入上停止,会说,但是会循环,因此会循环,与矛盾。C⟨C⟩HALTYesFLIPCHALT
- 如果在输入上循环,将说,但是将停止,因此也将停止停顿,与矛盾。C⟨C⟩HALTNoFLIPCHALT
由于构造过程中的每个步骤都很明确,因此我们只能得出不存在的结论。我们已经构造了一个案例,无论说什么,都无法决定输出什么,即问题无法确定。只是要稍微敲一下一点,不存在-就是说无法确定暂停问题的TM-因为至少有一种情况我们已经明确构造了,逻辑上可能的答案。请记住,决策者不允许输出错误的答案,而必须输出某些内容,但是在我们构造的情况下,两个可能的答案都是错误的。HALTHALTHALT