- •Математическая логика и теория алгоритмов
- •11. Понятие об алгоритмах. Схемы алгоритмов
- •11.1. Понятие об алгоритме и теории алгоритмов
- •11.2. Схемы алгоритмов
- •11.3. Рекурсивные функции
- •11.4. Машина Тьюринга
- •11.5. Машина Поста
- •11.6. Нормальные алгорифмы а.А. Маркова
- •11.7. Универсальная абстрактная машина
- •11.8. Разрешимость в теории алгоритмов. Проблема самоприменимости
- •11.9. Сложность алгоритма
- •11.10. Представление схемы алгоритма эквивалентным автоматом
- •11.11. Представление схемы алгоритма микропрограммой с двумя типами микрокоманд
- •12. Элементы формальной логики
- •12.1. Предмет формальной логики
- •12.2. Понятие и его виды
- •12.3. Отношения между понятиями
- •12.4. Операции над понятиями
- •12.5. Суждение и его характеристика
- •Модальные и категорические суждения.
- •Простые категорические суждения.
- •Виды простых категорических суждений.
- •Распределение терминов в простом категорическом суждении.
- •Логический квадрат.
- •13. Умозаключение
- •13.1. Виды умозаключений
- •13.2. Непосредственное умозаключение
- •Умозаключения путем противопоставления предикату.
- •13.3. Опосредованное дедуктивное умозаключение. Фигуры силлогизма
- •Фигуры пкс.
- •Модусы пкс.
- •13.4. Дополнительные виды силлогизмов
- •13.5. Индуктивные умозаключения. Математическая индукция
- •14. Логика высказываний
- •14.1. Семантика логики высказываний
- •I закон – тождества.
- •14.3. Формализация высказываний
- •14.4. Интерпретации, разрешимость, выполнимость, общезначимость
- •14. 5. Логическая равносильность. Законы логики
- •14.6. Формы представления формул логики высказываний
- •14.7. Проблема дедукции в логике высказываний
- •15. Проверка правильности логических выводов. Метод резолюций
- •15.1. Закон контрапозиции
- •15.2. Логическое следование. Проверка правильности логических выводов
- •15.3. Силлогизмы в логике высказываний
- •Разделительно-категоричные силлогизмы.
- •16. Синтаксис и семантика языка логики предикатов
- •16.1. Понятие предиката
- •16.2. Кванторы и связанные переменные
- •16.3. Синтаксис языка логики предикатов. Формулы логики предикатов и формализация суждений
- •16.4. Семантика формул логики предикатов
- •Общезначимость, выполнимость, невыполнимость.
- •17. Тождественные преобразования формул логики предикатов
- •17.1. Операции над предикатами
- •17.2. Основные равносильности логики предикатов
- •Отрицание предложений с кванторами.
- •17.3. Тождественные преобразования формул
- •17.4. Универсум Эрбрана
- •18. Использование метода резолюций в логике предикатов
- •18.1. Подстановка и унификация
- •18.2. Резольвенция и факторизация
- •18.3. Метод резолюций в логике предикатов
- •18.4. Принцип логического программирования
- •19. Логические исчисления
- •19.1. Понятие о формальных теориях
- •19.2. Исчисление высказываний
- •19.3. Исчисление предикатов
- •19.4. Система натурного вывода
- •19.5. Понятие о математической лингвистике
- •19.6. Формальный язык
- •19.7. Формальные грамматики и их свойства
- •19.8. Теоремы Гёделя
- •20. Неклассические логики
- •20.1. Современные модальные логики
- •20.2. Понятие о теории неопределенности
- •20.3. Элементы теории нечетких множеств и нечеткая логика
- •20.4. Нечеткие алгоритмы
- •Литература
- •Приложение 1 Варианты контрольных заданий по дисциплине «Дискретная математика»
- •Приложение 2 Варианты контрольных заданий по дисциплине «Математическая логика»
18. Использование метода резолюций в логике предикатов
18.1. Подстановка и унификация
В математической логике широко используются приемы подстановки и унификации.
Подстановка – приём, в результате которого из некоторых данных формул получают их частные случаи, например, {(t1,x1),…,(tn,xn)}, где пара (tj,xi) означает, что всюду, где производится данная подстановка, переменная xi заменяется термом tj.
Пример [29].
Литерал Р(х,f(y),b) после подстановок:
1={(z,x), (w,y)}; 2={(a,y)}; 3={(g(z),x), (a,y)}
имеет вид:
P1=P(z,f(w),b); P2=P(x,f(a),b); P3=P(g(z),f(a),b).
Здесь Pi означает частный случай Р, полученный при подстановке i.
Композиция двух подстановок i и j.
Композиция подстановок ij получается при применении подстановки j к термам подстановки i, с последующим добавлением любых пар из j, содержащих переменные, не входящие в число переменных из i [29].
Например:
i={(f(x),z)} и j={(a,x),(b,y),(d,z)}, то ij={(f(а),z),(b,y)}.
Нетрудно убедиться, что применение к литералу последовательно подстановок i и j даёт тот же результат, что и применение подстановки ij: .
Композиция подстановок ассоциативна: (ij)k=i(jk).
Унификация.
Множество литералов {Li} называется унифицированным, если существует такая подстановка , что L1=L2=,…=Ln; .
Подстановка называется унификатором для {Li}.
Унификация применяется и для формул. Формулы, имеющие совместный частный случай, называются унифицируемыми, а набор подстановок – общим унификатором.
Наименьший возможный унификатор называется наиболее общим унификатором.
Известен алгоритм унификации, определяющий, являются ли две заданные формулы унифицируемыми, и, если это так, то позволяющий найти наиболее общий унификатор.
Заметим, что при подстановке переменная заменяется термом, но терм не может быть заменен термом! Т.е., вместо переменной может быть подставлена константа, другая переменная, функция, но вместо константы или функции ничего не может быть подставлено!
18.2. Резольвенция и факторизация
При доказательстве теорем в математической логике используются представления суждений в виде дизъюнкции литералов (в виде предложений, в клаузальной форме). Литерал L1 называется дополнительным литералу L2, если L1 является отрицанием L2.
Резольвента двух предложений получается следующим образом [29]:
1) переменные одного предложения переименовываются таким образом, чтобы они отличались от переменных другого предложения;
2) находится подстановка, при которой какой-либо литерал одного предложения становится дополнительным к какому-либо литералу другого предложения и эта подстановка производится в оба предложения;
3) литералы, дополнительные друг к другу, вычёркиваются;
4) если имеются одинаковые литералы, то все они, кроме одного в каком-либо предложении вычёркиваются;
5) дизъюнкция литералов, оставшихся в обоих предложениях, и есть резольвента.
Используется также факторизация. Фактором какого-либо предложения называется следствие этого предложения [29]:
1) находится подстановка при которой какие-либо литералы одинаковы;
2) после выполнения этой подстановки все одинаковые литералы, кроме одного, вычёркиваются;
3) дизъюнкция оставшихся литералов и есть фактор.
Процесс нахождения фактора называется факторизацией.
Пример [29].
Резольвента при подстановке {(g(x),x}, то есть g(x) заменяет x.
.
Здесь резольвенты нет. Переменные: x, y – термы: g(x), f(x).
Вместо переменной можно подставить терм, но вместо функции или константы терм подставить нельзя!
Пример [26].
{P(x,a,f(g(a))),P(z,y,f(u))}.
В этом случае наименьший общий унификатор: {(z,x),(a,y),(g(a),u)}.
Просто унификатор: {(b,x),(a,y),(b,z),(g(a),u)}.