- •1. Множества и бинарные отношения
- •Множества
- •Определения и примеры
- •1.1.1 Множество
- •Операции над множествами
- •Элементы комбинаторики
- •Бинарные отношения
- •Определения и примеры
- •2.1.2 Отображения
- •Операции над отношениями
- •Выполнение операций над отношениями
- •Свойства отношений
- •Эквивалентность и толерантность
- •2.4.1 Эквивалентность
- •2.4.3 Толерантность
- •2.4.6 Задача о наименьшем покрытии (ЗНП)
- •Алгоритм решения ЗНР
- •Отношения порядка
- •Строгий порядок
- •Свойства строгого порядка
- •Некоторые свойства дерева
- •Анализ отношений порядка
- •2.5.8 Решетки
- •2.5.10 Решетка
- •2.5.11 Булева решетка
- •Нормированные булевы решетки
- •Модели нормированной булевой решетки
- •Булевы функции (БФ)
- •Определения и примеры
- •Равенство булевых функций
- •3.3.1 СДНФ
- •3.3.3 СКНФ
- •3.3.5 Представление формул в СДНФ и СКНФ
- •Минимизация булевых функций
- •3.4.1 Импликанта
- •Полные системы булевых функций
- •2. Математическая логика
- •Логика высказываний
- •Основные понятия
- •4.1.7 Логическое следствие
- •4.1.8 Теоремы о логическом следствии
- •Логика предикатов
- •5.0.13 Связанные и свободные переменные
- •Предваренная нормальная форма
- •Стандартная нормальная форма
- •Подстановки и унификация
- •Метод резолюций для логики первого порядка
- •Исчисление высказываний
- •3. Графы
- •Определения и примеры
- •Определения графа
- •Части графа
- •Изоморфизм графов
- •Задание графов с помощью матриц
- •Матрица инциденций
- •Матрица соседства вершин
- •Матрица смежности
- •Типы графов
- •Обыкновенные графы
- •Графы Бержа
- •Помеченные и взвешенные графы
- •Другие способы задания графа
- •Связность графов
- •Маршруты, цепи, циклы
- •Число маршрутов
- •Компоненты связности
- •Нахождение компонент и бикомпонент
- •Кратчайшие цепи
- •Алгоритм Форда
- •Алгоритм Дейкстры
- •Обходы графа
- •Поиск в глубину на графе
- •Поиск в ширину на графе
- •Эйлеровы цепи и циклы
- •Эйлеровы пути
- •Гамильтоновы цепи и циклы
- •Цикломатика графов
- •Цикломатическое число
- •Деревья
- •Свойства дерева
- •Каркасы
- •Алгоритм нахождения каркаса графа.
- •Кратчайший каркас графа.
- •Алгоритм Прима.
- •Теорема о хорде каркаса.
- •Число каркасов графа.
- •Разрезы
- •Пространства суграфов
- •Пространство циклов
- •Пространство разрезов.
- •Потоки в сетях
- •Задача о максимальном потоке
- •Постановка задачи
- •Экстремальные части графа
- •Основные понятия
- •Покрытия
- •Задача о наименьшем покрытии
- •Паросочетания
- •Раскраска вершин графа
- •Хроматическое число
- •Оценки хроматического числа
- •Точные алгоритмы раскраски вершин
4.1. Основные понятия |
147 |
||
|
|
|
|
Логическое |
|
|
|
следствие |
Пусть даны |
формулы F1; F2; : : : ; Fn и |
|
|
формула G. |
|
|
Определение. Формула G есть логическое следствие формул
F1; F2; : : : ; Fn (или логически следует из F1; F2; : : : ; Fn) тогда итолько тогда, когда для всякой интерпретации I, в которой
F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn истинна, G также истинна.
Пример 4.9.
F1 : p ! q; F2 : p;
G : q.
p |
q |
p ! q |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
|
|
|
В той интерпретации I, в которой p ! q и p истинны, формула G тоже истинна; следовательно, G есть логическое следствие формул F1 и F2. J
Теоремы о логическом следствии
общезначима.
Пусть даны формулы F1; F2; : : : ; Fn и формула G.
Теорема 4.1 G есть логическое следствие
формул F1; F2; : : : ; Fn тогда и только тогда, когда формула
F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G (¤)
Д о к а з а т е л ь с т в о . 1. °) Пусть G – логическое
следствие формул F1; F2; : : : ; Fn. Если F1; F2; : : : ; Fn истинны в интерпретации I, то, по определению логического следствия,
G истинна в I. Следовательно, формула
F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G |
(4.1) |
148 |
Глава 4. Логика высказываний |
|
|
истинна в I.
Если же не все F1; F2; : : : ; Fn истинны в I, т.е. хотя бы одна из них ложна в I, то F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G все равно истинна в I.
Таким образом, формула F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G истинна в любой интерпретации, т.е. это общезначимая формула.
2. °( Пусть F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G общезначимая формула. Для всякой интерпретации I, в которой F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn истинна, G также должна быть истинной. Но это и есть определение логического следствия. Теорема доказана. £
Теорема 4.2 Формула G есть логическое следствие формул F1; F2; : : : ; Fn тогда и только тогда, когда формула
F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ^ :G (¤¤)
противоречива.
Д о к а з а т е л ь с т в о . По теореме 4.1 G – логическое следствие формул F1; F2; : : : ; Fn тогда итолько тогда, когда формула F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G общезначима. Значит, G также является логическим следствием F1; F2; : : : ; Fn тогда и только тогда, когда отрицание этой формулы противоречиво. Это, в свою очередь, значит, что формула
:(F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G) =
=:(:(F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn) _ G) =
=:(:(F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn)) ^ :G =
= F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ^ :G |
(4.2) |
должна быть противоречивой. £ Теоремы 4.1 и 4.2 являются фундаментальными в мате-
матической логике. Из них вытекает: доказательство того, что некоторая формула есть логическое следствие некоторого множества формул, эквивалентно доказательству того, что некоторая связанная с ними формула общезначима или противоречива.
4.1. Основные понятия |
149 |
|
|
|
|
Если G есть логическое следствие формул F1; F2; : : : ; Fn, то формула (F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G) называется теоремой, F1; F2; : : : ; Fn называются аксиомами (постулатами, посылками), а G – следствием (заключением). Тот факт, что формула G является логическим следствием формул F1; F2; : : : ; Fn обозначается с помощью символов ` или ) :
F1; F2; : : : ; Fn ` G или ` F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G,
либо
F1; F2; : : : ; Fn ) G.
Существует и другое, традиционное, обозначение логического следствия:
F1; F2; ¢ ¢ ¢ ; Fn .
G
В частности, если F = G (формулы эквивалентны), то каждая из них является логическим следствием другой и доказательство эквивалентности является доказательством логического следствия.
Тавтология (общезначимая формула) обозначается символом j=. Таким образом, если G – логическое следствие формул F1; F2; : : : ; Fn, то обозначения
` F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G и
j= F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G
равносильны. |
|
Методы |
Рассмотрим на примере, каким образом |
можно доказывать теоремы. |
|
доказательства |
Пример 4.10. Пусть даны формулы F1 : p ! |
теорем |
q; F2 : :q; G : :p. |
|
Обозначим через F конъюнкцию F = F1 ^ F2 = (p ! q) ^ :q и построим такие таблицы истинности :
150 |
|
|
|
|
Глава 4. |
Логика высказываний |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
p |
q |
F1 |
F2 |
G |
F ! G |
F ^ :G |
|
|
|
0 |
0 |
1 |
1 |
1 |
1 |
|
0 |
|
|
0 |
1 |
1 |
0 |
1 |
1 |
|
0 |
|
|
1 |
0 |
0 |
1 |
0 |
1 |
|
0 |
|
|
1 |
1 |
1 |
0 |
0 |
1 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
Метод 1. С помощью таблиц истинности показать, что формула G истинна в каждой модели формулы F (в нашем примере (p ! q)^:q и :p истинны в интерпретации f:p; :qg), т.е. в каждой интерпретации, в которой истинна формула F .
Метод 2. С помощью таблиц истинности показать общезначимость формулы F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ! G (в нашем примере: (p ! q) ^ :q ! :p общезначима).
Метод 3. С помощью таблиц истинности показать противоречивость формулы F1 ^F2 ^¢ ¢ ¢^Fn ^:G (в нашем примере: (p ! q) ^ :q ^ p противоречива).
Метод 4. С помощью приведения к КНФ алгебраически доказать общезначимость формулы F1 ^F2 ^¢ ¢ ¢^Fn ! G . Для нашего примера:
(p ! q) ^ :q ! :p = :((:p _ q) ^ :q) _ :p = (p ^ :q) _ q _ :p =
= (p _ q _ :p) ^ (:q _ q _ :p) = 1 ^ 1 = 1.
Метод 5. С помощью приведения к ДНФ доказать алгебраически противоречивость формулы F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ^ :G . Для нашего примера:
(p ! q) ^ :q ^ p = (:p _ q) ^ :q ^ p = (:p ^ :q ^ p) _ (q ^ :q ^ p) = 0 _ 0 = 0.
Метод |
Преобразуя формулу F1 ^ F2 ^ ¢ ¢ ¢ ^ Fn ^ :G |
из теоремы 4.2 в КНФ, получим формулу в |
|
резолюций |
виде конъюнкции клозов |
|
C1 ^ C2 ¢ ¢ ¢ ^ Cn, где Ci – клоз. |
Множество клозов определяется как
S = fC1; C2; : : : ; Cng.
4.1. Основные понятия |
151 |
|
|
|
|
По существу это просто другая форма представления формулы – запятая между формулами заменяет конъюнкцию.
Определение. Два литерала L1 и L2 называются контрарны-
ми, если L1 = :L2.
Пример 4.11.
Контрарные пары литералов: L1 = p; L2 = :p; L1 = :q; L2 = q. J
Пусть даны два клоза C1 и C2, такие, что C1 содержит литерал L1, а C2 – контрарный ему литерал L2 (L1 = :L2).
Определение. Резольвентой C клозов C1 и C2 называется клоз C10 _ C20 , где C10 получен из C1 отбрасыванием L1, а C20 получен из C2 отбрасыванием L2.
Примеры 4.12.
1.C1 : p _ r, C2 : :p _ q; C : r _ q.
2.C1 : r _ q _ :p, C2 : p _ s; C : r _ q _ s.
3.C1 : :p _ q, C2 : :p _ r – резольвенты не существует. J
Важным свойством резольвенты является то, что любая резольвента двух клозов C1; C2 есть логическое следствие C1 и C2.
Теорема 4.3 Резольвента C клозов C1 и C2 является их логическим следствием.
Д о к а з а т е л ь с т в о . Пусть C1 = C10 _ L, C2 = C20 _ :L. C = C10 _ C20 , где C10 ; C20 – клозы. Нужно доказать, что C есть
логическое следствие C1 и C2, т.е. что
(C10 _ L) ^ (C20 _ :L) ! (C10 _ C20 ) – тавтология.
Пусть C1 и C2 истинны в некоторой интерпретации I. Нужно доказать, что C также истинный в I. Отметим, что либо L, либо:L ложно в I.
Если L = 0, то C10 = 1 и (C10 _ C20 ) = 1.
Если :L = 0, то C10 = 1 и (C10 _ C20 ) = 1.
Другое, более формальное доказательство: докажем противоречивость формулы
(C10 _ L) ^ (C20 _ :L) ^ :(C10 _ C20 )
152 |
Глава 4. Логика высказываний |
|
|
(C10 _ L) ^ (C20 _ :L) ^ :C10 ^ :C20 = |
|
= (C10 ^ C20 _ C10 ^ :L _ C20 |
^ L _ L ^ :L):C10 ^ :C20 = 0. £ |
Определение. Резольвента двух контрарных литералов fL; :Lg, которая соответствует выводу 0 (формулы “ложь"), называется пустым клозом и обозначается 2.
Если имеются два единичных клоза, то их резольвента, если она существует, есть пустой клоз. Более существенно то, что для невыполнимого множества клозов применение правил резолюции могут породить 2.
Пусть S – множество клозов.
Определение. Резолютивный вывод C из S есть такая конечная последовательность C1; C2; : : : ; CN клозов, что каждый Ci или принадлежит S, или является резольвентой клозов, пред-
шествующих Ci и CN = C.
Два клоза, из которых выведена резольвента Ci, называются родительскими клозами. Вывод 2 из S называется опровержением или доказательством невыполнимости S. Говорят, что клоз C может быть выведен из S, если существует вывод C из S.
Примеры 4.13.
1. S = f:p _ q; :q; pg; C1 : :p _ q,
C2 : :q, C3 : p,
C4 : :p(из C1 и C2), C5 = 2 (из C3 и C4).
2. S = fp _ q; :p _ q; p _ :q; :p _ :qg; C1 : p _ q,
C2 : :p _ q, C3 : p _ :q, C4 : :p _ :q,
C5 : q (из C1 и C2), C6 : :q (из C3 и C4), C7 : 2 (из C5 и C6). J
4.1. Основные понятия |
153 |
|
|
|
|
Теорема 4.4 (о полноте резолютивного вывода) Множество клозов S противоречиво тогда и только тогда, когда существует резолютивный вывод пустого клоза 2 из S.
Д о к а з а т е л ь с т в о . 1. °( Обозначим через S0 множество клозов, состоящее из S и клозов, выведенных из S на основе метода резолюций. Покажем, что если S0 противоречиво, то и S противоречиво.
Действительно, если S0 противоречиво, то для всякой интерпретации I найдется такой клоз C0 2 S0, что C0 = 0.
Если C0 2 S, то S = C1 ^ C2 ^ ¢ ¢ ¢ ^ Ck также принимает значение 0.
Если C0 62S, то C0 – резольвента, выведенная из S, например, из клозов Ci; Cj 2 S. Тогда Ci; Cj ` C0, или формула Ci ^ Cj ! C0 общезначима. Но так как C0 ложно, то либо Ci = 0, либо Cj = 0. Таким образом, для любой интерпретации I найдется ложный клоз в S, следовательно, S противоречиво.
Теперь предположим, что из S выведен пустой клоз 2. Докажем, что в этом случае множество S0 противоречиво, а значит и S противоречиво (т.е. существует вывод 2 из S).
Пусть R1; R2; : : : Rl – резольвенты в выводе. Предположим, что S0 выполнимо в некоторой интерпретации I. Однако, если в этой интерпретации Ci и Cj выполнимы, то и любая их резольвента выполнима в этой интерпретации. Значит и резольвенты R1; R2; : : : Rl выполнимы в I.
Это, однако, невозможно, т.к. одна из резольвент есть 2. Поэтому S0 – невыполнимо (противоречиво), а значит, и S противоречиво.
2. °) Пусть теперь множество S противоречиво. Покажем, что существует резолютивный вывод 2 из S.
Доказательство проводится индукцией по числу k(S) “лишних"литералов. Пусть S = fC1; : : : ; Cng, а jLij – число литералов в Ci. Тогда
k(S) = Pn jLij ¡ n.
i=1
154 |
Глава 4. Логика высказываний |
|
|
Базис индукции. Положим k(S) = 0. При этом возможны два случая.
1.Множество S состоит из единичных клозов, т.е. каждый
Ci содержит по одному литералу. Так как S противоречиво, то оно должно содержать контрарную пару клозов (иначе возможна интерпретация, в которой S не ложно). Резольвента контрарной пары дает пустой клоз 2.
2.Множество S содержит хотя бы один клоз, состоящий из двух литералов. Но тогда S обязано содержать и пустой клоз (иначе оно не будет противоречивым).
Базис индукции доказан.
Шаг индукции. Предположим, что теорема справедлива для k(S) < n и докажем ее для k(S) = n.
Пусть 2 62S. Так как k(S) > 0, то в S найдется клоз C = Ci _ L, где L – литерал.
Пусть S = S0 [ fCi _ Lg, где S0 = S n fCg. Обозначим
S1 = S0 [ fCig и S2 = S0 [ fLg.
Покажем,что если S противоречиво, то S1 и S2 также противоречивы. Пусть I1 – множество интерпретаций, в которых C истинно.
Так как S противоречиво, то S0 содержит хотя бы один ложный клоз для каждой I 2 I1. Но тогда и S1 и S2 ложны для каждой I 2 I1.
Пусть I0 – множество интерпретаций, в которых C ложен. Тогда для каждой I 2 I0 Ci = 0 и L = 0, следовательно, ложны и S1 и S2.
Таким образом, S1 и S2 ложны в любых интерпретациях, т.е. противоречивы.
Так как в S1 и в S2 одинаковое число клозов и столько же , сколько в S, S1 содержит на один литерал меньше, а S2 содержит по крайней мере на один литерал меньше, чем S, то
k(S2) · k(S1) < k(S) = n.
4.1. Основные понятия |
155 |
|
|
|
|
Следовательно, по предположению индукции, из S1 и из S2 может быть выведен пустой клоз 2.
Обозначим через Rl(S) множество клозов, полученных в результате применения к S l шагов резолютивного вывода. Мы показали, что существуют такие i и j, что
2 2 Ri(S1); 2 2 Rj(S2).
Пусть i шагов резолюции, которые привели к выводу 2 из S1 применены к S = S0 [ fCi _ Lg. При этом будет получен либо пустой клоз 2 (и тогда теорема доказана), либо L.
Если выведено L, то, так как S0 µ S µ Ri(S) и L 2 Ri(S), то и S2 = S0 [ fLg µ Ri(S).
Теперь для вывода 2 можно к S2 применить, как к подмножеству Ri(S), j шагов резолюции, которые, как мы показали, существуют. £
Применение резолютивного вывода без ограничений приводит к большому числу клозов и существенному снижению эффективности доказательства теоремы.
Процесс резолютивного вывода пустого клоза можно представить в виде графа опровержения.
C1 |
C2 |
C3 |
|
C4 |
|||||||
|
|
r@@ ¡¡@r @ ¡¡@r |
@ ¡¡ |
|
r |
||||||
|
|
||||||||||
|
|
@R |
ª¡ |
|
@R ¡ª |
|
|
@R ª¡ |
|
|
|
|
|
?¡¡@r @ ¡¡@r @ ¡¡@r |
@ |
|
? |
||||||
ª¡ |
R@ ¡ª |
R@ |
¡ª |
R@ |
|||||||
|
@r @ ¡¡@r @ ¡¡@r |
@ ¡¡r |
|||||||||
|
|
@R |
ª¡ |
|
@R ¡ª |
|
|
@R ª¡ |
|||
|
|
|
r@@ ¡¡@r @ |
|
¡¡r |
|
|
|
|||
|
|
|
@R |
ª¡ |
R@ |
|
¡ª |
|
|
|
|
|
|
|
|
r@ |
¡rr |
|
|
|
|
|
@R ¡ª
156 |
Глава 4. Логика высказываний |
|
|
Каждая вершина графа (кроме исходных) представляет клоз, полученный в результате применения резолюции к двум родительским клозам (степени захода равны 2 или 0).
Для применения резолютивного вывода на практике используют различные стратегии отбора клозов для вывода –
стратегии очищения.
Синтаксические стратегии производят отбор клозов для резолюции только на основе их структурных свойств, таких, например, как число содержащихся в них литералов. При этом в расчет не принимаются ни истинные, ни ложные интерпретации этих клозов.
Семантические стратегии, наоборот, учитывают в первую очередь истинность клозов в некоторых интерпретациях.
Стратегии, учитывающие ход вывода предполагают отбор клозов на основе хода уже осуществленного вывода. Например, в стратегии исходных данных в каждой паре клозов, из которых выводится резольвента, по крайней мере один клоз должен принадлежать исходному множеству S.
Примеры стратегий
Стратегия предпочтения одночленов.
Если клозы C1 и C2, содержащие, соответственно, m и n литералов, можно разрешить друг с другом, то их резольвента содержит не более (m ¡ 1) + (n ¡ 1) литералов. Если в одном из них, например C1, содержится только один литерал, то резольвента будет содержать n¡1 литералов. Так как цель вывода – получить пустой клоз (не содержащий литералов), то это шаг в нужном направлении.
Стратегия предпочтения одночленов предполагает отбор в первую очередь одночленов (клозов с одним литералом). В более общем случае, сначала отбираются более короткие клозы, а затем уже более длинные. Из рассмотрения не исключается ни один клоз, а лишь устанавливается порядок применения резолюций.
Это чисто синтаксическая стратегия.
Исключение тавтологий и уникальных литералов.
4.1. Основные понятия |
157 |
|
|
|
|
Эта семантическая стратегия предлагает удалять некоторые клозы из S до их участия в выводе. При этом, конечно, оставшееся после удаления множество S? должно оставаться противоречивым.
Удаление тавтологий не нарушает противоречивости S. Если, кроме того, некоторый клоз содержит уникальный литерал L, для которого нет контрарного, то его тоже можно удалить, т.к. никакая резолюция с ним не приведет к 2.
Линейный вывод
Это пример стратегии, учитывающей ход вывода. Пусть C0 – любой клоз противоречивого множества S, Ci; i > 0 – любой i-й клоз, выведенный последовательностью резолюций, начавшейся с C0 и некоторого другого клоза из S.
Если i-й клоз всегда имеет в качестве одного из родительских клозов (левый) (i ¡ 1)-й клоз вывода, то вывод называется линейным.
Пример 4.14.
S = fq; p _ r; :p _ s; :r _ s; :p _ :q _ :s; :q _ :r _ :sg.
Один из возможных выводов представлен на диаграмме. Горизонтальные стрелки на диаграмме показывают, из каких клозов выводится очередная резольвента; наклонные стрелки показывают выбор левого родительского клоза.
За начальный клоз выбран C0 : (:p_:q_:s); затем в качестве левого родительского клоза всегда выбирается резольвента, полученная на предыдущем шаге вывода; правым родительским клозом может быть любой клоз из множества S0, состоящего из исходного множества S и резольвент, полученных на предыдущих шагах вывода. J
Открытым остается вопрос о том, как найти линейный вывод, который приведет к 2 и, желательно, наиболее коротким путем.