
- •Т. А. Сливина математическая логика и теория алгоритмов
- •Глава I. Логика высказываний 6
- •Глава 1 логика высказываний
- •§ 1. Логические операции над высказываниями
- •§ 2. Формулы логики высказываний. Основные равносильности и преобразования
- •1. Основные равносильности
- •2. Равносильности, выражающие одни логические операции через другие
- •3. Равносильности, выражающие основные законы алгебры логики
- •§ 3. Алгебра Буля. Функции Буля. Представление произвольной функции алгебры логики в виде формулы алгебры логики
- •§ 4. Дизьюнктивная нормальная форма и совершенная дизьюнктивная нормальная форма. Коньюнктивная нормальная форма и совершенная коньюнктивная нормальная форма
- •§ 5. Приложения алгебры логики в технике и других областях
- •Задачи и упражнения
- •Глава 2 исчиление высказываний
- •§ 1. Этапы построения исчисления высказываний. Понятие формулы исчисления высказываний
- •§ 2. Определение доказуемой формулы. Правила вывода и заключения
- •§ 3. Производные правила вывода
- •§ 4. Выводимость формул из совокупности формул
- •§5. Доказательство некоторых законов логики
- •3. Закон разъединения посылок
- •5. Закон исключенного третьего: ├
- •§6. Связь между алгеброй высказываний и исчислением высказываний
- •§7. Проблемы аксиоматического исчисления высказываний
- •1. Проблема разрешимости исчисления высказываний.
- •3. Проблема полноты исчисления высказываний.
- •4. Проблема независимости аксиом исчисления высказываний.
- •Задачи и упражнения
- •Глава 3 логика предикатов
- •§ 1. Понятие предиката. Логические операции над предикатами. Кванторные операции.
- •§ 2. Понятие формулы логики предикатов. Значение формулы логики предикатов
- •§ 3. Равносильные формулы логики предикатов. Предваренная нормальная форма
- •§ 4. Общезначимость и выполнимость формул. Проблема разрешимости для общезначимости и выполнимости, неразрешимость ее в общем случае
- •§ 5. Применение языка логики предикатов для записи математических предложений, определений, построения отрицания предложений
- •§ 6. Замечание об аксиоматическом исчислении предикатов
- •Задачи и упражнения
- •Глава 4 математические теории
- •§ 1. Теории первого порядка. Основные понятия
- •§ 2. Примеры математических теорий из алгебры, анализа, геометрии
- •1. Теория частичного упорядочения.
- •2. Теория групп.
- •3. Аффинная геометрия.
- •§ 3. Интерпретация языка теории
- •§ 4. Проблемы непротиворечивости, полноты, разрешимости теории
- •2. Проблема полноты.
- •3. Проблема разрешимости.
- •Глава 5 алгоритмы
- •§ 1. Понятие алгоритма и его характерные черты
- •§ 2. Разрешимые и перечислимые множества
- •§ 3. Уточнение понятия алгоритма
- •§ 4. Вычислимые функции. Частично рекурсивные и общерекурсивные функции
- •1. Суперпозиция функций.
- •2. Схема примитивной рекурсии.
- •§ 5. Машины Тьюринга
- •§ 6. Нормальные алгоритмы Маркова
- •§ 7. Неразрешимые алгоритмические проблемы (обзор)
- •1.Неразрешимость проблемы распознавания выводимости в математической логике.
- •3. Проблема эквивалентности слов для ассоциативных исчислений.
- •4. Неразрешимость десятой проблемы Гильберта о диофантовых уравнениях.
- •Задачи и упражнения
- •Заключение
- •Библиографический список
- •Математическая логика и теория алгоритмов
- •660014, Красноярск, просп. Им. Газ. «Красноярский рабочий», 31.
- •660028, Г. Красноярск, ул. Водопьянова, 2-241.
§ 2. Разрешимые и перечислимые множества
Пусть имеется некоторый алфавит. Обозначим через S множество всех слов в данном алфавите, а через М - подмножество множества S.
Определение 1. Множество М называется разрешимым, если для него существует алгоритм, решающий проблему вхождения слова х в М.
Определение 2. Множество М называется эффективно перечислимым, если существует алгоритм, позволяющий перечислить все элементы этого множества (возможно с повторениями).
Теорема
1. Если
множества М и L
эффективно перечислимы, то эффективно
перечислимы множества ML
и M
L.
Доказательство.
Пусть множества М
и L
эффективно
перечислимы. Тогда для каждого из них
существует свой алгоритм, позволяющий
перечислить все элементы данного
множества. Алгоритм для эффективного
перечисления множеств ML
и M
L
получается
путем одновременного применения
алгоритмов для эффективного перечисления
множеств М
и L.
Теорема 2 (Поста). Множество М разрешимо тогда и только тогда, когда оно само и его дополнение эффективно перечислимы.
Доказательство. Пусть множество М и его дополнение СМ эффективно перечислимы, то есть существуют алгоритмы А и В, с помощью которых можно перечислить элементы этих множеств. Но тогда при перечислении элементов множеств М и СМ в их списке встретится элемент х. Следовательно, существует алгоритм С, позволяющий узнать, принадлежит элемент х множеству М или не принадлежит.
Пусть множество М разрешимо. Тогда существует алгоритм, решающий проблему вхождения х в М. Пользуясь этим алгоритмом, составим список элементов, входящих в М, и список элементов, входящих в СМ. Следовательно, мы получим два алгоритма А и В, позволяющих перечислить множества М и СМ. Примерами эффективно перечислимых множеств являются:
множество М = (1,4,9,...,n2,...) квадратов натуральных чисел,
множество упорядоченных пар натуральных чисел.
Действительно, множество М = n2 перечислимо, т.к. для получения его элементов нужно последовательно брать натуральные числа и возводить их в квадрат. Более того, это множество является также и разрешимым: для проверки того, принадлежит ли некоторое натуральное число х множеству М, нужно разложить число на простые множители, и это даст возможность установить, является ли оно точным квадратом.
Множество упорядоченных пар натуральных чисел может быть эффективно перечислено с помощью так называемого диагонального метода. Действительно, выпишем все упорядоченные пары натуральных чисел в следующем виде:
-
(0,0)
(0,1)
(0,2)
(0,3)
(0,4)
…
(1,0)
(1,1)
(1,2)
(1,3)
(1,4)
…
(2,0)
(2,1)
(2,2)
(2,3)
(2,4)
…
(3,0)
(3,1)
(3,2)
(3,3)
(3,4)
…
…
…
…
…
…
…
Перечисление осуществляется последовательным прохождением по диагоналям, начиная, с верхнего левого угла. Начальный список этих пар запишется так:
(0,0), (1,0), (0,1), (2,0), (1,1), (0,2), (3,0), (2,1), (1,2), (0,3), (4,0), ...
Теорема 3. Существует перечислимое, но неразрешимое множество натуральных чисел.
Для доказательства теоремы, как это следует из теоремы Поста, достаточно привести пример такого множества натуральных чисел U, которое само было бы перечислимым, а его дополнение CU перечислимым не было.
Пусть М0, M1, M2, ... – эффективное перечисление всех перечислимых множеств натуральных чисел, т.е. такое перечисление, что по любому пN можно восстановить само множество М.
Рассмотрим теперь алгоритм А, который последовательно перечисляет все элементы множества U. На шаге с номером (т,п) этот алгоритм вычисляет элемент с номером т множества Мn, и если этот элемент совпадает с n, то он относит его в множество U, т.е. пU п Мп .
Отсюда ясно, что множество CU отличается от любого перечислимого множества хотя бы одним элементом, т.к. CU состоит из всех таких элементов п, что nMп . Поэтому CU не является перечислимым. Следовательно, согласно теореме Поста U не разрешимо.
Доказанная теорема фактически включает в себя в неявном виде теорему Гёделя о неполноте формальной арифметики, приведенную ранее без доказательства.