- •Введение
- •Тема 1. Логика высказываний
- •1.1. Понятие высказывания
- •1.2. Логические операции
- •1. Отрицание или инверсия ( – не)
- •Конъюнкция ( ,, ·, логическое и )
- •4. Импликация ( ) “если а, то b”
- •6. Сумма по модулю два
- •7. Штрих Шеффера ( , обратная конъюнкция и – не)
- •8. Стрелка Пирса ( , обратная дизъюнкция или – не )
- •1.3. Булевы функции
- •1.3.1. Некоторые определения из теории множеств
- •1.3.2. Булевы функции
- •1.4. Формулы
- •1.5. Равносильные формулы
- •1.6. Подстановка и замена
- •1.7. Формы представления высказываний
- •1.8. Минимизация сложных высказываний методом Квайна
- •1.9. Полные системы функций
- •1.9.1. Система функций { }
- •1.9.2. Замкнутые классы
- •1.9.3. Функциональная полнота
- •Тема 2. Логические исчисления
- •2.1. Интерпретация формул
- •2.2. Примеры тождественно истинных формул высказываний
- •2.3. Формальные теории
- •Выводимость.
- •2.5. Интерпретация формальных теорий
- •2.6. Исчисление высказываний.
- •2.7. Производные правила вывода
- •2.8. Дедукция
- •2.9. Некоторые теоремы теории £
- •Тема 3. Логика и исчисление предикатов
- •3.1. Предикаты
- •3.2. Исчисление предикатов
- •3.3. Интерпретация
- •3.4. Основные равносильности для предикатов
- •3.5. Приведенная форма представления предикатов
- •Тема 4. Автоматическое доказательство теорем
- •4.1. Постановка задачи
- •4.2. Доказательство от противного
- •4.3.Правило резолюции для исчисления высказываний
- •4.4. Правило резолюции для исчисления предикатов
- •4.5. Основные положения мр (выводы)
- •4.6. Логическое программирование
- •Тема 5. Теория алгоритмов
- •5.1. Интуитивное понятие алгоритма
- •5.2. Конкретизация понятия алгоритма
- •5.2.1. Машины Тьюринга
- •5.2.3. Рекурсивные функции
- •5.2.3. Нормальные алгорифмы Маркова
- •5.3. Алгоритмически неразрешимые проблемы
- •5.3.1. Проблема самоприменимости
- •5.3.1.1. Нумерация мт
- •5.3.1.2. Самоприменимость мт
- •5.3.2. Проблема останова
- •5.3.3. Разрешимые и неразрешимые задачи математики
- •5.4. Характеристики сложности вычислений
- •5.5. Классы сложности задач
- •5.5.1. Р задачи
- •5.5.2. Np задачи
3.2. Исчисление предикатов
Исчисление предикатов первого порядка – это формальная теория K, в которой определены :
1. Алфавит:
Связки: (основные), & , ( дополнительные).
Служебные символы: (,).
Кванторы , .
Предметные константы a,b,c,….
Предметные переменные x, y, z,….
Символы предикатов P,Q,R,….
Символы функций f, g, h,….
Константы, переменные, функторы – называются термами.
2. Формулы. Слово называется формулой, если оно имеет следующий синтаксис:
1) Р(х1,…,хn) – атомарная формула (А).
Вхождения переменных в атомарную формулу называются свободными.
2) Если А – формула, то - тоже формула.
3) Если А и В – формулы, то - формулы.
4) Если А – формула, содержащая свободную переменную х, то - формулы.
Слово является формулой, если это следует из 1-4.
Вхождения переменных в формулах называются связанными, переменные не равные х остаются свободными.
Пример
- х – свободная переменная, у – связанная переменная.
Формула, не содержащая свободных переменных, называется замкнутой.
3. Аксиомы (логические).
1) Любая система аксиом исчисления высказываний.
А1:
А2:
А3:
2) Собственные аксиомы.
P1: ,
P2: ,
где t – терм.
4. Правила вывода.
1. ,
2. - введение квантора общности,
3. - введение квантора существования.
Исчисление предикатов, в котором кванторы могут связывать только предметные переменные и не могут связывать функторы или предикаты называется исчислением первого порядка.
3.3. Интерпретация
Интерпретация I исчисления предикатов K с областью интерпретацией M – это набор функций, который сопоставляет:
каждой предметной константе a элемент I(a)M;
каждому n-местному функтору f операцию I(f):MnM.
каждому n-местному предикату Р отношение I(P) Mn.
Для нас имеют смысл только интерпретированные предикаты, т. е. те, которым поставлены в соответствие некоторые отношения (для одноместных предикатов – свойства).
Пример.
Рассмотрим 3 формулы.
1. P(x,y)
2.
3.
В качестве области интерпретации возьмем множество целых положительных чисел и интерпретируем P(x,y) как отношение .
Тогда формула 1 – это предикат . Он принимает значение истинно при любых a,b принадлежащих множеству целых положительных чисел, если .
Формула 2 – это предикат, который принимает значение истинно при x=1, т. е. он выражает свойство, что для каждого положительного целого числа y .
Формула 3 – это предикат, который всегда будет истинен. Он выражает свойство: существует положительное целое число y, для которого .
Формула называется истинной, если она выполняется на любом наборе элементов М.
Формула называется ложной, если она не выполняется на любом наборе элементов М.
Формула общезначима (тавтология), если она истинна в любой интерпретации.
Теорема: Любая выводимая в исчислении предикатов формула – общезначима.
3.4. Основные равносильности для предикатов
Пусть формулы А и В имеют одно и то же множество свободных переменных (в том числе и пустое).
Формулы А и В равносильны в данной интерпретации, если на любом наборе значений свободных переменных они принимают одинаковое значение (т. е. формулы выражают один и тот же предикат).
Формулы А и В равносильны на множестве М, если они равносильны во всех интерпретациях, заданных на множестве М.
Формулы А и В равносильны ( ),если они равносильны на всех множествах.
Для формул логики предикатов сохраняются все равносильности логики высказываний.
Перенос квантора через отрицание
В ынос квантора за скобки
|
Q – не зависит от х |
|
Q – зависит от х |
|
только в одну сторону! |
Пусть P(x) – x пошел в театр, Q(x) – x пошел в кино, тогда
.
Но .
Аналогично, пусть P(x) – x делится на 2, Q(x) – x делится на 3, тогда
, но
.
Перестановка одноименных кванторов
Перестановка разноименных кванторов
Переименование связанных переменных
х, у принадлежат одной предметной области
Отбрасывание квантора
Пример. Докажем общезначимость формулы . Для этого надо показать, что формула является теоремой исчисления предикатов.
Доказательство.
1. - аксиома исчисления предикатов.
2. - аксиома исчисления предикатов.
3. Для исчисления высказываний доказано правило транзитивности:
4. Из 1 и 2 по правилу транзитивности получаем:
5. Введение квантора существования (правило вывода исчисления предикатов ):
6. Введение квантора общности (правило вывода исчисления предикатов
):
7. Преобразуем связанную переменную {y/z}
8. Преобразуем связанную переменную {x/v}
Таким образом, теорема доказана.