- •Математическая логика
- •Глава 3. Формализация понятие алгоритма 42
- •Математическая логика как наука
- •Глава 1. Исчисление высказываний
- •1.1. Высказывания
- •1.2 Формулы
- •1.3. Выполнимые и общезначимые формулы
- •1.4. Алгебраический подход
- •1.6. Логический вывод
- •1.6.1. Прямой вывод
- •1.5 Дизъюнкты и нормальные формы
- •1.6.2. Доказательство «от противного»
- •1.6.3. Метод резолюций
- •1.6.4. Фразы Хорна
- •1.7. Примеры использования метода резолюций в логике высказываний
- •1.8. Непротиворечивость аксиом
- •1.9. Аксиоматизация логики высказываний
- •Глава 2. Логика предикатов
- •2.1 Предикаты
- •2.2. Применение логических связок
- •2.3. Кванторы
- •2.4. Свободные и связанные переменные
- •2.5. Предикатные формулы
- •2.6. Предварённая нормальная форма
- •2.7. Сколемовская и клаузальная формы
- •2.8. Метод резолюций в логике предикатов
- •2.9. Принцип логического программирования
- •Глава 3. Формализация понятие алгоритма
- •1. Историческая справка
- •2. Общее понятие алгоритма
- •3. Машина Тьюринга
- •4. Нормальные алгорифмы Маркова.
- •Литература
1.5 Дизъюнкты и нормальные формы
Бывает полезно преобразовать заданную формулу в эквивалентную ей, имеющую вид «нормальной» или «канонической» формы.
Дизъюнктом называется дизъюнкция конечного числа высказываний, то есть формула вида
P1Ú
P2
Ú…Ú
PN
или
или Ú{Pi
| i=1,…,N}
Конъюнктивной нормальной формой (КНФ) называется конъюнкция конечного числа дизъюнктов.
Теорема. Любая формула имеет логически эквивалентную ей КНФ.
Алгоритм нормализации:
Исключение связок эквивалентности и импликации;
Необходимое число раз применяются правила преобразования из законов де Моргана, чтобы отрицания перевести на уровень элементарных выска-зываний.
Необходимое число раз применяются законы дистрибутивности (раскрыть все скобки).
Дизъюнкты, содержащие противоположности (т.е. высказывание и его отрицание), общезначимы и могут быть опущены. Можно опускать повторения в пределах одного дизъюнкта. Полученная таким способом нормальная форма называется приведённой. В ней в каждый дизъюнкт любое элементарное высказывание входит не более одного раза.
Дизъюнкт общезначим тогда и только тогда, когда он содержит пару противоположных высказываний. Нормальная форма общезначима тогда и только тогда, когда все ее дизъюнкты общезначимы.
Понятие дизъюнкта важно для практики. Описание задач и алгоритмов в терминах дизъюнктов составляет основу логического программирования.
Двойственным понятием к дизъюнкту является конъюнкт. Дизъюнктивная нормальная форма (ДНФ) – дизъюнкция конечного числа конъюнктов. Можно показать, что любая формула приводима к логически эквивалентной ей ДНФ.
Контрольное задание. Привести формулы к КНФ
r Û Ø(P S),
(r & S) (q & r);
(P q) Þ (Øq ØS),
(r & q)Û (ØP Ú S)
(P & r) (P Ú r)
(P & (r Ú Øq)) Ú (ØP & r) Ú ((P Ú Øq) &Ør)
1.6. Логический вывод
Высказывание C есть логическое следствие высказываний H1, H2, ¼HN, что записывается в виде { H1, H2, ¼, HN}½= C,
если всякий раз, когда все Hi равны Тrue, значение C тоже равно Тrue. Здесь Hi могут быть формулами элементарных высказываний.
Говорят, что C следует из H={H1, H2, ¼, HN}.
Выражения H1, H2, ¼, HN называются посылками или аксиомами, а C – выводом из этих посылок или теоремой.
Фундаментальная проблема логики, называемая проблемой вывода, состоит в следующем: определить, является ли формула С логическим следствием множества формул H. Решение этой задачи называют выводом теоремы из аксиом.
Выводу сопоставляется цепочка высказываний С1, С2,¼, СK, где СK = С, а каждое высказывание Сi либо является тавтологией, либо следует из аксиом и высказываний, предшествующих данному.
1.6.1. Прямой вывод
В прямом выводе используется знание семантики тех операторов, через которые строятся аксиомы. Так, если аксиома утверждает, что A&B, то из смысла этого утверждения следует, что истинными будут высказывния A и B, которые войдут в цепочку вывода. Если известно, что истинным являются высказывания {AvB, `A}, то истинным будет высказывание B именно исходя из смысла этих высказываний. В прямом выводе строится цепочка высказываний, обозначенная выше как C1, C2, …,CK, которая и является выводом.
Пример. Доказать или опровергнуть следствие:
B®`A, A&D, BvC ½= D&C.
Пронумеруем аксиомы: B®`A (1), A&D (2), BvC (3). Вывод. Из (2) Þ A (4), из (2) Þ D (5), из (4) и (1) Þ`B (6), из (6) и (3) ÞС (7), из (5) и (7) следует D&C. Здесь используется свойство связок И, ИЛИ и СЛЕДУЕТ. Действительно, A&B истинна, если истинны A и B одновременно (вывод 4 и 5) . Если A= T, то `A = F, значит B не может быть T, т.е. B=F (вывод 6). Если B=F и BvC истинно, то C должно быть равно T (вывод 7). Наконец, из (7) и (5) следует искомый вывод.
