
- •1. Исчисление высказываний
- •1.1. Алгоритмы проверки общезначимости и противоречивости в исчислении высказываний
- •1.2. Метод резолюций в исчислении высказываний
- •1.3. Метод резолюций для хорновских дизъюнктов
- •Задачи и упражнения
- •2. Логика и исчисление предикатов
- •2.1. Логика предикатов
- •2.2. Алгебра предикатов
- •2.2.1. Логические операции
- •2.2.2. Правила записи сложных формул
- •2.2.3. Законы алгебры предикатов
- •2.2.4. Предваренная нормальная форма
- •2.2.4.1. Алгоритм приведения формулы к виду пнф
- •2.2.5. Сколемовская стандартная форма
- •2.2.5.1. Алгоритм Сколема
- •2.3. Исчисление предикатов
- •2.3.1. Интерпретация формул
- •2.3.2. Правила вывода
- •2.3.3. Метод дедуктивного вывода
- •2.3.4. Метод резолюций в исчислении предикатов
- •2.4. Проблемы в исчислении предикатов
- •2.5. Логическое программирование
- •Задачи и упражнения
- •3. Элементы теории алгоритмов
- •3.1. Рекурсивные функции
- •3.1.1. Базовые функции
- •3.1.2. Элементарные операции
- •3.2. Машина Тьюринга
- •3.2.1. Описание машины Тьюринга
- •3.2.2. Примеры машин Тьюринга
- •3.2.3. Условные обозначения и схемные соединения машин Тьюринга
- •3.2.4. Рекурсивные функции и вычисления на машинах Тьюринга
- •3.3. Конечные автоматы
- •4. Неклассические логики
- •4.1. Пропозиционные логики
- •4.2. Алгоритмические логики
- •Задачи и упражнения
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
2.2.4. Предваренная нормальная форма
Для облегчения анализа сложных рассуждений формулы алгебры предикатов рекомендуется приводить к нормальной форме. Если в алгебре высказываний приняты две нормальные формы (ДНФ – дизъюнктивная и КНФ – конъюнктивная), то в алгебре предикатов – одна предваренная (пренексная) нормальная форма (ПНФ), суть которой сводится к разделению формулы на две части: кванторную и бескванторную. Для этого все кванторы формулы выносят влево, используя законы и правила алгебры предикатов.
В результате этих алгебраических преобразований может быть получена формула вида: x1 x2 xn(M), где {; }, а М – матрица формулы. Кванторную часть формулы x1 x2 xn иногда называют префиксом ПНФ.
В последующем матрицу формулы преобразуют к виду КНФ, что облегчает механизм по методу резолюции.
Примеры.
1. F=xy((P21.(х,
y)
)
P3
(y)) формула, приведенная
к ПНФ; F=x(P21.(х,
y)x(P2
(х)) y(P3
(y)) формула, неприведенная
к ПНФ.
2. x(P1.(х))x(P2(x))=x(P1.(х) P2(x)) слева от знака равенства формула, неприведенная к ПНФ, а справа, равносильная ей формула, но приведенная к ПНФ.
2.2.4.1. Алгоритм приведения формулы к виду пнф
Шаг 1. Исключить всюду логические операции и по правилам:
F1F2 F2;
(F1F2)=(F1F2)
(F2F1)=(
F2)(
F1).
Шаг 2. Продвинуть отрицание до элементарной формулы по правилам:
x(
),
,
x(
),
.
Шаг 3. Переименовать связанные переменные по правилу: «найти самое левое вхождение предметной переменной такое, что это вхождение связано некоторым квантором, но существует еще одно вхождение этой же переменной; затем сделать замену связанного вхождения на вхождение новой переменной», операцию повторять пока возможна замена связанных переменных;
Шаг 4. Вынести кванторы влево по законам алгебры логики.
Шаг 5. Преобразовать бескванторную матрицу к виду КНФ. Алгоритм приведения матрицы формулы к виду КНФ приведен в алгебре высказываний.
Пример.
.
Привести формулу к виду ПНФ.
l) удалить логические связки :
;
2) применить закон де Моргана x( ):
3) применить закон де Моргана :
4) переименовать связанную переменную x=w:
5) переименовать связанную переменную y=v:
6) вынести квантор v влево:
7) вынести квантор y влево:
.
Матрица ПНФ содержит три элементарных дизъюнкта:
S={
}.
Пример.
.
Привести формулу к виду ПНФ.
применить закон x( ):
применить закон x( ):
вынести квантор x по закону дистрибутивности:
4) переименовать связанную переменную y=z:
5) вынести кванторы z и y влево:
Матрица ПНФ содержит два элементарных дизъюнкта:
S={
}.
Пример. Привести формулу к виду ПНФ
по закону дистрибутивности:
по закону дистрибутивности:
по закону дистрибутивности:
по закону исключенного третьего:
Матрица содержит три элементарных дизъюнкта:
Дизъюнкты матрицы
содержат контрарные атомы P1.(z)
и
,
P2.(x)
и
,
свободные переменные которых могут
быть одинаковыми или разными.