Simplemente tome un problema cuyo grado de Turing está por encima de , que es el grado de The Halting Oracle. En términos de la jerarquía aritmética , desea problemas que estén por encima de . Ejemplos de tales problemas (donde es la -ésima función computable parcial y es el - th conjunto computablemente enumerable):0′Σ01ϕnnWn={k∈N∣ϕn(k) is defined}n
- {n∈N∣φn terminates for finitely many inputs} es -complete.Σ02
- {n∈N∣φn is a total function} es -completo.Π02
- {n∈N∣Wn is a computable set} es -completo.Σ03
Ninguno de estos puede resolverse incluso si tiene un Oracle detenido. Por ejemplo, considere el segundo ejemplo, "¿es total?" Dado ¿cómo nos ayudaría el Halting Oracle a decidir si la máquina de Turing codificada por detiene en cada entrada? n nφnnn
[Agregado 2014-06-03] Para un aspecto "práctico" de todo esto, considere el problema: un programador ha escrito una función void charge_credit_card(int card_number, int amount)
y nos gustaría saber si la función termina en todas las entradas. Es imposible escribir un compilador que pueda verificar automáticamente esto en general. Además, incluso si permitimos que el compilador nos haga preguntas de la forma "¿ charge_credit_card
termina cuando se le da entrada (k,m)
?", Todavía es imposible.