Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДополнениеТеоремаГёделя_исправление.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
77.32 Кб
Скачать

4.4.6. Невычислимые функции и неразрешимые множества

Рассмотрим более подробно важное понятие универсальной функции, или универсального алгоритма. Рассмотрим произвольный класс F вычислимых функций fXY. Функция U: FXY называется универсальной для класса F, если f x U(f, x)  f(x). Другими словами, там, где исходная функция определена, универсальная функция вычисляет значение по функции и по аргументу, а там где функция не определена, универсальная функция также не определена.

Примеры. 1. Алгоритм 3.4. в п. 3.6.3 является универсальным алгоритмом в классе булевых функций n переменных.

2. Алгоритм 3.1. в п. 3.2.1 является универсальным алгоритмом в классе функций, заданных формулами в базисе F.

3. Интерпретатор I является универсальным алгоритмом в классе программ.

Множество программ, представляющих вычислимые функции перечислимо и их можно перенумеровать. Но тогда интуитивно ясно, что возможно построить программу (например, в форме «очень длинного» оператора switch), которая по номеру функции и значению аргумента будет вычислять значение этой функции. Таким образом, из аксиомы программы имеем

Следствие 1. Каков бы ни был класс вычислимых функций T1T2 существует вычислимая функция U: T1T2, универсальная в этом классе.

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

Следствие 2. Существует вычислимая функция U: , универсальная в классе вычислимых функций .

Доказательство. Положим T1:=  и T2:=  и по следствию 1. чтд

Следствие 3. Существует такая вычислимая функция , что никакая вычислимая функция не может отличаться от нее всюду.

Доказательство. Рассмотрим «диагональную» функцию d(n) := U(nn). Пусть fn — функция, имеющая номер n. Если fn(n) определено, то fn(n) = d(n) и fn(n)  d(n), если же fn(n) не определено, то и d(n) не определено, и все равно fn(n)  d(n). чтд

Предыдущее доказательство кажется парадоксом: действительно, если у нас есть функция, которая претендует на то, что, неформально говоря, её график «пересекается» с графиками всех других функций, то, казалось бы, возьмем функцию, график которой «параллелен» графику «претендента», и получится контрпример к следствию 3. Но никакого парадокса и контрпримера нет! Дело в том, что мы рассматриваем все вычислимые функции, в том числе и частичные, и «пересечение» получается там, где функции не определены.

Но если вычислимая функция определена частично, то можно доопределить ее произвольным образом, назначив какие-то значения функции для тех значений аргументов, где функция не определена. Такое «доопределение» называется всюду определенным продолжением.

Следствие 4. Существует вычислимая функция , не имеющая всюду определённого вычислимого продолжения.

Доказательство. Рассмотрим «параллельную» функцию d1(n) := d(n)+1. Эта функция определена частично, потому что функция d(n) определена частично. Рассмотрим тогда D1(n) — всюду определенное продолжение d1(n). Эта функция всюду определена и всюду отличается от d(n). По следствию 3 заключаем, что функция D1(n) невычислима. чтд

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

Следствие 5. Существует неразрешимое перечислимое подмножество натурального ряда.

Доказательство. Достаточно рассмотреть N:=Dom d1(n). N перечислимо по лемме 5. Допустим, что N разрешимо алгоритмом N. Тогда построим функцию d2(x) := if N(x) then d1(x) else 1 end if. Функция d2(x) оказывается всюду определенным вычислимым продолжением функции d1(n), что невозможно в силу следствия 4, а значит алгоритма N не существует. чтд

Таким образом, построено перечислимое, но неразрешимое множество.

Следствие 6. Существует перечислимое подмножество натурального ряда с неперечислимым дополнением.

Доказательство. Рассмотрим построенное перечислимое неразрешимое множество N. Его дополнение \N неперечислимо, в противном случае N было бы разрешимо по лемме 3. чтд

Таким образом, построено перечислимое множество с неперечислимым дополнением.

К данному моменту накоплен достаточный запас фактов, чтобы показать применимость и полезность наивной теории алгоритмов в форме доказательства первой теоремы Гёделя о неполноте.