- •14. Ординальные числа. Арифметика ординалов.
- •15. Кардинальные числа. Мощность множества.
- •16. Теорема Кантора о мощности множества всех подмножеств данного множества
- •17. Теорема о том, что для бесконечной мощностиm.
- •18. Понятие моделей данной сигнатуры. Примеры. Формулы исчисления предикатов. Истинность формулы в данной модели
- •Примеры сигнатур:
- •19. Аксиомы Пеано натуральных чисел
- •20. Аксиомы действительных чисел
- •21. Выразимые предикаты. Элиминация кванторов.
- •22. Фильтры и ультрафильтры
- •23. Ультрапроизведение моделей. Истинность формул на ультрапроизведении. Th. Лося.
- •24. Локальная теорема Гёделя-Мальцева и следствие из неё.
- •25. Машины Тьюринга и вычислимые функции
- •26. Разрешимые и перечислимые множества. Их свойства.
- •27. Универсальные вычислимые функции
- •28. Существование перечислимого неразрешимого множества. Неразрешимость проблемы остановки машины Тьюринга.
26. Разрешимые и перечислимые множества. Их свойства.
Множество
натуральных чисел называетсяразрешимым,
если существует алгоритм, который по
каждому натуральному числу
определяет, принадлежит
множеству
или не принадлежит. Другими словами,
множество
разрешимо в том и только в том случае,
если егохарактеристическая
функция
вычислима.
Понятно,
что если множества
и
разрешимы, то множества![]()
![]()
также разрешимы. Любое конечное множество
является разрешимым. Неразрешимые
множества также существуют, так как
разрешимые подмножества образуют
счётное множество, а все подмножества
множества натуральных чисел образуют
множество мощности континуума.
Множество
называетсяперечислимым,
если его полухарактеристическая
функция
является
вычислимой.
Теорема
1. Пусть
– подмножество множества натуральных
чисел (
).
Тогда следующие условия эквивалентны:
(1)
множество
перечислимо;
(2)
есть область определения некоторой
вычислимой функции;
(3)
есть множество значений некоторой
вычислимой функции.
Доказательство.
очевидно(областью определения полухар.
функции является Х).
Пусть
– вычислимая функция с областью
определения
Тогда существует машина Тьюринга
кот. для каждого
вычисляет
и останавливается, а при
работает бесконечно долго. Пусть
– машина, которая запоминает значение
аргумента
и после завершения работы машины
(в случае завершения её работы) стирает
и записывает вместо него
Тогда множество значений функции,
вычисляемой машиной
будет совпадать с множеством![]()
Пусть
– множество значений функции
вычисляемой машиной Тьюринга
Обозначим через
машину, которая вначале работает, как
т.е. вычисляет
а затем заменяет
на 0. Очевидно,
вычисляет![]()
Теорема
2. Если
и
– перечислимые множества, то множества
и
также перечислимы.
Доказательство.
Сначала рассмотрим пересечение
По условию существуют машины Тьюринга
и
вычисляющие функции
и
соответственно. Обозначим через
новую машину Тьюринга, которая для
каждого натурального числа
сначала запоминает это
затем работает как
и вычисляет
а после окончания работы
(в случае окончания работы) работает
как
и вычисляет
Эта машина останавливается тогда и
только тогда, когда
поэтому она вычисляет функцию![]()
Докажем
теперь утверждение теоремы для объединения
Ввиду теоремы 1 мы можем считать, что
и
– множества значений вычислимых функций
и
соответственно. Положим
![]()
Тогда
– вычислимая функция, множество значений
которой равно
По теореме 1 множество
перечислимо.
Теорема
3. Всякое
разрешимое множество натуральных чисел
перечислимо. Если множество
и его дополнениеN\A
перечислимы, то
разрешимо.
Доказательство.
Пусть
– разрешимое множество натуральных
чисел. Тогда существует машина Тьюринга
которая, имея на входе число
выдаёт на выходе 1 при
и 0 при
Добавим к программе машины
команды так, чтобы после перехода машины
в финальное состояние продолжение
работы было следующим: 1) если на выходе
1, машина заменяет её на 0 и завершает
работу, 2) если на выходе уже был 0, то
машина далее работает безостановочно
(например, движется направо и печатает
на ленте 1). Очевидно, построенная нами
машина вычисляет функцию
Значит, множество
перечислимо.
Пусть
иN\A
перечислимы, а
и
– машины Тьюринга, вычисляющие
соответственно функции
и
Построим
новую машину Тьюринга
Она, имея на входе число
делает
вначале один шаг работы машины
затем
один шаг работы
затем два шага
(начиная с первого), затем два шага
и т.д. По завершению работы одной из
машин
дальнейшие действия таковы: если
завершила работу раньше, то заменяем
выходное значение 0 на 1 и производим
остановку машины, а если ранее завершится
программа
то производится просто остановка машины.
Легко видеть, что на выходе будет 1 при
и 0 при
Остановка
произойдёт обязательно, так как по
условию обе функции
и
вычислимы.
