Краткая версия: выходные данные машин не являются правильными или неправильными, они просто противоречивы, что доказывает, что исходная машина, которая решает , останавливается ли машина ввода в данной строке или нет, не может существовать.
Длинная версия : Сначала мы набросаем доказательство (или хотя бы одну его версию - их много).
- Предположим, что у нас есть машина Тьюринга которая решает, останавливается ли машина Тьюринга на входе или нет.М хН Л Т (⟨М⟩ , Х )Mx
- Используя мы создаем машину которая использует чтобы проверить, останавливается ли на или нет, затем делает обратное, то есть, если останавливается на , зацикливается, если не останавливается на , останавливается.Р Л Я Р ( ⟨ М ⟩ , х ) Н л Т М х М х Ж Л Я Р М х F L I PHALTFLIP(⟨M⟩,x)HALTMxMxFLIPMxFLIP
- Наконец, мы создаем TM (у меня закончились хорошие имена), который берет описание TM и запускает с вводом , выводит все, что выводит .Р Л Я Р ( ⟨ М ⟩ , ⟨ М ⟩ ) Р л я РC(⟨M⟩)FLIP(⟨M⟩,⟨M⟩)FLIP
Важно отметить, что до тех пор, пока существует decider , каждый из этих шагов прост в реализации; просто должен использовать чтобы проверить, что делать, и просто дублирует свой ввод для передачи в .F L I P H A L T C F L I PHALTFLIPHALTCFLIP
Противоречие возникает, когда мы смотрим на то, что происходит, когда мы запускаем . Либо останавливается, когда задается как ввод, либо нет. решит это:С Н Л ТC(⟨C⟩)CHALT
- Если останавливается на входе , скажет , но тогда будет зацикливаться, поэтому будет зацикливаться противоречащий . ⟨ С ⟩ Н Л Т Y Е сек Р л я Р С Н Л ТC⟨C⟩HALTYesFLIPCHALT
- Если зацикливается на входе , скажет , но тогда остановится, поэтому также будет остановка, противоречащая . ⟨ C ⟩ Н Л Т Н О Р Л Я Р C H A L TC⟨C⟩HALTNoFLIPCHALT
Поскольку каждый из этапов в построении является четким, мы можем только заключить, что не может существовать; мы построили случай, когда независимо от того, что он говорит, не может решить, что выводить, то есть проблема неразрешима. Просто чтобы немного поразмыслить над этим, не может существовать - то есть не может быть ТМ, решающего проблему остановки - потому что есть хотя бы один случай, который мы явно создали, где нет логически возможный ответ. Помните, что решающее лицо не может выводить неправильный ответ и должно что-то выводить, но в случае, если мы построили, оба возможных ответа неверны.H A L T H A L THALTHALTHALT