Диагональный метод
Версия от 02:31, 18 декабря 2011; 192.168.0.2 (обсуждение)
Определение: |
Функция | называется универсальной для класса вычислимых функций одного аргумента, если является вычислимой функцией и вычислимой функции
Аналогично определяется универсальная функция для класса всюду определенных вычислимых функций одного аргумента.
Теорема: |
Для класса вычислимых функций одного аргумента существует вычислимая универсальная функция. |
Доказательство: |
Занумеруем программы нашего языка натуральными числами. Рассмотрим функцию | , где — -ая программа в указанной нумерации. вычислимой функции . , очевидно, является вычислимой функцией. Значит — универсальная функция для класса вычислимых функций одного аргумента. Очевидно, что вычислима. Действительно, для того, чтобы вычислить достаточно вернуть вывод программы на входе .
Теорема: |
Для класса всюду определенных вычислимых функций одного аргумента не существует всюду определенной вычислимой универсальной функции. |
Доказательство: |
От противного. Пусть | — всюду определенная вычислимая универсальная функция для класса всюду определенных вычислимых функций одного аргумента. Воспользуемся теперь диагональным методом. Рассмотрим всюду определенную вычислимую функцию одного аргумента . в силу того, что — универсальная для соответствующего класса функций. Так как всюду определена, то она не зависает на аргументе . Значит , но в то же время . Противоречие.
Литература
Н. К. Верещагин, А. Шень. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. — М.: МЦНМО, 1999