Professional Documents
Culture Documents
Морох 3 (Мат. логика)
Морох 3 (Мат. логика)
Дискретний аналіз
Курс лекцій
для студентів спеціальностей,
пов’язаних з інформаційними технологіями та
захистом інформації
Київ
НТУУ «КПІ»
2010
Дискретний аналіз: Ч.2 Елементи математичної логіки: Курс лекцій для студентів спец.,
пов’язаних з інформ. технологіями та захистом інформації / Уклад. М.К.Мороховець. –
К.: НТУУ «КПІ», 2010. –– 70 с., 8 рис., 4 джерела.
Навчальне видання
Дискретний аналіз
Курс лекцій
для студентів спеціальностей,
пов’язаних з інформаційними технологіями та
захистом інформації
2
ВСТУП
3
МОВА ЛОГІКИ ВИСЛОВЛЕНЬ
4
еквівалентність (аналог звороту «тоді й тільки тоді, коли»). Дамо
рекурсивне визначення формули (або правильно побудованого виразу)
логіки висловлень.
1. Атом є формулою.
2. Якщо F – формула, то (F) – формула.
3. Якщо F1, F2 – формули, то (F1)(F2), (F1)(F2), (F1)(F2), (F1)(F2)
– формули.
4. Якщо F – формула, то (F) – формула.
5. Інших формул немає.
Мовою логіки висловлень назвемо множину усіх формул (або
правильно побудованих виразів) логіки висловлень.
Приклади формул: (P) ((Q) (((P)) (R))); ((Q) ((P) ((R))));
(((Q) (P))); (((Р)(Q)))(((R))((Q))). Вирази P, PQ, PQ,
R() не є правильно побудованими.
Якщо вважати, що логічним зв’язкам приписано ранг, що
зменшується згідно з таким порядком: , , , , , й умовитися, що
зв’язка з більшим рангом має більшу область дії, то без деяких дужок у
формулах можна обійтися. Крім того, домовимося опускати зовнішні
дужки формули та дужки біля атомів. Таким чином,
RPQ означає ((R)((P)(Q))),
PQRQP означає (((P))((Q)(R)))(((Q))(P)),
PQR означає ((P)((Q)))(R).
Формули можуть мати імена. На письмі ім’я формули розміщується
перед формулою й між ними ставиться знак «=». Наприклад, F=Р(QR).
Подамо у вигляді формул висловлення 1) - 4), наведені вище, або,
іншими словами, виконаємо переклад цих висловлень мовою логіки
висловлень. Для цього треба здійснити розбір кожного висловлення як
5
речення української мови, виділити у кожному з них прості речення;
розглядаючи кожне з простих речень як висловлення, увести для нього
позначення (атом); потім з’ясувати, за допомогою яких мовних засобів з
простих речень утворене складне речення, знайти у мові логіки висловлень
відповідні логічні зв’язки й побудувати формулу з уведених атомів та
знайдених логічних зв’язок, зберігаючи структуру даного висловлення.
Отже, розглянемо висловлення 1): «Зараз іде дощ, й небо захмарене».
Це є складносурядне речення; воно складається з двох простих речень,
кожне з яких є простим висловленням («зараз іде дощ» та «небо
захмарене»). Позначимо висловлення «зараз іде дощ» символом А, а
висловлення «небо захмарене» – символом В (тобто уведемо атоми А та
В). Зазначимо, що висловлення 1) утворене з виділених простих
висловлень за допомогою сполучника «й», аналогом якого є логічна
зв’язка . Отже, висловлення 1) можна подати у вигляді такої формули
логіки висловлень: АВ.
Висловлення 2) складене з простих висловлень «мами немає вдома»
(уведемо для його позначення атом С) та «ця дівчинка сумує» (уведемо для
його позначення атом D) за допомогою звороту «якщо…, то», аналогом
якого є логічна зв’язка . Отже, це висловлення можна подати у вигляді
формули СD.
Висловлення 3) є складнопідрядним реченням, що складається з двох
частин, кожна з яких є висловленням, а саме: «літо спекотне або до нас
приїжджають родичі з Сибіру» та «ми відпочиваємо у горах»; ці частини
з’єднані у одне речення за допомогою звороту «якщо…, то». Отже, переклад
цього висловлення мовою логіки висловлень буде мати форму XY.
Знайдемо тепер формули, які маємо підставити замість Х та Y. Зрозуміло,
що замість Х треба підставити переклад мовою логіки висловлень фрази
6
«літо спекотне або до нас приїжджають родичі з Сибіру», а замість Y –
фрази «ми відпочиваємо у горах». Проаналізуємо висловлення «літо
спекотне або до нас приїжджають родичі з Сибіру». Це є складне речення,
що утворене з двох частин («літо спекотне» та «до нас приїжджають родичі
з Сибіру», що з’єднані за допомогою сполучника «або», причому кожна з
частин є простим висловленням. Отже, можемо увести атом Е замість
висловлення «літо спекотне» та атом G – замість висловлення «до нас
приїжджають родичі з Сибіру». Таким чином, перекладом висловлення
«літо спекотне або до нас приїжджають родичі з Сибіру» буде формула
ЕG, отже, ми знайшли вираз Х. Тепер знайдемо вираз Y. Для цього
проаналізуємо висловлення «ми відпочиваємо у горах». Це є просте
висловлення; уведемо для його позначення атом H. Отже, остаточно
висловлення 3) перекладається формулою (ЕG)Н.
Висловлення 4) є складним реченням, дві частини якого («матриця
має обернену» та «її визначник не дорівнює нулю») є простими
висловленнями, що з’єднані (у речення) за допомогою звороту «тоді й
тільки тоді, коли» (аналогом якого є логічна зв’язка ). Уводячи атом К
замість простого висловлення «матриця має обернену» та атом L – замість
простого висловлення «її визначник не дорівнює нулю», маємо для
висловлення 4) формулу КL.
Контрольні питання
1. Що таке висловлення?
2. Що таке атомарна формула?
3. Що таке формула логіки висловлень?
4. Що таке мова логіки висловлень?
7
Задачі та вправи
8
2. С: «Сьогодні ясно»
R: «Сьогодні дощить»
S: «Сьогодні падає сніг»
Y: «Вчора було похмуро».
а) С(RS), б) YC,
в) (YR)C, г) C(RS)Y,
д) (CR)(SY), є) Y(CR).
F1 F2 F1 F2 F1 F2 F1 F2 F1 F2 F F
-------------------------------------------------------------------------------
0 0 0 0 1 1 0 1
0 1 0 1 1 0 1 0
1 0 0 1 0 0
1 1 1 1 1 1
9
входять в неї. Розглянемо, наприклад, формулу F: QPQR. Атомами у
ній є Q, P, R. Якщо істинносними значеннями Q, P й R є відповідно 0, 0 й
1, то, за таблицями істинності, Q=1, QP=0, QR=1, а F приймає
значення 1. Якщо атомам Q, P й R приписати значення 1, 1, 0, то F приймає
значення 0.
Зазначимо, що таблиці істинності задають операції , , , , на
множині істинносних значень {0,1}.
Нехай F – формула, A1,…, An – усі попарно різні атоми, що входять у
F. Інтерпретацією формули F називається таке відображення h множини
атомів A1,…, An у множину істинносних значень 0,1, що для будь-яких
формул F1 та F2, що містять атоми A1,…, An, h(F1F2)=h(F1)h(F2),
h(F1F2)=h(F1)h(F2), h(F1F2)=h(F1)h(F2), h(F1F2)=h(F1)h(F2),
h(F1)=h(F1).
Якщо A1,…, An – усі атоми, що входять у деяку формулу, зручно
подавати інтерпретацію цієї формули у вигляді множини {m1,…,mn}, де mi
– це Ai, якщо Ai приймає значення 1 при даній інтерпретації, або Ai, якщо
Ai приймає значення 0 при даній інтерпретації. Наприклад, множина {P,
Q, R} представляє інтерпретацію, при якій атомам P й Q приписано
значення 0, а атому R – значення 1.
Формула F називається істинною (хибною) при даній інтерпретації,
якщо F приймає значення 1 (0) при цій інтерпретації.
Моделлю формули F називається така інтерпретація формули F, при
якій F приймає значення 1. Якщо існує інтерпретація, при якій формула F
приймає значення 1, то будемо говорити, що формула F має модель.
Наприклад, формула F=АВС має модель {A,B,C}. Перевіримо це.
Для цього обчислимо істинносне значення формули F при інтерпретації
{A,B,C}, підставивши значення 1 замість атомів А, В, С у F та скориставшись
10
таблицями істинності. Маємо: 111=011=11=1. Оскільки формула
F приймає значення 1 при інтерпретації {A,B,C}, то дана інтерпретація є
моделлю F, й, відповідно, F має модель.
Твердження 1. Якщо формула містить n різних атомів, то вона має
2n різних інтерпретацій.
Доведення грунтується на застосуванні означення n-арної функції з
множини Х у множину Y.
Формула називається тотожно істинною (тавтологією), якщо
вона істинна при усіх можливих інтерпретаціях.
Формула називається тотожно хибною (суперечною,
суперечныстю), якщо вона хибна при усіх можливих інтерпретаціях.
Формула називається несуперечною, якщо вона не є тотожно хибною.
Наприклад, формула PP є тавтологією; формула PP суперечна;
формула PQ несуперечна, але не є тавтологією.
Контрольні питання
11
Задачі та вправи
12
2. Формула F тотожно хибна тоді й тільки тоді, коли формула F є
тавтологією.
3. Якщо формула тотожно істинна, то вона несуперечна, але не навпаки.
4. Якщо формула суперечна, то вона не є тавтологією, але не навпаки.
IV. Записати детальне доведення твердження 1.
V. Нехай формули F1 та F1F2 є тотожно істинними. Довести, що F2
тотожно істинна.
VІ. Нехай формула F є тавтологією, A1, A2,…,An – атоми, що входять у F.
Нехай формула F0 утворюється у результаті підстановки у F деяких
формул F1,F2,…,Fn замість атомів A1,A2,…,An. Довести, що F0 є
тавтологією.
13
8) F1 F1 = F1; F1 F1 = F1; (закони ідемпотентності)
9) F1 (F1 F2) = F1; F1 (F1 F2) = F1; (закони поглинання)
10) (F1 F2) = F1 F2; (F1 F2) = F1 F2;
11) (F1) = F1; 1=0; 0=1;
12) 1F1=1; 1 F1 = F1; 0 F1 =F1; 0F1=0, F1F1=0, F1F1=1.
Внаслідок законів асоціативності дужки у формулах виду F1 (F2
F3) або (F1 F2) F3, а також у F1 (F2 F3) або (F1 F2) F3 можна
опускати й писати F1 F2 F3 та F1 F2 F3. Отже, якщо F1, F2, …, Fn –
формули, nN+, будемо писати F1 F2 … Fn й F1 F2 … Fn замість F1
(F2 (… Fn)…) й F1 (F2 (… Fn)…). Вираз F1 … Fn (F1 … Fn)
називається диз’юнкцією (кон’юнкцією) формул F1,…, Fn.
Літерою називається формула, що має вигляд A або A, де A – атом.
Літера, що не містить знак “”, називається позитивною, інакше –
негативною.
Формула F є у кон’юнктивній нормальній формі (кнф, або КНФ), якщо
F=F1…Fn, де F1,…,Fn – формули, кожна з яких є літерою або диз’юнкцією
літер, nN+.
Диз’юнкт є диз’юнкція літер або літера.
Надалі будемо іноді вважати вирази “множина літер” та “диз’юнкт”
синонімами. Наприклад, QPR={Q,P,R}. Диз’юнкт, що містить r
літер, називається r-літерним диз’юнктом. Однолітерний диз’юнкт
називається одиничним диз’юнктом. Диз’юнкт, що не містить жодної
літери, називається порожнім (пустим) диз’юнктом (позначається ).
14
Зауважимо, що диз’юнкт, який містить контрарну пару, є тавтоло-
гією. Будемо називати такий диз’юнкт тавтологічним.
Нехай S – множина диз’юнктів. Будемо вважати, що множині S
відповідає формула, яка є кон’юнкцією усіх диз’юнктів з S. За кнф виду
F1…Fn побудуємо множину диз’юнктів {F1,…,Fn}. Отже, кнф будь-якої
формули може бути подана у вигляді множини диз’юнктів, й навпаки, за
множиною диз’юнктів може бути побудована формула у кон’юнктивній
нормальній формі.
Непорожню множину диз’юнктів S будемо називати суперечною,
якщо формула, що є кон’юнкцією усіх диз’юнктів з S, є суперечною.
Порожня множина диз’юнктів несуперечна, оскільки вона не містить
диз’юнктів, які б могли приймати значення 0 при якихось інтерпретаціях.
Формула F є у диз’юнктивній нормальній формі (днф, або ДНФ), якщо
F=F1…Fn, де F1,…,Fn – формули, кожна з яких є літерою або кон’юнкцією
літер, nN+.
Кон’юнкт є кон’юнкція літер або літера.
Наприклад, нехай P, Q, R – атоми. Тоді (PR)(QRP) є
формула у диз’юнктивній нормальній формі. Для цієї формули F1 = PR,
F2 = QRP; F1 є кон’юнкція літер P й R, а F2 є кон’юнкція літер Q,
R, P. (QRP)(RQ) – формула у кон’юнктивній нормальній формі.
Для цієї формули F1 = QRP, F2 = RQ; F1 – диз’юнкція літер Q, R, P, а
F2 – диз’юнкція літер R та Q.
Твердження 2. Будь-яка формула логіки висловлень може бути
перетворена у кнф та днф за допомогою співвідношень 1-12.
Дійсно, для перетворення формули у кнф або днф слід послідовно та
за потребою застосувати: співвідношення 1) F1 F2 = (F1F2) (F2F1)
для вилучення зв’язки , співвідношення 2) F1 F2 = F1 F2 для
15
вилучення зв’язки , тотожність 11) (F1) = F1 для спрощення формули,
співвідношення 10) (F1 F2) = F1 F2; (F1 F2) = F1 F2 для того,
щоб перенести знак заперечення безпосередньо до атомів (зменшити
область дії заперечення), закони комутативності, асоціативності та
дистрибутивності, щоб побудувати кнф або днф, тотожності 8,9,12, щоб
здійснити спрощення формули.
Розглянемо приклад. Побудуємо кон’юнктивну нормальну форму
для формули Q(P(RS)). Використовуючи співвідношення 1-12,
маємо:
Q(P(RS))=Q(P(RS))=Q(P(RS))=(QP)(Q(R
S))=(QP)(QR)(QS). Отже, кнф формули Q(P(RS)) є
формула (QP)(QR)(QS).
Контрольні питання
16
Задачі та вправи
ЛОГІЧНЕ СЛІДУВАННЯ
17
послідовності висловлень, що утворюють міркування, тобто такі
послідовності тверджень, у яких останнє твердження є висновком з
попередніх тверджень. Наведемо приклад міркування.
Якщо йде дощ, то люди користуються парасольками.
Іде дощ.
Отже, люди користуються парасольками.
Сукупність наведених трьох тверджень утворює міркування, у якому
перші два твердження являються посилками, а останнє – висновком.
Зазвичай твердження-висновок виділяється у міркуванні за допомогою
слова «отже» (а також слів «таким чином», «з цього випливає» і т.п.).
Щоб утворювати послідовності формул логіки висловлень, що є
аналогами міркувань, уведемо поняття логічного слідування формули з
сукупності формул.
Формула F називається логічним наслідком формул F1,…,Fn
(позначається F1,…,Fn╞═F), якщо при кожній інтерпретації, при якій усі
формули F1,…,Fn істинні, формула F також істинна. Говорять, що формули
F1,…,Fn є посилками F, а формула F випливає з F1,…,Fn, або має місце
логічне слідування формули F з формул F1,…, Fn.
З попереднього означення випливає, що формула F є логічним
наслідком формул F1,…,Fn тоді й тільки тоді, коли кожна модель формул
F1,…,Fn є моделлю формули F.
Наведемо приклади логічного слідування.
1. Формула PQ є логічним наслідком формул P та Q. Дійсно, існує модель
{P,Q} формул Р та Q, причому єдина. При інтерпретації {P,Q} формула
PQ приймає істинносне значення 1. Отже, кожна модель формул P та Q є
моделлю формули PQ, а це означає, що PQ є логічним наслідком P та Q.
18
2. Формула PQ не є логічним наслідком формул Q та PQ, оскільки
існує інтерпретація {P, Q}, при якій і Q, й PQ істинні, а PQ хибна.
Ми можемо використовувати логічне слідування для подання
міркування. Застосовуючи означення поняття логічного слідування ми
також можемо перевіряти правильність міркування. Розглянемо приклад.
Чи є логічно правильним таке міркування?
Дощ іде або спекотно. Якщо дощ не йде, то спекотно.
Якщо дощ іде, то не спекотно. Отже, якщо спекотно, то дощ не йде.
Можна сформулювати задачу інакше: чи випливає твердження «Якщо
спекотно, то дощ не йде» з тверджень: «Дощ іде або спекотно», «Якщо
дощ не йде, то спекотно», «Якщо дощ іде, то не спекотно»?
Щоб відповісти на це запитання, спочатку запишемо дані твердження
як формули логіки висловлень. Нехай D означає «Дощ іде», а S означає
«спекотно». Тоді початкова задача зводиться до перевірки того, чи є
формула SD логічним наслідком формул DS, DS, DS.
Оскільки, як неважко перевірити, формула SD істинна при тих
інтерпретаціях, при яких істинні формули DS, DS, DS, то SD
є логічним наслідком цих формул. Отже, твердження «Якщо спекотно, то
дощ не йде» випливає з поданих тверджень.
Поняття логічного слідування, суперечності та тавтологічності
пов’язані між собою. Цей зв’язок визначає така теорема.
Теорема 1. Нехай F1, F2, …, Fn, F – формули.
1) F1,F2…,Fn╞═ F тоді й тільки тоді, коли формула F1F2…FnF є
тотожно істинною (тавтологією).
2) F1,F2,…,Fn╞═ F тоді й тільки тоді, коли формула F1F2…FnF
тотожно хибна (суперечна).
19
Доведемо перше з поданих тверджень. Покажемо спочатку, що якщо
F1,F2…,Fn╞═ F, то формула F1F2…FnF є тотожно істинною. Нехай h
– деяка інтерпретація формули F1F2…FnF. Можливі два випадки: 1)
h(F1F2…Fn)=1, 2) h(F1F2…Fn)=0.
Розглянемо перший випадок. З того, що h(F1F2…Fn)=1, випливає,
що h(F1)=h(F2)=…=h(Fn)=1, тобто інтерпретація h є моделлю формул
F1,F2,…,Fn. Оскільки виконується F1,F2…,Fn╞═ F, то h є також моделлю
формули F, тобто h(F)=1. Тоді h(F1F2…FnF)=h(F1F2…Fn)h(F)
=11=1, отже, формула F1F2…FnF істинна при інтерпретації h.
У другому випадку маємо:
h(F1F2…FnF) = h(F1F2…Fn)h(F) = 0h(F)=1
незалежно від значення виразу h(F), тобто формула F1F2…FnF
приймає значення 1 при інтерпретації h.
Таким чином, за умови F1,F2…,Fn╞═ F формула F1F2…FnF
приймає значення 1 при кожній інтерпретації.
Тепер покажемо, що якщо формула F1F2…FnF тотожно істинна, то
F1,F2…,Fn╞═ F. Нехай h – модель формул F1,F2…,Fn. Тоді h(F1F2…Fn) = 1.
Оскільки F1F2…FnF тотожно істинна, то h(F1F2…FnF) =1. Але
h(F1F2…FnF) = h(F1F2…Fn)h(F) = 1h(F) = 1, звідки випливає, що
h(F)=1. Отже, кожна модель формул F1,F2…,Fn є моделлю формули F, тобто,
F1,F2…,Fn╞═ F. Твердження доведено.
Контрольні питання
20
2. Сформулюйте достатні умови того, що формула F є логічним наслідком
формул F1,…,Fn.
3. Сформулюйте необхідні умови того, що формула F є логічним наслідком
формул F1,…,Fn.
Задачі та вправи
21
F1,…,Fn перевіркою тавтологічності (або суперечності) формули, побудованої
з F1,…,Fn, F спеціальним чином. Для установлення тавтологічності
(суперечності) деякої формули P логіки висловлень можна використати
таблиці істинності й перевіряти істинносні значення формули P при кожній
інтерпретації. Ми розглянемо інші методи перевірки тавтологічності та
суперечності, які ґрунтуються на поданні формул у спеціальному вигляді, а
саме у вигляді тієї чи іншої нормальної форми. Для подання формули у
нормальній формі виконуються перетворення даної формули, які зберігають
її істинносне значення при кожній інтерпретації.
Контрольні питання
22
Метод Девіса й Патнема
23
суперечність S до задачі про суперечність множини диз’юнктів S, яка
містить менше диз’юнктів, ніж S.
3. Правило чистих літер. Назвемо літеру L, що входить у деякий
диз’юнкт з S, чистою в S, якщо літера L не входить в жоден диз’юнкт з
S. Якщо S містить літеру L, чисту в S, вилучити з S усі диз’юнкти, що
містять L. Позначимо через S множину диз’юнктів, що залишилися. Якщо
S=, то дати відповідь «S несуперечна» й завершити роботу, інакше
перевірити суперечність S.
Зазначимо, що S суперечна тоді й тільки тоді, коли S суперечна.
Отже, однократне застосування правила чистих літер до множини
диз’юнктів S, що містить чисту літеру, або дає відповідь на питання про
суперечність S (якщо S=, то S несуперечна), або зводить задачу про
суперечність S до задачі про суперечність множини диз’юнктів S, яка
містить менше диз’юнктів, ніж S.
4. Правило розщеплення. Вибрати літеру L, що має входження у
який-небудь диз’юнкт з S. Подати множину S у вигляді (A1
L)…(AmL)(B1L)…(BnL)R, де m,nN+, Ai (i{1,…,m}), Bj
(j {1,…,n}), R не містять літер L та L. Побудувати множини S1 =
A1…AmR та S2 = B1…BnR. Перевірити суперечність S1 та S2.
Зазначимо, що S суперечна тоді й тільки тоді, коли S1 й S2 суперечні.
Застосування правила розщеплення дає можливість звести задачу про
суперечність множини диз’юнктів S до сукупності двох задач (про
суперечність S1 та про суперечність S2), кожна з яких простіша, ніж задача
про суперечність S.
Метод Девіса й Патнема перевірки суперечності множини
диз’юнктів S полягає у рекурсивному застосуванні до S правил 1-4 у
зазначеному порядку.
24
Розглянемо приклад. Перевіримо за допомогою методу Девіса й
Патнема суперечність множини S = {PQR, PQ, P, R, T. За
правилом 2 (з диз’юнктом P) маємо множину S1 = {QR, Q, R, T}. За
правилом 2 (з диз’юнктом R) маємо множину S2 = {Q, Q, T}. За
правилом 2 (з диз’юнктом Q) маємо множину S3 = {, T}, яка є
суперечною, оскільки містить порожній диз’юнкт. Отже, початкова
множина диз’юнктів S суперечна.
Контрольні питання
Метод резолюцій
25
Теорема 2. Нехай С1, С2 – диз’юнкти, С – резольвента С1 та С2. Тоді
С є логічним наслідком С1 та С2.
Будемо говорити, що порожній диз’юнкт виводиться з множини
диз’юнктів S (або існує вивід диз’юнкту з множини диз’юнктів S) за
допомогою правила резолюції, якщо існує така скінченна послідовність
диз’юнктів С1,…,Сk, що Сk= й кожен диз’юнкт Сi даної послідовності
(1ik) є або диз’юнктом з множини S, або резольвентою таких диз’юнктів
Cn, Cm даної послідовності, що n<і та m<i. Послідовність С1,…,Сk, що
задовольняє наведені умови, назвемо виводом порожнього диз’юнкту з
множини диз’юнктів S за допомогою правила резолюції.
За допомогою правила резолюції можна доводити суперечність
формул логіки висловлень. Основою для цього є така теорема.
Теорема 3 (про повноту). Множина диз’юнктів S суперечна тоді й тільки
тоді, коли існує вивід порожнього диз’юнкту з S за допомогою правила
резолюції.
Розглянемо приклад. Доведемо суперечність множини диз’юнктів S
= {PQ, PQR, P, R, T, побудувавши вивід з S за допомогою
правила резолюції.
1. PQR диз’юнкт в S
2. PQ диз’юнкт в S
3. P диз’юнкт в S
4. R диз’юнкт в S
5. T диз’юнкт в S
6. PR резольвента 1 та 2
7. R резольвента 3 та 6
8. резольвента 4 та 7.
26
Отже, маємо вивід PQR, PQ, P, R, PR, R, порожнього
диз’юнкту з S за допомогою правила резолюції, а це означає, що множина
S суперечна.
Засоби обмеження перебору при застосуванні правила резолюції.
Для доведення суперечності множини диз’юнктів S за допомогою правила
резолюції достатньо знайти вивід порожнього диз’юнкту з S. Для
доведення несуперечності множини диз’юнктів S за допомогою правила
резолюції треба переконатися, що не існує виводу порожнього диз’юнкту з
множини S. Перевірка суперечності множини диз’юнктів S методом
резолюцій, тобто пошук виведення з S порожнього диз’юнкту за
допомогою правила резолюції, може бути організована за таким планом.
Спочатку будуємо усі резольвенти усіх пар диз’юнктів з S, поповнюємо
множину диз’юнктів, включаючи у неї побудовані резольвенти, знову
будуємо резольвенти й повторюємо описаний процес доти, поки не буде
побудовано порожній диз’юнкт або виникають нові резольвенти (тобто
такі, що не збігаються з побудованими раніше). Це означає, що послідовно
породжуються множини S0, S1, S2,…, де S0=S, Sn={R: R є резольвента C1 та
C2, C1(S0…Sn-1), C2Sn-1}, n=1,2,…,. Необмежене використання
правила резолюції при виведенні може призвести до породження великої
кількості надлишкових (зайвих) резольвент, тобто таких диз’юнктів, що,
наприклад, не входять до виводу . Розглянемо деякі шляхи вирішення
проблеми надлишкових резольвент при застосуванні метода резолюцій.
Стратегія викреслювання. Ця стратегія виникла як узагальнення
правила тавтології Девіса й Патнема. Визначимо деякі допоміжні поняття.
Диз’юнкт С називається пiддиз’юнктом D (або таким, що поглинає
D), якщо CD (нагадаємо, що вирази “множина літер” та “диз’юнкт”
вважаються синонімами). Диз’юнкт D називається наддиз’юнктом С.
27
Зазначимо, що коли D збігається з С, то D є наддиз’юнктом С.
Нехай, наприклад, C=QR, D=QPR (тобто C={Q,R},
D={Q,P,R}). Оскільки {Q,R}{Q,P,R}, тобто СD, то C є
піддиз’юнктом D, або С поглинає D, а D є наддиз’юнктом С.
Стратегія викреслювання полягає у вилученні з множини диз’юнктів
усіх тавтологій та диз’юнктів, що є наддиз’юнктами інших диз’юнктів.
Розглянемо один з різновидів стратегії викреслювання, який є повним у
тому розумінні, що при його застосуванні до множини диз’юнктів S вивід
порожнього диз’юнкту існує тоді й тільки тоді, коли множина S суперечна.
Нехай побудована множина (S0…Sn-1). Обчислюємо резольвенти,
вибираючи по порядку диз’юнкт C1 з множини (S0…Sn-1) й диз’юнкт C2
з множини Sn-1. Якщо С1,С2Sn-1, то С1 має передувати С2. Якщо
резольвента R диз’юнктів С1 та С2 існує, то вона включається у множину Sn
у тому випадку, коли R не є тавтологією й не поглинається деяким раніше
побудованим диз’юнктом.
Стратегія вхідної резолюції. Дана стратегія базується на обмеженні
використання правила резолюції: хоча б одна з двох посилок правила при
побудові резольвенти має бути диз’юнктом з висхідної множини
диз’юнктів. Назвемо таке правило виводу вхідною резолюцією, а
виведення, у якому будь-яке застосування правила резолюції є вхідною
резолюцією, – вхідним виведенням.
Розглянемо приклад, який показує, що стратегія вхідної резолюції не
є повною. Нехай S={PQ,PQ,PQ,PQ}. Множина S є суперечною,
оскільки методом резолюцій можна побудувати вивід з S. Дійсно:
(1) PQ
(2) PQ
(3) PQ
28
(4) PQ
(5) Р резольвента (1) та (2)
(6) P резольвента (3) та (4)
(7) резольвента (5) та (6)
Застосуємо до S стратегію вхідної резолюції. Резольвенти, що є
тавтологіями та наддиз’юнктами, викреслюються й у виведенні не
показані. Праворуч від резольвент вказані номери диз’юнктів-посилок.
(1) PQ
(2) PQ
(3) PQ
(4) PQ
(5) Р (1), (2)
(6) Q (1), (3)
(7) Q (2), (4)
(8) Р (3), (4)
Диз’юнкти (5)–(8) – це диз’юнкти множини S1. Неважко бачити, що
продовжуючи пошук вхідною резолюцією, можна побудувати лише
тавтології та наддиз’юнкти тих резольвент, які одержані раніше. Отже,
вхідного виведення з S не існує.
Стратегія одиничної резолюції. Дана стратегія базується на такому
обмеженні використання правила резолюції: хоча б одна з двох посилок
правила при побудові резольвенти має бути одиничним диз’юнктом.
Назвемо таке правило виводу одиничною резолюцією, а виведення, у якому
будь-яке застосування правила резолюції є одиничною резолюцією, –
одиничним виведенням. Зв’язок між стратегіями одиничної та вхідної
резолюції зрозумілий з такої теореми.
29
Теорема 4. Для даної множини диз’юнктів S одиничне виведення
30
1, перевірними виразами є атоми, атоми зустрічаються лише як перевірні
вирази.
Наприклад, формула P(Q0,(R0,1)),(R(P1,0),(Q1,0)) є у
нфр, а формули (РQ)R,0 та Р(RQ),(QP) – ні.
Позначимо F[0/P] (F[1/P]) формулу, що є результатом заміни у
формулі F атома Р на 0 (1). Тоді формулу F, що містить атом Р, можна
подати у вигляді
F=РF[1/P],F[0/P]. (1)
Користуючись цим співвідношенням (застосовуючи його спочатку до
формули F, а потім до гілок розгалуження й т.д.), можна кожну формулу
логіки висловлень привести до нфр. Нехай, наприклад, F=(PQ)(QR).
Виберемо за перевірний вираз атом Р та застосуємо перетворення (1). Тоді
гілки розгалуження мають вигляд F[1/P]=(1Q)(QR)=Q(QR),
F[0/P]=(0Q)(QR)=QR, а F=P(Q(QR)), (QR). Позначимо F1=
F[1/P], F0=F[0/P]. Виконуючи далі підстановки 1 замість атома Q у F1 й F0 та
0 замість атома Q у F1 та F0, маємо:
F1=QF1[1/Q], F1[0/Q]= Q(1(1R)),(0(0R))= Q0,R;
F0=QF0[1/Q], F0[0/Q]= Q(1R),(0R)= Q1,R.
Оскільки R=R1,0, то маємо: F= P(Q0, (R1,0)),(Q 1,(R1,0)).
Назвемо орграфом упорядковану пару множин виду (V,E), де V –
довільна непорожня множина, EV2. Множина V називається множиною
вершин орграфу, її елементи називаються вершинами, а множина Е
називається множиною дуг орграфу, її елементи (якщо ця множина
непорожня), називаються дугами. Якщо (u,v) – дуга орграфу, то вершина u
називається початком, а вершина v – кінцем цієї дуги, а дуга (u,v) –
інцидентною вершинам u та v. Напівстепенем виходу вершини u орграфу
називається потужність множини дуг орграфу, для яких вершина u є
31
початком. Вершина, напівстепінь виходу якої дорівнює 0, називається
кінцевою. Орграф (V,E) називається позначеним, якщо задана деяка
множина Р (множина позначок) й задано відображення h множини V у
множину Р. Шляхом у орграфі (V,E) називається така скінченна
послідовність вершин орграфу v1,…vn, що (vi,vi+1)E, 1in-1. Якщо у
орграфі існує шлях виду v1,…vn, то будемо говорити, що вершина vn
досяжна з вершини v1. Орграф (V,E) називається ациклічним, якщо у
ньому не існує жодного шляху v1,…vn, такого що n2 й v1=vn. Орграф
називається кореневим, якщо у ньому існує єдина вершина, що не є кінцем
жодної дуги, й з якої досяжна будь-яка інша вершина даного орграфу.
Орграф, множина вершин якого скінченна, може бути поданий у вигляді
діаграми. Щоб подати орграф у вигляді діаграми, треба для кожної його
вершини вибрати точку на площині (різні вершини позначаються різними
точками), позначити точку іменем вершини, для якої ця точка вибрана, й
з’єднати ті пари точок u та v, для яких виконується (u,v)Е, відрізком лінії
зі стрілкою, що вказує на точку v.
Двійковою діаграмою рішень (ДДР) називається ациклічний
кореневий позначений орграф, у якому є одна чи дві кінцеві вершини (тобто
вершини, напівстепені виходу яких дорівнюють нулю), що мають (різні)
позначки 0 або 1, напівстепені виходу некінцевих вершин дорівнюють двом,
на множині некінцевих вершин визначено функції var, low, high такі, що коли
u – некінцева вершина, то її позначкою є var(u), а (u, low(u)) та (u, high(u)) –
дуги, інцидентні вершині u. Областю значень функції var є деяка множина
позначок, область значень функцій high, low – множина вершин ДДР.
Двійкова діаграма рішень називається упорядкованою (УДДР), якщо
для усіх її шляхів між кореневою та кінцевою вершиною зберігається один і
той самий лінійний порядок позначок некінцевих вершин. Двійкова діаграма
32
рішень (упорядкована або ні) називається приведеною (П(У)ДДР), якщо для
усіх її некінцевих вершин u, v виконується:
(var(u)=var(v))(low(u)=low(v))(high(u)=high(v))u=v й low(u)high(u).
Визначимо рекурсивну процедуру побудови формули Fu, що
визначається вершиною u деякої ПУДДР. Кінцева вершина визначає
логічну константу, некінцева вершина u з позначкою Р визначає
розгалуження, перевірним виразом якого є Р, а суміжні вершини
визначають гілки розгалуження, тобто F0=0, F1=1, Fu=var(u)Fhigh(u),Flow(u).
За формулою у нфр очевидним чином можна побудувати орграф,
який після злиття кінцевих вершин з однаковими позначками
перетворюється на ДДР. На рис.1 зображено УДДР, що не є приведеною,
бо вона містить дві надлишкові вершини, що позначені перевірними
виразами х1 та х2. Діаграма на рис.2 є УДДР для формули х1х3 з однією
надлишковою вершиною. Дуги виду (u,high(u)) зображено суцільними
лініями, дуги виду (u,low(u)) – пунктирними.
Теорема 5. Для будь-якої формули F(A1,…,An) логіки висловлень
існує єдина ПУДДР з лінійним упорядкуванням позначок A1…An, така
що для кореневої вершини u Fu=F.
Наведені результати забезпечують такий спосіб перевірки
тавтологічності (суперечності) формули логіки висловлень. Побудуємо для
даної формули F її нормальну форму розгалуження, вибравши певний
лінійний порядок атомів (це можна зробити для будь-якої формули логіки
висловлень). Потім за нфр побудуємо УДДР, при потребі здійснивши її
приведення. Якщо результатом є діаграма, що складається з однієї кінцевої
вершини, яка має позначку 1 (0), то формула F є тавтологією
(суперечністю). Якщо побудована ПУДДР має некінцеві вершини, то
формула F не є ні тавтологією, ні суперечністю, але має моделі.
33
Розглянемо формулу (х1y1)(x2y2). Зафіксуємо лінійний порядок
атомів: x1<y1<x2<y2. На рис.3 зображено ПУДДР даної формули. Діаграма
показує, що формула не є тавтологією й не є суперечністю. За допомогою цієї
діаграми можна побудувати моделі формули, наприклад, х1=y1=1, х2=y2=0.
34
Отже, маємо ПУДДР для F, причому єдину. Якщо ПУДДР з коренями u 0 та
u1 не збігаються, то, згідно з припущенням індукції, Fu0Fu1. Побудуємо
УДДР з коренем u так, що var(u)=A1, low(u)=u0, high(u)=u1. Тоді
Fu=A1Fu1,Fu0, а побудована діаграма є, очевидно, приведеною. За
припущенням, Fu1=F1 й Fu0=F0, отже, Fu=F. Припустимо, що існує інша
ПУДДР, скажімо, з коренем v, така що Fv=F. Тоді Fv має залежати від A1,
тобто Fv0Fv1, тому що інакше маємо суперечність: F0=(Fv)0=(Fv)1=F1.
Згідно з порядком, заданим на множині атомів формули F,
var(v)=A1=var(u). З того, що Fv=F, випливає: Flow(v)=F0=Fu0 й Fhigh(v)=F1=Fu1.
Отже, за припущенням індукції, low(v)=u0=low(u) й high(v)=u1=high(u).
Оскільки діаграма є приведеною, то u=v. Теорему доведено.
Контрольні питання
1. Що таке розгалуження?
2. Що таке перевірний вираз?
3. Що таке нормальна форма розгалуження?
4. Які формули логіки висловлень можна подати у нормальній формі
розгалуження?
5. Як подати логічні зв’язки , , , , за допомогою оператору
розгалуження й логічних констант 0 та 1?
6. Що таке двійкова діаграма рішень?
7. Яка двійкова діаграма рішень називаєтья: а) упорядкованою, б)
приведеною?
8. Як побудувати формулу у нфр за ПУДДР?
9. Як визначити за ПУДДР, побудованою за формулою F, чи є F:
а) тотожно істинною, б) тотожно хибною?
35
Задачі та вправи
36
V. Чи однаковими є ПУДДР, побудовані за формулою (А1В1)(А2В2) з
використанням різних лінійних порядків на множині атомів (A1<B1<A2<B2
та А1<А2<В1<В2 відповідно)?
VI. Нехай S – множина диз’юнктів, до якої застосовне правило тавтології
методу Девіса й Патнема, й S1 – результат застосування цього правила до
S. Довести, що S суперечна S1 суперечна.
VII. Нехай S – множина диз’юнктів, до якої застосовне правило
розщеплення методу Девіса й Патнема, й S1 та S2 – результат застосування
цього правила до S. Довести, що S суперечна S1 та S2 суперечні.
VIII. Нехай S – множина диз’юнктів, до якої застосовне правило чистих
літер методу Девіса й Патнема, й S1 – результат застосування цього
правила до S. Довести, що S суперечна S1 суперечна.
IX. Нехай S – множина диз’юнктів, до якої застосовне правило однолітер-
них диз’юнктів методу Девіса й Патнема, й S1 – результат застосування
цього правила до S. Довести, що S суперечна S1 суперечна.
Х. Нехай існує доведення несуперечності формули F методом Девіса й
Патнема. Сформулюйте правило побудови моделі F за цим доведенням.
37
Щоб перевірити його правильність формальними методами, треба
спочатку звести задачу перевірки правильності міркування, записаного
природною мовою, до задачі перевірки логічного слідування для формул. Для
цього необхідно перекласти твердження-посилки та твердження-висновок
заданого міркування мовою логіки висловлень, тобто подати їх як формули
логіки висловлень. Щоб здійснити переклад, проаналізуємо твердження у
заданому міркуванні й виділимо у кожному з них прості висловлення. Для
кожного простого висловлення уведемо коротке позначення – атом.
Наприклад, розглянемо перше твердження нашого міркування: «Ліворуч
підеш – коня загубиш, праворуч підеш – загибель знайдеш, прямо підеш – у
неволю потрапиш». З метою виділення у ньому простих висловлень
розглянемо його як речення й виконаємо його розбір. Це речення –
складносурядне, отже, можна розбити його на більш короткі речення:
Ліворуч підеш – коня загубиш.
Праворуч підеш – загибель знайдеш.
Прямо підеш – у неволю потрапиш.
Тепер можна продовжувати аналіз, розглядаючи кожне з побудованих
речень окремо. Оскільки наші речення є висловленнями, ми можемо
допустити їх переформулювання до такої міри, щоб суть висловлення не
змінювалася. Отже, замість, скажімо, висловлення «Ліворуч підеш – коня
загубиш» можемо розглядати висловлення «Якщо ліворуч підеш, то коня
загубиш» Це речення – складнопідрядне, його складові – речення «ліворуч
підеш» та «коня загубиш» – є простими висловленнями, що з’єднуються за
допомогою звороту «якщо …, то». Уведемо атоми, що позначатимуть
щойно виділені прості висловлення. Маємо:
А – ліворуч підеш,
B – коня загубиш.
38
Пам’ятаючи про те, що аналогом «якщо …, то» служить у мові логіки
висловлень зв’язка , будуємо переклад твердження «Ліворуч підеш – коня
загубиш» («Якщо ліворуч підеш, то коня загубиш») мовою логіки висловлень:
АВ. Продовжуючи переклад решти тверджень нашого міркування, уводимо
нові атоми для простих висловлень:
C – праворуч підеш,
D – загибель знайдеш,
G – прямо підеш,
H – у неволю потрапиш.
Використовуючи уведені символи та логічні зв’язки, побудуємо для
кожного речення заданого міркування формулу логіки висловлень. При
цьому враховуємо те, що логічна зв’язка є аналогом частки «не», зв’язка
– аналогом сполучника «та», зв’язка – аналогом сполучника «або», зв’язка
– аналогом звороту «якщо…, то…». Зрештою маємо такі формули:
AB, CD, GH, ACG, BDH.
Остання формула є перекладом твердження-висновку, а інші –
перекладами тверджень-посилок заданого міркування. Отже, початкова
задача (перевірки правильності заданого міркування) зводиться до перевірки
того, чи є формула BDH логічним наслідком формул AB, CD, GH,
ACG. Таким чином, замість початкової задачі (щодо тверджень) маємо
таку задачу щодо формул логіки висловлень:
Чи виконується AB, CD, GH, ACG ╞═ BDH? (2)
Здійснивши зведення початкової задачі перевірки правильності
міркування до задачі перевірки логічного слідування (2), можемо
застосовувати викладені вище формальні методи для розв’язання задачі (2).
Зазначимо, що метод Девіса й Патнема, метод резолюцій та метод ДДР
39
застосовні для розв’язання задач великого обсягу, застосовність решти методів,
що розглядаються, обмежене.
40
значень формул F0 та BDH користуємося таблицями істинності, тобто
визначеннями логічних операцій , , та , поданими у вигляді
таблиць. Результати обчислень заносимо у таблицю:
41
Розглянувши усі інтерпретації, при яких формула F0 приймає значення 1,
можна побачити, що формула BDH також приймає значення 1 при
кожній з цих інтерпретацій. Отже, формула BDH є логічним наслідком
формул AB, CD, GH, ACG, а, значить, задане міркування є
логічно правильним.
42
F = ((BDHA)(BDHB))(CD)(GH)(ACG).
Виконаємо спрощення підформули BDHB, використавши закони
комутативності та асоціативності й співвідношення F1F1=0, 0F1=0:
BDHB=(BB)(DH)=0(DH)=0.
Маємо:
F = ((BDHA)0)(CD)(GH)(ACG).
Виконаємо спрощення F за допомогою закону комутативності та
співвідношення 0 F1 =F1:
F = (BDHA)(CD)(GH)(ACG).
Застосуємо закон F1 (F2 F3) = (F1 F2) (F1 F3), де
F1=BDHA, F2=С, F3=D:
F = ((BDHAC)(BDHAD))(GH)(ACG).
Застосовуємо закони комутативності та асоціативності до підформули
BDHAD та спрощуємо її за допомогою співвідношень
F1F1=0, 0F1=0:
BDHAD=(DD)(BHA)=0(BHA)=0.
Маємо:
F = ((BDHAC)0)(GH)(ACG).
Виконаємо спрощення F за допомогою закону комутативності та
співвідношення 0 F1 =F1:
F = (BDHAC)(GH)(ACG).
Застосуємо закон асоціативності :
F = ((BDHAC)(GH))(ACG).
Далі можна застосувати співвідношення F1 (F2 F3) = (F1 F2) (F1
F3), де F1=(BDHAC), F2=G, F3= H:
F=((BDHACG)(BDHACH))(ACG).
43
Після перетворення за законами комутативності та асоціативності й
спрощення підформули BDHACH за співвідношеннями
F1F1=0, 0F1=0 та подальшого спрощення формули F за тотожністю 0
F1 =F1 маємо:
F = (BDHACG)(ACG).
Повторюючи послідовно застосовувати закони асоціативності,
дистрибутивності, комутативності та виконуючи спрощення, маємо:
F = (BDHACG)(ACG) =
(BDHACG)(A(CG)) =
(BDHACGA)((BDHACG)(CG)) =
((BDHGC(AA)))((BDHACG)(CG)) =
(BDHGC0) ((BDHACG)(CG)) =
0((BDHACG)(CG)) =
(BDHACG)(CG) =
(BDHACGC)(BDHACGG) =
((CC)BDHAG)((GG)BDHAC) =
(0BDHAG)(0BDHAC) = 00 = 0.
Отже, маємо, що ДНФ формули F є 0, тобто F тотожно хибна
формула.
Суперечність формули F доведено. Отже, можна сказати, що
формула BDH є логічним наслідком формул AB, CD, GH, ACG.
Таким чином, задане міркування є логічно правильним.
Для розв’язання задачі (2) ми використали п.2 теореми 1 та днф, але
ту саму задачу можна розв’язати, застосувавши п.1 теореми 1. Як випливає
з п.1 теореми 1, формула BDH є логічним наслідком формул AB,
CD, GH, ACG, якщо формула
F = (AB)(CD)(GH)(ACG)(BDH)
44
є тавтологією. Для перевірки тавтологічності F необхідно звести дану
формулу до КНФ, застосовуючи співвідношення 1-12 з розділу
«Еквівалентні формули логіки висловлень. Нормальні форми». Наведемо
послідовність перетворень формули F:
F = (AB)(CD)(GH)(ACG)(BDH) =
(AB)(CD)(GH)(ACG)(BDH) =
((AB)(CD)(GH)(ACG)) (BDH) =
(AB) (CD) (GH) (ACG) (BDH) =
((A)B)((C)D) ((G)H) (ACG) (BDH) =
(AB) (CD) (GH) (ACG) (BDH) =
((BDH) (AB)) (CD) (GH) (ACG) =
((BDHA)(BDHB)) (CD) (GH) (ACG) =
((BDHA)((BB)(DH))) (CD) (GH) (ACG) =
((BDHA)(1(DH))) (CD) (GH) (ACG) =
(1(BDHA)) (CD) (GH) (ACG) =
(BDHA) (CD) (GH) (ACG) =
((BDHA) (CD)) (GH) (ACG) =
((BDHAC)(BDHAD)) (GH) (ACG) =
((BDHAC)((DD)(HAB))) (GH) (ACG) =
((BDHAC)(1(HAB))) (GH) (ACG) =
(1(BDHAC)) (GH) (ACG) =
(BDHAC) (GH) (ACG) =
((BDHAC) (GH)) (ACG) =
((BDHACG)(BDHACH)) (ACG) =
((BDHACG)((HH)(BDAC))) (ACG) =
((BDHACG)(1(BDAC))) (ACG) =
45
(1(BDHACG)) (ACG) =
(BDHACG) (ACG) =
(BDHACG) (A(CG)) =
(BDHACGA)((BDHACG)(CG)) =
(BDHACGA)(BDHACGC)(BDHACGG) =
((AA)(BDHCG))((CC)(BDHAG))((GG)(BDHA
C)) = (1(BDHCG))(1(BDHAG))(1(BDHAC)) =
111 = 1.
Отже, маємо, що КНФ формули F є 1, тобто F тотожно істинна формула.
Тавтологічність формули F доведено. Отже, можна сказати, що
формула BDH є логічним наслідком формул AB, CD, GH, ACG.
Таким чином, задане міркування є логічно правильним.
46
1) (AB) = AB;
2) (CD) = CD;
3) (GH) = GH;
4) (BDH) = ВDH.
Отже, маємо множину диз’юнктів: S={AB, CD, GH,
ACG, В, D, H}, до якої вже можна застосувати метод Девіса й
Патнема. Далі ми будемо розглядати диз’юнкти як множини літер.
Перше правило (правило тавтології) не застосовне (множина S не
містить тавтологічних диз’юнктів), тому використовуємо друге правило.
Спочатку виберемо у множині S одиничний диз’юнкт (нехай це буде
диз’юнкт {H}), потім викреслюємо з множини S усі диз’юнкти, що містять
літеру H. У даному випадку такий диз’юнкт тільки один. Маємо множину
S1={AB, CD, GH, ACG, В, D}. Множина S1 не порожня,
отже, тепер треба вилучити з диз’юнктів, що входять в S1, усі входження
літери H. Таке входження тільки одне. Після вилучення маємо множину
S2={AB, CD, G, ACG, В, D}. Множина S2 не містить
порожнього диз’юнкту, отже, застосовуємо до неї метод Девіса й Патнема,
оскільки S суперечна тоді й тільки тоді, коли суперечна S2. Правило
тавтології не застосовне до S2. За правилом 2 (з диз’юнктом {B}),
вилучивши з S2 диз’юнкт {B}, побудуємо множину S3={AB, CD, G,
ACG, D}, яка не є порожньою. Маємо вилучити з диз’юнктів множини
S3 усі входження літери, контрарної до літери B, тобто літери В. Маємо
множину S4={A, CD, G, ACG, D}. Ця множина не містить
порожнього диз’юнкту, отже, до неї застосовуємо метод Девіса й Патнема.
Шукаємо перше правило, що застосовне до S4. Це правило однолітерних
диз’юнктів. За цим правилом (з диз’юнктом {A}) маємо множину
S5={CD, G, ACG, D}. Множина S5 не порожня, тому вилучаємо з
47
диз’юнктів цієї множини усі входження літери A. Маємо множину
S6={CD, G, CG, D}. Оскільки S6 не містить порожнього диз’юнкту,
застосовуємо до неї метод Девіса й Патнема. За правилом 2 (з диз’юнктом
{D}) маємо множину S7={CD, G, CG}. Оскільки S7 не порожня,
вилучаємо з диз’юнктів цієї множини усі входження літери D. Маємо
множину S8={C, G, CG}. Оскільки S8 не містить порожнього диз’юнкту,
перевіряємо її суперечність. За правилом 2 (з диз’юнктом {С}) маємо
множину S9={G, CG}. Оскільки ця множина не порожня, вилучаємо
входження літери С з диз’юнктів цієї множини. Маємо множину S10={G,
G}. Оскільки S10 не містить порожнього диз’юнкту, перевіряємо її
суперечність. За правилом 2 (з диз’юнктом {G}) маємо множину S11={G}.
Оскільки ця множина не порожня, вилучаємо входження літери G з єдиного
диз’юнкту {G}, що міститься у S11. Маємо множину S12={}, яка є
суперечною, бо містить порожній диз’юнкт. Отже, й початкова множина
диз’юнктів S суперечна.
Таким чином, формула
(AB)(CD)(GH)(ACG)(BDH)
є суперечною, тому формула BDH є логічним наслідком формул AB,
CD, GH, ACG. Отже, задане міркування є логічно правильним.
48
Оскільки ми побудували кнф формули F, а також відповідну
множину диз’юнктів S, коли застосовували метод Девіса й Патнема для
перевірки суперечності формули F, можемо розпочати пошук виводу
порожнього диз’юнкту з множини диз’юнктів S={AB, CD, GH,
ACG, В, D, H}.
Далі для зручності будемо писати диз’юнкти у стовпчик, нумеруючи
їх.
Отже, спочатку маємо множину диз’юнктів:
1. AB,
2. CD,
3. GH,
4. ACG,
5. В,
6. D,
7. H.
Оскільки диз’юнкти 1 та 5 містять контрарні літери (В та В), до них
застосовне правило резолюції. Побудуємо резольвенту диз’юнктів 1 та 5 й
занесемо її у множину диз’юнктів під номером 8.
8. А (резольвента диз’юнктів 1 та 5).
Далі можна застосувати правило резолюції до диз’юнктів 2 та 6.
Отримаємо такий диз’юнкт:
9. С (резольвента диз’юнктів 2 та 6).
Застосувавши правило резолюції до диз’юнктів 3 та 7, будемо мати:
10. G (резольвента диз’юнктів 3 й 7).
Побудуємо резольвенту диз’юнктів 4 та 8:
11. CG (резольвента диз’юнктів 4 та 8).
Застосувавши правило резолюції до диз’юнктів 9 та 11 маємо:
49
12. G (резольвента диз’юнктів 9 та 11).
Далі, якщо побудувати резольвенту диз’юнктів 10 та 12, отримаємо
порожній диз’юнкт .
13. (резольвента диз’юнктів 10 та 12).
Оскільки існує виведення порожнього диз’юнкту з S за допомогою
правила резолюції, то множина диз’юнктів S є суперечною, а, значить,
формула F є тотожно хибною, але тоді формула BDH є логічним
наслідком формул AB, CD, GH, ACG. Таким чином, задане
міркування є логічно правильним.
Розглянемо задачу (2) про логічне слідування (див. стор. 38). Формула
BDH є логічним наслідком формул AB, CD, GH, ACG, якщо
формула F = (AB)(CD)(GH)(ACG)(BDH) є суперечніс-
тю. Формула F є суперечністю тоді й тільки тоді, коли упорядкована
приведена ДДР, побудована за цією формулою, буде мати вигляд:
50
F0=(0B)(CD)(GH)(0CG)(BDH) =
1(CD)(GH)(CG)(BDH)=(CD)(GH)(CG)(BDH).
Далі розгалужуємо формулу F1 по B:
F1=B F11, F10, де F11=F1[1/B], F10=F1[0/B], тобто
F11=(11) (CD) (GH)(1DH) = 1 (CD) (GH)1 =
(CD) (GH)0=0;
F10=(10)(CD)(GH)(0DH) = 0(CD)(GH)(0DH) = 0.
Розгалужуємо формулу F0 по B:
F0=B F01, F00, де F01=F0[1/B], F00=F0[0/B], тобто
F01 = (CD)(GH)(CG)(1DH) =
(CD)(GH)(CG)1 = (CD)(GH)(CG)0 = 0;
F00 = (CD)(GH)(CG)(0DH) =
(CD)(GH)(CG)(DH).
Розгалужуємо формулу F00 по C:
F00=C F001, F000, де F001=F00[1/C], F000=F00[0/C], тобто
F001 = (1D)(GH)(1G)(DH) = (1D)(GH)1(DH)
= (1D)(GH)(DH);
F000 = (0D)(GH)(0G)(DH) = 1 (GH) G (DH) =
(GH) G (DH).
Розгалужуємо формулу F001 по D:
F001 = D F0011, F0010, де F0011=F001[1/D], F0010=F001[0/D], тобто
F0011 = (11)(GH)(1H) = 1(GH)1 = (GH)0 = 0.
F0010 = (10)(GH)(0H) = 0(GH)(0H) = 0.
Розгалужуємо формулу F000 по D:
F000 = D F0001, F0000, де F0001=F000[1/D], F0000=F000[0/D], тобто
F0001 = (GH) G (1H) = (GH) G 1 = (GH) G 0 = 0.
51
F0000 = (GH) G (0H) = (GH) G H.
Розгалужуємо формулу F0000 по G:
F0000 = G F00001, F00000, де F00001=F0000[1/G], F00000=F0000[0/G], тобто
F00001 = (1H) 1 H = (1H) H.
F00000 = (0H) 0 H = 0.
Розгалужуємо формулу F00001 по H:
F00001 = H F000011, F000010, де F000011=F00001[1/H], F000010=F00001[0/H],
тобто
F000011 = (11)1 = 10 = 0, F000010 = (10) 0 = 01 = 0.
Побудуємо ДДР (рис.4):
Рис. 4
Дана ДДР не є приведеною, оскільки містить вершини виду
52
Вилучимо їх (тобто вершини F1, F001, F00001). Маємо (рис.5):
Рис.5
Діаграма не приведена (надлишковою є вершина F0000). Послідовно
вилучаючи зайві вершини (F0000, F000, F00, F0, F), отримаємо:
Контрольні питання
53
ПРИКЛАДИ ПЕРЕВІРКИ СУМІСНОСТІ СУКУПНОСТІ
ТВЕРДЖЕНЬ
54
Перевірка сумісності сукупності тверджень за допомогою таблиць
істинності
55
формула, адже нам потрібно лише знати, чи має формула F модель. Отже,
як тільки модель формули F знайдено, обчислення доцільно припинити.
56
F = ( A B) (B (A C)) (A 0).
Виконаємо спрощення (за допомогою закону комутативності та
тотожності 0F1= F1):
F = ( A B) (B (A C)) A.
Застосуємо закони комутативності та асоціативності:
F = (A ( A B)) (B (A C)).
Застосуємо закон дистрибутивності (F1 (F2 F3) = (F1 F2) (F1 F3)) до
(A ( A B)) (тут F1= А, F2 = A, F3= B):
F = ((A A) (А B)) (B (A C)).
Розглянемо підформулу ((A A) (А B)). За тотожностями
F1F1=0, 0F1= F1 маємо:
(A A) (А B) = 0 (А B) = А B.
Отже, F = (А B) (B (A C)).
Застосуємо закон дистрибутивності (F1 (F2 F3) = (F1 F2) (F1 F3)) до
F (тут F1= (А B), F2 = B, F3= (A C)):
F = ((А B) B) ((А B) (A C)).
Застосуємо закони комутативності та асоціативності:
F = (А (B B)) ((А A) (B C)).
Розглянемо підформулу (A (B B)). За тотожностями F1F1=0,
0F1=0 та законом комутативності маємо:
(A (B B)) = А 0 = 0.
Отже, F = (А A) (B C). За законом ідемпотентності F1 F1 = F1 маємо:
F = A B C.
Отже, побудовано ДНФ формули (AB) (BC) (AC) (AC).
57
Зауважимо, що побудова ДНФ формули F може бути здійснена не
єдиним чином. Розглянемо інший спосіб приведення F до диз’юнктивної
нормальної форми.
Послідовно вилучаємо у формулі F входження зв’язок та й
виконуємо спрощення:
F = ( A B) (B A) (B C) (A C) (A C).
Застосуємо закони комутативності та асоціативності:
F = ( A B) (B A) (B C) ((A C) (A C)).
До підформули ((A C) (A C)) застосуємо закон дистрибутивності та
виконаємо спрощення:
F = ( A B) (B A) (B C) A.
Застосуємо закони комутативності та асоціативності:
F = ( A B) (A (A B)) (B C).
До підформули (A (A B)) застосуємо закон поглинання (F1 (F1 F2) = F1):
A (A B) = А.
Отже, F = ( A B) A (B C).
Застосуємо закони комутативності та асоціативності:
F = (A ( A B)) (B C).
Застосовуючи закон дистрибутивності до підформули (A ( A B)) й
виконуючи спрощення, маємо:
F = (A B) (B C).
Застосовуємо закон дистрибутивності до F та виконуємо спрощення:
F = A B C.
Остання формула є ДНФ, яка складається з одного кон’юнкту.
Бачимо, що F 0, тому існує модель F (принаймні одна). Це означає, що F
не є тотожно хибною. Отже, можна зробити висновок, що подана
сукупність тверджень сумісна.
58
Перевірка сумісності сукупності тверджень методом Девіса й Патнема
59
Тепер перевіримо суперечність множини S2. Правило тавтології до S2
не застосовне. Але застосовне правило однолітерних диз’юнктів (S2
містить одиничний диз’юнкт {В}). В результаті маємо множину
S5={C}, до якої застосовне правило однолітерних диз’юнктів (з
диз’юнктом {C}). Маємо: S6=. Це означає, що множина S6 несуперечна,
отже, й S2 несуперечна. Але тоді й S несуперечна. А це означає, що
формула F не є тотожно хибною, тобто має модель. Але тоді подана
сукупність тверджень сумісна.
60
11. В A (резольвента 3 та 5)
12. А (резольвента 4 та 5).
Вилучимо тавтологічні диз’юнкти (6 та 7) та ті диз’юнкти, що
поглинаються іншими: диз’юнкт 12 поглинає диз’юнкти 2, 4, 5, 11. Отже,
залишаються такі диз’юнкти:
1. A B 9. В С
3. B C 10. B С
8. A С 12. А.
Побудуємо резольвенти цих диз’юнктів (не застосовуючи, звичайно,
правило резолюції до пари диз’юнктів 1 та 3).
13. В (резольвента 1 та 12)
14. С (резольвента 3 та 9)
15. С С (резольвента 3 та 10)
16. В В (резольвента 3 та 10)
17. A В (резольвента 8 та 10)
18. С (резольвента 8 та 12)
19. В (резольвента 9 та 10).
Вилучимо тавтологічні диз’юнкти (15, 16) та ті диз’юнкти, що
поглинаються іншими: диз’юнкт 13 поглинає диз’юнкти 1, 9, 10, 17, 19;
диз’юнкт 14 – диз’юнкти 3, 8, 18. Отже, залишаються такі диз’юнкти:
12. А
13. В
14. С.
Правило резолюції не застосовне до жодної пари цих диз’юнктів.
Таким чином, не існує виводу порожнього диз’юнкту з множини
диз’юнктів S, отже, множина диз’юнктів S несуперечна, а це означає, що
формула F не є тотожно хибною, а подана сукупність тверджень сумісна.
61
Перевірка сумісності сукупності тверджень шляхом побудови
двійкової діаграми рішень
62
F011=(11)(01)(01)=1(10)1=101=0,
F010=(10)(00)(00)=1(11)0=110=0.
Усі розгалуження виконано; побудуємо упорядковану ДДР формули F
(див. рис.6). Дана ДДР не є приведеною (бо містить надлишкову вершину
F01). Вилучимо її (див. рис. 7). Тепер діаграма містить надлишкову
вершину F0. Після приведення маємо ПУДДР (див. рис. 8).
Контрольні питання
63
СПИСОК ВИКОРИСТАНОЇ ТА РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ
3. Чень Ч., Ли Р.
Математическая логика и автоматическое доказательство теорем.
– М.: Наука, 1983. – 360 с.
64
СКОРОЧЕННЯ, СИМВОЛИ ТА ПОЗНАЧЕННЯ
65
ПРЕДМЕТНИЙ ПОКАЖЧИК
66
Тавтологія 10 Формули
Формула 4 – еквівалентні 12
– атомарна 3 – рівносильні 12
– істинна при даній інтерпретації 9
– тотожно істинна 10
– тотожно хибна 10
– хибна при даній інтерпретації 9
67
СЛОВА ІНШОМОВНОГО ПОХОДЖЕННЯ
68
ЗМІСТ
Вступ.....................................................................................................................3
Мова логіки висловлень......................................................................................4
Контрольні питання..................................................................................7
Задачі та вправи.........................................................................................8
Інтерпретації формул логіки висловлень..........................................................9
Контрольні питання................................................................................11
Задачі та вправи.......................................................................................12
Еквівалентні формули логіки висловлень. Нормальні форми......................13
Контрольні питання................................................................................16
Задачі та вправи.......................................................................................17
Логічне слідування............................................................................................17
Контрольні питання................................................................................20
Задачі та вправи.......................................................................................21
Методи перевірки тотожної хибності й тотожної істинності формул
логіки висловлень..............................................................................................21
Метод перевірки суперечності й тавтологічності формул шляхом
зведення до диз’юнктивної та кон’юнктивної нормальної форми.....22
Контрольні питання......................................................................22
Метод Девіса й Патнема.........................................................................23
Контрольні питання......................................................................25
Метод резолюцій.....................................................................................25
Контрольні питання......................................................................30
Метод двійкових діаграм рішень...........................................................30
Контрольні питання......................................................................35
Задачі та вправи.......................................................................................36
Приклади перевірки логічної правильності міркування...............................37
Перевірка правильності міркування за допомогою
таблиць істинності...................................................................................40
Перевірка правильності міркування шляхом побудови
диз’юнктивної нормальної форми або кон’юнктивної нормальної
форми........................................................................................................42
Перевірка правильності міркування методом Девіса й Патнема.......46
Перевірка правильності міркування методом резолюцій....................48
Перевірка правильності міркування шляхом побудови двійкової
діаграми рішень.......................................................................................50
Контрольні питання................................................................................53
Приклади перевірки сумісності сукупності тверджень.................................54
Перевірка сумісності сукупності тверджень за допомогою таблиць
69
істинності.................................................................................................55
Перевірка сумісності сукупності тверджень шляхом побудови
диз’юнктивної нормальної форми.........................................................56
Перевірка сумісності сукупності тверджень методом Девіса й
Патнема....................................................................................................59
Перевірка сумісності сукупності тверджень методом резолюцій......60
Перевірка сумісності сукупності тверджень шляхом побудови
двійкової діаграми рішень......................................................................62
Контрольні питання................................................................................63
Список використаної та рекомендованої літератури.....................................64
Скорочення, символи та позначення...............................................................65
Предметний покажчик......................................................................................66
Слова іншомовного походження.....................................................................68
70