Диагональный метод — различия между версиями
Строка 2: | Строка 2: | ||
|definition = Функция <tex>U : N \times N \rightarrow N \cup \lbrace \bot \rbrace</tex> называется '''универсальной (universal function)''' для класса [[Вычислимые функции|вычислимых функций]] одного аргумента, если <tex>\forall n \in N</tex> <tex>U_n(x) = U(n, x)</tex> является вычислимой функцией и <tex>\forall</tex> вычислимой функции <tex>f</tex> <tex>\exists n \in N : f(x) = U(n, x)</tex> | |definition = Функция <tex>U : N \times N \rightarrow N \cup \lbrace \bot \rbrace</tex> называется '''универсальной (universal function)''' для класса [[Вычислимые функции|вычислимых функций]] одного аргумента, если <tex>\forall n \in N</tex> <tex>U_n(x) = U(n, x)</tex> является вычислимой функцией и <tex>\forall</tex> вычислимой функции <tex>f</tex> <tex>\exists n \in N : f(x) = U(n, x)</tex> | ||
}} | }} | ||
+ | Менее формально, для универсальной функции должно выполняться следующее: "сечение" функции <tex> U_n </tex> является вычислимой функцией и все вычислимые функции одного аргумента встречаются среди <tex>U_n</tex> (отсюда универсальность). Универсальная функция нужна, например, для того, чтобы показать, что существует перечислимое неразрешимое множество (на самом деле это множество таких <tex> n </tex>, для которых <tex> U(n, n) </tex> определено). | ||
+ | |||
Аналогично определяется универсальная функция для класса всюду определенных вычислимых функций одного аргумента. | Аналогично определяется универсальная функция для класса всюду определенных вычислимых функций одного аргумента. | ||
{{Теорема | {{Теорема |
Версия 14:38, 13 января 2014
Определение: |
Функция вычислимых функций одного аргумента, если является вычислимой функцией и вычислимой функции | называется универсальной (universal function) для класса
Менее формально, для универсальной функции должно выполняться следующее: "сечение" функции
является вычислимой функцией и все вычислимые функции одного аргумента встречаются среди (отсюда универсальность). Универсальная функция нужна, например, для того, чтобы показать, что существует перечислимое неразрешимое множество (на самом деле это множество таких , для которых определено).Аналогично определяется универсальная функция для класса всюду определенных вычислимых функций одного аргумента.
Теорема: |
Для класса вычислимых функций одного аргумента существует вычислимая универсальная функция. |
Доказательство: |
Занумеруем программы нашего языка натуральными числами. Рассмотрим функцию | , где — -ая программа в указанной нумерации. вычислимой функции . , очевидно, является вычислимой функцией. Значит — универсальная функция для класса вычислимых функций одного аргумента. Очевидно, что вычислима. Действительно, для того, чтобы вычислить , достаточно вернуть вывод программы на входе .
Теорема: |
Для класса всюду определенных вычислимых функций одного аргумента не существует всюду определенной вычислимой универсальной функции. |
Доказательство: |
От противного. Пусть | — всюду определенная вычислимая универсальная функция для класса всюду определенных вычислимых функций одного аргумента. Воспользуемся теперь диагональным методом. Рассмотрим всюду определенную вычислимую функцию одного аргумента . в силу того, что — универсальная для соответствующего класса функций. Так как всюду определена, то она не зависает на аргументе . Значит , но в то же время . Противоречие.
Отметим, что функция
называется диагональной (отсюда и пошло название метода).Литература
В. А. Успенский Лекции о вычислимых функциях — М.: ГИФМЛ, 1960, с. 203