stringtranslate.com

Предикат T Клини

В теории вычислимости предикат T , впервые изученный математиком Стивеном Коулом Клини , представляет собой определенный набор троек натуральных чисел , который используется для представления вычислимых функций в формальных теориях арифметики . Неформально предикат T сообщает , остановится ли конкретная компьютерная программа при запуске с определенными входными данными, а соответствующая функция U используется для получения результатов вычисления, если программа действительно остановится. Как и в случае с теоремой smn , исходная нотация , используемая Клини, стала стандартной терминологией для этой концепции. [1]

Определение

Пример вызова T 1 . Первый аргумент дает исходный код (на языке C , а не как число Гёделя e ) вычислимой функции, а именно функции Коллатца f . Второй аргумент дает натуральное число i, к которому должна быть применена f . Третий аргумент дает последовательность x шагов вычисления, имитирующую оценку f на i (как цепочку уравнений, а не как число последовательности Гёделя). Вызов предиката оценивается как true, поскольку x на самом деле является правильной последовательностью вычисления для вызова f (5), и заканчивается выражением, больше не включающим f . Функция U , примененная к последовательности x , вернет свое окончательное выражение, а именно 1.

Определение зависит от подходящей нумерации Гёделя , которая присваивает натуральные числа вычислимым функциям (заданным как машины Тьюринга ). Эта нумерация должна быть достаточно эффективной, чтобы, имея индекс вычислимой функции и входные данные для функции, можно было эффективно смоделировать вычисление функции на этих входных данных. Предикат получается путем формализации этой симуляции.

Тернарное отношение принимает три натуральных числа в качестве аргументов. является истинным, если кодирует историю вычислений вычисляемой функции с индексом при запуске с входными данными , и программа останавливается на последнем шаге этой истории вычислений. То есть,

Если на все три вопроса дан положительный ответ, то утверждение истинно, в противном случае — ложно.

Предикат является примитивно рекурсивным в том смысле, что существует примитивно рекурсивная функция, которая, учитывая входные данные для предиката, правильно определяет истинностное значение предиката на этих входных данных.

Существует соответствующая примитивная рекурсивная функция, такая что если она истинна, то возвращает выход функции с индексом на входе .

Поскольку формализм Клини прикрепляет несколько входов к каждой функции, предикат может использоваться только для функций, которые принимают один вход. Существуют дополнительные предикаты для функций с несколькими входами; отношение

истинно, если кодирует останавливающееся вычисление функции с индексом на входах .

Как и , все функции примитивно рекурсивны. Из-за этого любая теория арифметики, способная представить каждую примитивно рекурсивную функцию, способна представить и . Примерами таких арифметических теорий являются арифметика Робинсона и более сильные теории, такие как арифметика Пеано .

Теорема о нормальной форме

Предикаты могут быть использованы для получения теоремы Клини о нормальной форме для вычислимых функций (Soare 1987, стр. 15; Kleene 1943, стр. 52—53). Она утверждает, что существует фиксированная примитивная рекурсивная функция , такая, что функция вычислима тогда и только тогда, когда существует число , такое, что для всех выполняется

,

где μоператор μ ( — наименьшее натуральное число, для которого истинно) и истинно, если обе стороны не определены или обе определены и равны. По теореме определение каждой общерекурсивной функции f можно переписать в нормальную форму так, чтобы оператор μ использовался только один раз, а именно, непосредственно под самым верхним , который не зависит от вычислимой функции .

Арифметическая иерархия

Помимо кодирования вычислимости, предикат T может быть использован для генерации полных наборов в арифметической иерархии . В частности, набор

которая имеет ту же степень Тьюринга, что и проблема остановки , является полным унарным отношением (Soare 1987, стр. 28, 41). В более общем смысле, множество

является -полным ( n +1)-арным предикатом. Таким образом, как только в теории арифметики получено представление предиката T n , из него может быть получено представление -полного предиката.

Эту конструкцию можно расширить выше в арифметической иерархии, как в теореме Поста (сравните Hinman 2005, стр. 397). Например, если множество является полным, то множество

завершено .

Примечания

  1. ^ Описанный здесь предикат был представлен в (Клини 1943) и (Клини 1952), и это то, что обычно называют «предикатом Клини T ». (Клини 1967) использует букву T для описания другого предиката, связанного с вычислимыми функциями, но который не может быть использован для получения теоремы Клини о нормальной форме.

Ссылки