Просто возьмите задачу, у которой степень Тьюринга выше , то есть степень Остановки Оракула. С точки зрения арифметической иерархии вы хотите проблемы, которые выше . Примеры таких задач (где - это частичная вычислимая функция, а - это - й вычислимо перечислимый набор):0′Σ01ϕnnWn={k∈N∣ϕn(k) is defined}n
- {n∈N∣φn terminates for finitely many inputs} является -полным.Σ02
- {n∈N∣φn is a total function} является -полным.Π02
- {n∈N∣Wn is a computable set} - .Σ03
Ничто из этого не может быть решено, даже если у вас Оракул Остановки. Например, рассмотрим второй пример: "is total?" Учитывая , как бы помощь Приостановление Oracle нам решить , кодируются ли машина Тьюринга по привалов на каждом входе?φnnn
[Добавлено 2014-06-03] Для «практического» аспекта всего этого рассмотрим проблему: программист написал функцию, void charge_credit_card(int card_number, int amount)
и мы хотели бы знать, завершается ли функция на всех входах. Это невозможно , чтобы написать компилятор , который может автоматически проверить это в целом. Более того, даже если мы позволим компилятору задавать нам вопросы вида « charge_credit_card
завершается ли при заданном вводе (k,m)
?», Это все равно невозможно.