Просто візьміть задачу, ступінь Тюрінга вище , що є ступенем оракула Холтінга. З точки зору арифметичної ієрархії, ви хочете задач, що вище Σ 0 1 . Прикладами таких завдань (де ф п є п -й часткової обчислюваної функції і W п = { K ∈ N | ф п ( до ) визначається } є п -й обчислюваності перелічуваних безліч):0'Σ01ϕннWн= { k ∈ N ∣ ϕн( k ) визначено}н
- є Σ 0 2 -повне.{ n ∈ N ∣ φн закінчується на кінцево багато входів }Σ02
- є Π 0 2 -повна.{ n ∈ N ∣ φн є загальною функцією }Π02
- є Σ 0 3 -комплект.{ n ∈ N ∣ Wн є обчислювальним набором }Σ03
Жодне з них не може бути вирішено, навіть якщо у вас є оракул припинення. Наприклад, розглянемо другий приклад: " загалом ?" З огляду на п , як би допомогу Призупинення Oracle нам вирішити , кодуються чи машина Тьюринга по п привалів на кожному вході?φннн
[Додано 2014-06-03] Для "практичного" аспекту всього цього, врахуйте проблему: програміст написав функцію, void charge_credit_card(int card_number, int amount)
і ми хотіли б знати, чи припиняється функція на всіх входах. Це неможливо , щоб написати компілятор , який може автоматично перевірити це в цілому. Більше того, навіть якщо ми дозволимо компілятору задати нам питання форми "чи charge_credit_card
закінчується при введенні (k,m)
?", Це все ще неможливо.