Cómo demostrar la indecidibilidad del problema de detención utilizando la reducción de mapeo

Entonces, se pregunta cómo demostrar que [math] A_ {TM} [/ math] es indecidible usando HALT. Eso es un poco diferente de su declaración de preguntas.

Suponga que tiene una máquina para decidir [matemáticas] A_ {TM} [/ matemáticas]. Sabemos que podemos usar máquinas de Turing para simular otras máquinas de Turing. Así que construyamos uno que ejecute [math] A_ {TM} [/ math] en la entrada [math] \ langle M, w \ rangle [/ math] que obtienes. Luego, a partir de nuestra entrada, construyamos otra máquina [matemática] M ‘[/ matemática] que simule [matemática] M [/ matemática] pero luego invierta la salida, entonces si [matemática] M [/ matemática] devuelve Verdadero, [matemática ] M ‘[/ math] devuelve False, y viceversa. Si [math] M [/ math] no se detiene, tampoco lo hará [math] M ‘[/ math].

Entonces, ahora construimos nuestro solucionador para HALT usando estas piezas: ejecutaremos [math] A_ {TM} [/ math] en [math] \ langle M, w \ rangle [/ math] y [math] \ langle M ‘, w \ rangle [/ math]. Si cualquiera de estos devuelve True, sabemos que [math] M [/ math] se detiene en [math] w [/ math] porque tiene un valor de retorno de True o False. Si devuelve False, sabemos que no puede detenerse, porque no tiene ninguno de los dos posibles valores de retorno. Construir [math] M ‘[/ math] y ejecutar [math] A_ {TM} [/ math] en cada entrada constituyen operaciones de tiempo finito: [math] A_ {TM} [/ math] es una máquina de decisión, así que siempre termina, y nuestra descripción para construir [matemáticas] M ‘[/ matemáticas] también debería hacerlo. Por lo tanto, esto decide HALT, que no puede ser, porque HALT es indecidible. La única suposición que hicimos para llegar aquí fue que [math] A_ {TM} [/ math] existía, por lo que [math] A_ {TM} [/ math] no puede existir.