Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii-DM-Logika-Grafy.pdf
Скачиваний:
93
Добавлен:
30.05.2015
Размер:
1.71 Mб
Скачать

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, содержится только один литерал, то резольвента будет содержать 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 и, желательно, наиболее коротким путем.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]