
- •Введение
- •Тема 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задачи
4.3.Правило резолюции для исчисления высказываний
Пусть С1и С2– предложения в исчислении высказываний.
Пусть
,
,
где Р – пропозициональная переменная,
- любые предложения.
Правило вывода
называется правилом резолюции, где
С1, С2 - родительские предложения,
- резольвента,
- контрарные литералы.
Правило резолюции очень мощное правило вывода и многие ранее рассмотренные правила являются частным случаем правила резолюции.
Примеры.
1. Правило вывода modusponens:
|
|
2. Правило транзитивности
|
|
Унификация
Если в формулу А вместо переменных
подставить
формулы
,
то получится формула В, которая является
частным случаем формулы А.
.
Набор подстановок
называется унификатором.
Таким образом, унификация состоит в том, что мы пытаемся сделать одинаковыми различные предикаты.
4.4. Правило резолюции для исчисления предикатов
Для применения правила резолюции нужны контрарные литералы в родительских дизъюнктах.
- правило резолюции в исчислении
высказываний, если в предложениях С1и С2есть унифицируемые контрарные
литералы Р1и Р2, т. е.
,
,
причем атомарные формулы Р1и Р2унифицируются общим унификатором.
Пример.
Пусть имеются родительские дизъюнкты:
Д1:
Д2:
Здесь
и
- контрарные литералы. Их можно
унифицировать, если в Д1 заменитьxнаf(z):
{f(z)//x},
а в Д2 заменитьyнаa:
{a//y}.
Получаем:
Д1:
Д2:
Резольвента:
4.5. Основные положения мр (выводы)
1. Предметная область представляется в виде множества аксиом, которые преобразуются в множество дизъюнктов S.
2. Для доказательства справедливости теоремы В надо взять ее отрицание и, преобразовав в дизъюнкт, добавить к множеству S. Если теорема верна, то новое множество дизъюнктов будет противоречиво.
3. Доказательство противоречивости сводится к доказательству того, что из данного множества дизъюнктов может быть выведен пустой дизъюнкт .
4. Технически метод резолюции состоит из унификации и получения множества резольвент до тех пор, пока не будет получен пустой дизъюнкт.
Пример 1.
А1: Все студенты – граждане.
Т: Голоса студентов – это голоса граждан.
Шаг 1. Запишем аксиому и теорему на языке предикатов первого порядка.
А1:
(x
,
где М – множество людей)
Т:(x
,
где Г – множество голосов,x,y
,
где М – множество людей)
Шаг 2. Получим дизъюнкты.
Д1:
Чтобы получить дизъюнкты из теоремы, надо взять ее отрицание.
Таким образом, получаем систему дизъюнктов:
Д1:
Д2:
Д3:
Д4:
Шаг 3. Вывод:
1. Унифицируем Д1 иД2:
{
},
получаем
2. Получаем резольвенту Д1-Д2:,
обозначим ее как Д5
3.Унифицируем Д4 и Д5:
{
},
получаем
4. Получаем резольвенту Д4 и Д5:
,
обозначим ее Д6
5. Д3-Д6:(пустой дизъюнкт).
Теорема доказана.
Пример 2.
А1: Если х является родителем у и у является родителем z, то х является прародителемz.
А2: Каждый человек имеет своего родителя.
В: Существуют ли такие х и у, что х является прародителем у?
Шаг 1. Запишем аксиому и вопрос на языке предикатов первого порядка.
А1:
А2:
В:
Шаг 2. Получим дизъюнкты.
Д1:
Д2:
Д3:
Шаг 3. Вывод:
1. Унифицируем Д1 и Д2:
,
получаем
2. Получаем резольвенту Д1-Д2:
,
обозначим ее Д4
3. Унифицируем Д2 и Д4:
,
получаем
4. Получаем резольвенту Д3-Д2:
,
обозначим ее Д5.
5. Унифицируем Д3 и Д5:
//x},
получим
6. Получаем резольвенту Д3-Д5:
Ответ можно интерпретировать следующим
образом:
-
быть родителем у,
-
быть родителем родителя у, следовательно,
прародитель у – это родитель родителя
у.