无法确定 TM 是否会覆盖其输入?

Undecidable if TM overwrites its input?

我看到一个声明,假设 TM 是否覆盖了它自己的任何输入是不确定的。

直觉和实际证据是什么?

证明:

构建一台机器 B,将一台机器 A 作为输入,并在不干扰输入字符串(描述 A 的字符串)的情况下对其进行模拟。这个不难。

现在构建机器 CB 的修改版本。如果 A 暂停,C 将覆盖输入字符串;在此之前,它将保持输入字符串不变。

为了确定 C(作用于 A)是否曾经覆盖其输入字符串,必须确定 A 是否曾经停止。但是“A 是否停止”是不可判定的,因此“C 是否会覆盖其输入”也是不可判定的。

直觉:

使用图灵机,几乎任何不容易的事情都是不可能的。