You are on page 1of 70

Міністерство освіти і науки України

Національний технічний університет України


«Київський політехнічний інститут»

Дискретний аналіз

Частина 2. Елементи математичної логіки

Курс лекцій
для студентів спеціальностей,
пов’язаних з інформаційними технологіями та
захистом інформації

Рекомендовано Методичною радою НТУУ «КПІ»

Київ
НТУУ «КПІ»
2010
Дискретний аналіз: Ч.2 Елементи математичної логіки: Курс лекцій для студентів спец.,
пов’язаних з інформ. технологіями та захистом інформації / Уклад. М.К.Мороховець. –
К.: НТУУ «КПІ», 2010. –– 70 с., 8 рис., 4 джерела.

Гриф надано Методичною радою НТУУ «КПІ»


(протокол № 5 від 21.01.2010 р.)

Навчальне видання

Дискретний аналіз

Частина 2. Елементи математичної логіки

Курс лекцій
для студентів спеціальностей,
пов’язаних з інформаційними технологіями та
захистом інформації

Укладач Мороховець Марина Костянтинівна


Рисунки виконав К.О.Панков

Відповідальний редактор М.М. Савчук, д-р фіз.мат.наук

Рецензенти М.М.Глазунов, д-р фіз.мат.наук


А.М.Чеботарьов А.М., д-р техн.наук

2
ВСТУП

Розділ «Елементи математичної логіки» є частиною курсу


«Дискретний аналіз», що викладається студентам першого року навчання.
Читачеві даного видання пропонується орієнтоване на початківців
викладення базового розділу математичної логіки – логіки висловлень.
Приділяється увага зв’язку між природною мовою та мовою логіки
висловлень, підкреслено роль мови логіки висловлень як засобу подання
міркувань. Розглянуто методи перевірки правильності міркувань, що
можуть бути записані мовою логіки висловлень.
Матеріал даного видання можна умовно поділити на дві частини –
«теоретичну» та «практичну». У першій частині викладено основні
теоретичні відомості з логіки висловлень, які подаються невеликими за
обсягом порціями. Після кожної такої порції наведено контрольні питання
й задачі та вправи, з якими студентам рекомендується працювати для
кращого засвоєння матеріалу та набування навичок його практичного
застосування. У другій, «практичній», частині видання розглянуто типові
задачі, для розв’язання яких застосовуються методи математичної логіки, а
саме: задача перевірки правильності міркування та задача сумісності
(суперечності) сукупності тверджень. Докладно описано, як звести задачу
перевірки правильності міркування до задачі перевірки логічного
слідування формули логіки висловлень з сукупності формул логіки
висловлень, а також як звести задачу перевірки сумісності сукупності
тверджень до задачі перевірки тотожної хибності формули логіки
висловлень. На простих, але змістовних прикладах проілюстровано, як
використовувати методи, викладені у «теоретичній» частині даного
видання для розв’язання цих задач.

3
МОВА ЛОГІКИ ВИСЛОВЛЕНЬ

Висловленням будемо називати стверджувальне речення, яке може


бути істинним або хибним, але не тим та іншим разом. Приклади висловлень:
«Київ – столиця України»; «Місяць – супутник Землі». «Істина» або
«хибність», приписані деякому висловленню, називаються істинносними
значеннями цього висловлення і позначаються 1 і 0 відповідно. Будемо
використовувати великі літери (можливо, з індексами) або ланцюжки таких
літер для позначення висловлень. Наприклад, ми можемо позначити
висловлення таким чином:
U: Земля обертається навколо Сонця.
Q: Троянда є рослиною.
P: Мої друзі навчаються в університеті.
Символи U, Q, P й т.п., що позначають висловлення, будемо називати
атомарними формулами, або атомами. Для побудови складних висловлень
у природній мові користуються сполучниками. Наведемо приклади.
1) Зараз іде дощ, й небо захмарене.
2) Якщо мами немає вдома, то ця дівчинка сумує.
3) Якщо літо спекотне або до нас приїжджають родичі з Сибіру, то ми
відпочиваємо у горах.
4) Матриця має обернену тоді й тільки тоді, коли її визначник не дорівнює
нулю.
У логіці висловлень для побудови з атомарних формул складених
виразів будемо використовувати логічні зв’язки:  – заперечення (аналог
частки «не»),  – кон’юнкція (аналог сполучника «та», або «й»),  –
диз’юнкція (аналог сполучника «або»),  – імплікація (аналог зворотів
«якщо …, то», «тільки тоді, коли…»),  – рівносильність, або

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, PQ,
R() не є правильно побудованими.
Якщо вважати, що логічним зв’язкам приписано ранг, що
зменшується згідно з таким порядком: , , , , , й умовитися, що
зв’язка з більшим рангом має більшу область дії, то без деяких дужок у
формулах можна обійтися. Крім того, домовимося опускати зовнішні
дужки формули та дужки біля атомів. Таким чином,
RPQ означає ((R)((P)(Q))),
PQRQP означає (((P))((Q)(R)))(((Q))(P)),
PQR означає ((P)((Q)))(R).
Формули можуть мати імена. На письмі ім’я формули розміщується
перед формулою й між ними ставиться знак «=». Наприклад, F=Р(QR).
Подамо у вигляді формул висловлення 1) - 4), наведені вище, або,
іншими словами, виконаємо переклад цих висловлень мовою логіки
висловлень. Для цього треба здійснити розбір кожного висловлення як

5
речення української мови, виділити у кожному з них прості речення;
розглядаючи кожне з простих речень як висловлення, увести для нього
позначення (атом); потім з’ясувати, за допомогою яких мовних засобів з
простих речень утворене складне речення, знайти у мові логіки висловлень
відповідні логічні зв’язки й побудувати формулу з уведених атомів та
знайдених логічних зв’язок, зберігаючи структуру даного висловлення.
Отже, розглянемо висловлення 1): «Зараз іде дощ, й небо захмарене».
Це є складносурядне речення; воно складається з двох простих речень,
кожне з яких є простим висловленням («зараз іде дощ» та «небо
захмарене»). Позначимо висловлення «зараз іде дощ» символом А, а
висловлення «небо захмарене» – символом В (тобто уведемо атоми А та
В). Зазначимо, що висловлення 1) утворене з виділених простих
висловлень за допомогою сполучника «й», аналогом якого є логічна
зв’язка . Отже, висловлення 1) можна подати у вигляді такої формули
логіки висловлень: АВ.
Висловлення 2) складене з простих висловлень «мами немає вдома»
(уведемо для його позначення атом С) та «ця дівчинка сумує» (уведемо для
його позначення атом D) за допомогою звороту «якщо…, то», аналогом
якого є логічна зв’язка . Отже, це висловлення можна подати у вигляді
формули СD.
Висловлення 3) є складнопідрядним реченням, що складається з двох
частин, кожна з яких є висловленням, а саме: «літо спекотне або до нас
приїжджають родичі з Сибіру» та «ми відпочиваємо у горах»; ці частини
з’єднані у одне речення за допомогою звороту «якщо…, то». Отже, переклад
цього висловлення мовою логіки висловлень буде мати форму XY.
Знайдемо тепер формули, які маємо підставити замість Х та Y. Зрозуміло,
що замість Х треба підставити переклад мовою логіки висловлень фрази

6
«літо спекотне або до нас приїжджають родичі з Сибіру», а замість Y –
фрази «ми відпочиваємо у горах». Проаналізуємо висловлення «літо
спекотне або до нас приїжджають родичі з Сибіру». Це є складне речення,
що утворене з двох частин («літо спекотне» та «до нас приїжджають родичі
з Сибіру», що з’єднані за допомогою сполучника «або», причому кожна з
частин є простим висловленням. Отже, можемо увести атом Е замість
висловлення «літо спекотне» та атом G – замість висловлення «до нас
приїжджають родичі з Сибіру». Таким чином, перекладом висловлення
«літо спекотне або до нас приїжджають родичі з Сибіру» буде формула
ЕG, отже, ми знайшли вираз Х. Тепер знайдемо вираз Y. Для цього
проаналізуємо висловлення «ми відпочиваємо у горах». Це є просте
висловлення; уведемо для його позначення атом H. Отже, остаточно
висловлення 3) перекладається формулою (ЕG)Н.
Висловлення 4) є складним реченням, дві частини якого («матриця
має обернену» та «її визначник не дорівнює нулю») є простими
висловленнями, що з’єднані (у речення) за допомогою звороту «тоді й
тільки тоді, коли» (аналогом якого є логічна зв’язка ). Уводячи атом К
замість простого висловлення «матриця має обернену» та атом L – замість
простого висловлення «її визначник не дорівнює нулю», маємо для
висловлення 4) формулу КL.

Контрольні питання

1. Що таке висловлення?
2. Що таке атомарна формула?
3. Що таке формула логіки висловлень?
4. Що таке мова логіки висловлень?

7
Задачі та вправи

І. Подати висловлення формулами логіки висловлень.


1. Для того, щоб ціле число х було непарним, достатньо, щоб х було простим.
2. Якщо число х додатне, то х3 додатне.
3. Дане відношення є відношенням еквівалентності тоді й тільки тоді, коли
воно рефлексивне, симетричне та транзитивне.
4. Для того, щоб число х було додатним, необхідно, щоб додатним було
число х+1.
5. Якщо увечері буде дощ, то Петро або залишиться вдома й буде
нудьгувати, або поїде на концерт на таксі.
6. Якщо Марійка стомлена чи зголодніла, вона не може працювати.
7. Ні «Зоря», ні «Карпати» не виграли чемпіонат з футболу минулого року.
8. Множини А та В рівні тільки тоді, коли А є підмножиною В.
9. Якщо х – ціле число, то х парне або непарне.
10. Петро любить подорожувати, але намагається не користуватися
повітряним транспортом.
ІІ. Нехай для позначення висловлень уведені атоми. Записати подані
формули українською мовою.
1. P: «Йому потрібен лікар»
Q: «Йому потрібен адвокат»
R: «З ним трапився нещасний випадок»
S: «Він хворий»
T: «Він поранений».
а) (SP)(RQ), б) P(ST),
в) (PQ)R, г) (PQ)(ST),
д) (ST)P, є) R(PQ).

8
2. С: «Сьогодні ясно»
R: «Сьогодні дощить»
S: «Сьогодні падає сніг»
Y: «Вчора було похмуро».
а) С(RS), б) YC,
в) (YR)C, г) C(RS)Y,
д) (CR)(SY), є) Y(CR).

ІНТЕРПРЕТАЦІЇ ФОРМУЛИ ЛОГІКИ ВИСЛОВЛЕНЬ

Оскільки з кожним висловленням зв’язане істинносне значення, а


для подання висловлення можна використати формули логіки висловлень,
то з формулами логіки висловлень теж доцільно зв’язувати істинносні
значення.
Нехай F, F1, F2 – формули. Зв’язок між істинносними значеннями F,
F1, F2 й істинносними значеннями формул F, F1F2, F1F2, F1F2, F1F2
визначається такими таблицями істинності:

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: QPQR. Атомами у
ній є Q, P, R. Якщо істинносними значеннями Q, P й R є відповідно 0, 0 й
1, то, за таблицями істинності, Q=1, QP=0, QR=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(F1F2)=h(F1)h(F2),
h(F1F2)=h(F1)h(F2), h(F1F2)=h(F1)h(F2), h(F1F2)=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
таблицями істинності. Маємо: 111=011=11=1. Оскільки формула
F приймає значення 1 при інтерпретації {A,B,C}, то дана інтерпретація є
моделлю F, й, відповідно, F має модель.
Твердження 1. Якщо формула містить n різних атомів, то вона має
2n різних інтерпретацій.
Доведення грунтується на застосуванні означення n-арної функції з
множини Х у множину Y.
Формула називається тотожно істинною (тавтологією), якщо
вона істинна при усіх можливих інтерпретаціях.
Формула називається тотожно хибною (суперечною,
суперечныстю), якщо вона хибна при усіх можливих інтерпретаціях.
Формула називається несуперечною, якщо вона не є тотожно хибною.
Наприклад, формула PP є тавтологією; формула PP суперечна;
формула PQ несуперечна, але не є тавтологією.

Контрольні питання

1. Як визначаються операції , , , ,  на множині істинносних


значень {0,1}?
2. Що таке інтерпретація формули логіки висловлень?
3. Що таке модель формули логіки висловлень?
4. Яка формула називається тотожно істинною? тотожно хибною?
5. Що таке тавтологія?
6. За якої умови формула логіки висловлень має модель?
7. Скільки інтерпретацій має формула, що містить n попарно різних атомів?
8. Чи може формула логіки висловлень мати непарну кількість: а) моделей,
б) інтерпретацій?

11
Задачі та вправи

І. Для кожної з поданих формул визначити, чи є вона: а) тотожно істинна,


б) тотожно хибна, в) несуперечна. Обчислити кількість моделей для
кожної з формул.
1. (P)P 2. P(PQ)
3. (PQ)Q 4. (PQ)P
5. (PQ)(QP) 6. (PQ)(QP)
7. PP 8. PP
9. P(PQ) 10. (P(QP))P
11. P(QP) 12. (PQ)(PQ)
13. P((PQ)) 14. (PQ)(PQ)
15. (PQ)(PQ) 16. (PQ)(PQ)
17. P(QR)(PQ)R 18. ((PQ)(PR)(QR))R
19. RS(PQS) 20. (PQ)R(SP).
ІІ. Нехай при інтерпретації h формула F приймає значення 1. Що можна
сказати про істинносне значення формули F1 при інтерпретації h?
1. F = PQ, F1= PQPQ
2. F = PQ, F1= PQ
3. F = (PQ), F1= PQ
4. F = PQ, F1= (PQ)(PQ)
5. F = PQ, F1= PQ.
III. Довести твердження.
1. Формула F є тавтологією тоді й тільки тоді, коли формула F тотожно
хибна.

12
2. Формула F тотожно хибна тоді й тільки тоді, коли формула F є
тавтологією.
3. Якщо формула тотожно істинна, то вона несуперечна, але не навпаки.
4. Якщо формула суперечна, то вона не є тавтологією, але не навпаки.
IV. Записати детальне доведення твердження 1.
V. Нехай формули F1 та F1F2 є тотожно істинними. Довести, що F2
тотожно істинна.
VІ. Нехай формула F є тавтологією, A1, A2,…,An – атоми, що входять у F.
Нехай формула F0 утворюється у результаті підстановки у F деяких
формул F1,F2,…,Fn замість атомів A1,A2,…,An. Довести, що F0 є
тавтологією.

ЕКВІВАЛЕНТНІ ФОРМУЛИ ЛОГІКИ ВИСЛОВЛЕНЬ.


НОРМАЛЬНІ ФОРМИ

Формули F1 й F2 називаються еквівалентними, або рівносильними


(позначається F1 = F2 ), якщо істинносні значення F1 й F2 збігаються при
кожній інтерпретації F1 й F2.
Можна показати, що виконуються такі співвідношення (символи 1, 0
означають відповідно тотожно істинну й тотожно хибну формули):
1) F1  F2 = (F1F2)  (F2F1);
2) F1 F2 = F1  F2;
3) F1  F2 = F2  F1; F1  F2 = F2  F1; (закони комутативності)
4) F1  (F2  F3) = (F1  F2)  F3; (закони
5) F1  (F2  F3) = (F1  F2)  F3; асоціативності)
6) F1  (F2  F3) = (F1  F2)  (F1  F3); (закони
7) F1  (F2  F3) = (F1  F2)  (F1  F3); дистрибутивності)

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) 1F1=1; 1  F1 = F1; 0  F1 =F1; 0F1=0, F1F1=0, F1F1=1.
Внаслідок законів асоціативності дужки у формулах виду F1  (F2 
F3) або (F1  F2)  F3, а також у F1  (F2  F3) або (F1  F2)  F3 можна
опускати й писати F1  F2  F3 та F1  F2  F3. Отже, якщо F1, F2, …, Fn –
формули, nN+, будемо писати 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 – формули, кожна з яких є літерою або диз’юнкцією
літер, nN+.
Диз’юнкт є диз’юнкція літер або літера.
Надалі будемо іноді вважати вирази “множина літер” та “диз’юнкт”
синонімами. Наприклад, QPR={Q,P,R}. Диз’юнкт, що містить r
літер, називається r-літерним диз’юнктом. Однолітерний диз’юнкт
називається одиничним диз’юнктом. Диз’юнкт, що не містить жодної
літери, називається порожнім (пустим) диз’юнктом (позначається ).

Оскільки  не містить літер, які могли б бути істинними при якихось


інтерпретаціях, то він є тотожно хибним.
Нехай A – атом. Будемо називати літери A та A контрарними, а
множину {A, A} – контрарною парою.

14
Зауважимо, що диз’юнкт, який містить контрарну пару, є тавтоло-
гією. Будемо називати такий диз’юнкт тавтологічним.
Нехай S – множина диз’юнктів. Будемо вважати, що множині S
відповідає формула, яка є кон’юнкцією усіх диз’юнктів з S. За кнф виду
F1…Fn побудуємо множину диз’юнктів {F1,…,Fn}. Отже, кнф будь-якої
формули може бути подана у вигляді множини диз’юнктів, й навпаки, за
множиною диз’юнктів може бути побудована формула у кон’юнктивній
нормальній формі.
Непорожню множину диз’юнктів S будемо називати суперечною,
якщо формула, що є кон’юнкцією усіх диз’юнктів з S, є суперечною.
Порожня множина диз’юнктів несуперечна, оскільки вона не містить
диз’юнктів, які б могли приймати значення 0 при якихось інтерпретаціях.
Формула F є у диз’юнктивній нормальній формі (днф, або ДНФ), якщо
F=F1…Fn, де F1,…,Fn – формули, кожна з яких є літерою або кон’юнкцією
літер, nN+.
Кон’юнкт є кон’юнкція літер або літера.
Наприклад, нехай P, Q, R – атоми. Тоді (PR)(QRP) є
формула у диз’юнктивній нормальній формі. Для цієї формули F1 = PR,
F2 = QRP; F1 є кон’юнкція літер P й R, а F2 є кон’юнкція літер Q,
R, P. (QRP)(RQ) – формула у кон’юнктивній нормальній формі.
Для цієї формули F1 = QRP, F2 = RQ; F1 – диз’юнкція літер Q, R, P, а
F2 – диз’юнкція літер R та Q.
Твердження 2. Будь-яка формула логіки висловлень може бути
перетворена у кнф та днф за допомогою співвідношень 1-12.
Дійсно, для перетворення формули у кнф або днф слід послідовно та
за потребою застосувати: співвідношення 1) F1  F2 = (F1F2)  (F2F1)
для вилучення зв’язки , співвідношення 2) F1 F2 = F1  F2 для

15
вилучення зв’язки , тотожність 11) (F1) = F1 для спрощення формули,
співвідношення 10) (F1  F2) = F1  F2; (F1  F2) = F1  F2 для того,
щоб перенести знак заперечення безпосередньо до атомів (зменшити
область дії заперечення), закони комутативності, асоціативності та
дистрибутивності, щоб побудувати кнф або днф, тотожності 8,9,12, щоб
здійснити спрощення формули.
Розглянемо приклад. Побудуємо кон’юнктивну нормальну форму
для формули Q(P(RS)). Використовуючи співвідношення 1-12,
маємо:
Q(P(RS))=Q(P(RS))=Q(P(RS))=(QP)(Q(R
 S))=(QP)(QR)(QS). Отже, кнф формули Q(P(RS)) є
формула (QP)(QR)(QS).

Контрольні питання

1. Які формули називаються рівносильними?


2. Що таке літера?
3. Що таке диз’юнкт? r-літерний диз’юнкт? одиничний диз’юнкт?
порожній диз’юнкт?
4. Що таке контрарні літери?
5. Що таке тавтологічний диз’юнкт?
6. Що таке кон’юнкт?
7. Що таке кнф? днф?
8. Які формули логіки висловлень можна подати у кнф? у днф?
9. Які тотожності використовуються при побудові кнф (днф) формули?
10. Що таке суперечна множина диз’юнктів?

16
Задачі та вправи

I. Подати формули у днф та кнф.


1. (PQ)R 2. P((QR)S)
3. (PQ)(ST) 4. (PQ)R
5. (PQ)(PQ) 6. P(PQR)
7. (PQ)(PQ) 8. (PQ)
9. (PQ)R 10. (PQ)(PQ)
11. ((PQ)P)P 12. P(Q(PQ))
13. (PQ)(P(QP)) 14. (P(QS))((PQ)(QS))
15. SP(PS) 16. QS(PS)
17. RS(PQS) 18. (PQ)R(SP)
19. (PQ)PQ 20. (PQR)(PQR).
II. Довести тотожності 1-12.
ІІІ. Перевірити кожну з поданих рівностей шляхом перетворення обох її
частин у одну й ту саму нормальну форму.
1. (PQ)(PR) = (P(QR))
2. (PQ)(PQ) = (PQ)(QP)
3. PQ(PQ) = PQ(PQ)
4. P(P(PQ)) = PQ(PQ)
5. (PQ)R = P(QR)

ЛОГІЧНЕ СЛІДУВАННЯ

Ми бачили, що висловлення можна подавати за допомогою формул


логіки висловлень. Часто нас цікавлять не окремі висловлення, а

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. Формула PQ є логічним наслідком формул P та Q. Дійсно, існує модель
{P,Q} формул Р та Q, причому єдина. При інтерпретації {P,Q} формула
PQ приймає істинносне значення 1. Отже, кожна модель формул P та Q є
моделлю формули PQ, а це означає, що PQ є логічним наслідком P та Q.

18
2. Формула PQ не є логічним наслідком формул Q та PQ, оскільки
існує інтерпретація {P, Q}, при якій і Q, й PQ істинні, а PQ хибна.
Ми можемо використовувати логічне слідування для подання
міркування. Застосовуючи означення поняття логічного слідування ми
також можемо перевіряти правильність міркування. Розглянемо приклад.
Чи є логічно правильним таке міркування?
Дощ іде або спекотно. Якщо дощ не йде, то спекотно.
Якщо дощ іде, то не спекотно. Отже, якщо спекотно, то дощ не йде.
Можна сформулювати задачу інакше: чи випливає твердження «Якщо
спекотно, то дощ не йде» з тверджень: «Дощ іде або спекотно», «Якщо
дощ не йде, то спекотно», «Якщо дощ іде, то не спекотно»?
Щоб відповісти на це запитання, спочатку запишемо дані твердження
як формули логіки висловлень. Нехай D означає «Дощ іде», а S означає
«спекотно». Тоді початкова задача зводиться до перевірки того, чи є
формула SD логічним наслідком формул DS, DS, DS.
Оскільки, як неважко перевірити, формула SD істинна при тих
інтерпретаціях, при яких істинні формули DS, DS, DS, то SD
є логічним наслідком цих формул. Отже, твердження «Якщо спекотно, то
дощ не йде» випливає з поданих тверджень.
Поняття логічного слідування, суперечності та тавтологічності
пов’язані між собою. Цей зв’язок визначає така теорема.
Теорема 1. Нехай F1, F2, …, Fn, F – формули.
1) F1,F2…,Fn╞═ F тоді й тільки тоді, коли формула F1F2…FnF є
тотожно істинною (тавтологією).
2) F1,F2,…,Fn╞═ F тоді й тільки тоді, коли формула F1F2…FnF
тотожно хибна (суперечна).

19
Доведемо перше з поданих тверджень. Покажемо спочатку, що якщо
F1,F2…,Fn╞═ F, то формула F1F2…FnF є тотожно істинною. Нехай h
– деяка інтерпретація формули F1F2…FnF. Можливі два випадки: 1)
h(F1F2…Fn)=1, 2) h(F1F2…Fn)=0.
Розглянемо перший випадок. З того, що h(F1F2…Fn)=1, випливає,
що h(F1)=h(F2)=…=h(Fn)=1, тобто інтерпретація h є моделлю формул
F1,F2,…,Fn. Оскільки виконується F1,F2…,Fn╞═ F, то h є також моделлю
формули F, тобто h(F)=1. Тоді h(F1F2…FnF)=h(F1F2…Fn)h(F)
=11=1, отже, формула F1F2…FnF істинна при інтерпретації h.
У другому випадку маємо:
h(F1F2…FnF) = h(F1F2…Fn)h(F) = 0h(F)=1
незалежно від значення виразу h(F), тобто формула F1F2…FnF
приймає значення 1 при інтерпретації h.
Таким чином, за умови F1,F2…,Fn╞═ F формула F1F2…FnF
приймає значення 1 при кожній інтерпретації.
Тепер покажемо, що якщо формула F1F2…FnF тотожно істинна, то
F1,F2…,Fn╞═ F. Нехай h – модель формул F1,F2…,Fn. Тоді h(F1F2…Fn) = 1.
Оскільки F1F2…FnF тотожно істинна, то h(F1F2…FnF) =1. Але
h(F1F2…FnF) = h(F1F2…Fn)h(F) = 1h(F) = 1, звідки випливає, що
h(F)=1. Отже, кожна модель формул F1,F2…,Fn є моделлю формули F, тобто,
F1,F2…,Fn╞═ F. Твердження доведено.

Контрольні питання

1. За якої умови можна стверджувати, що формула F є логічним наслідком


формул F1,…,Fn?

20
2. Сформулюйте достатні умови того, що формула F є логічним наслідком
формул F1,…,Fn.
3. Сформулюйте необхідні умови того, що формула F є логічним наслідком
формул F1,…,Fn.
Задачі та вправи

І. Задано сукупність формул. Перевірити, чи є у цій сукупності формула,


що являється логічним наслідком інших.
1. PQ, PR, QR 2. P(QR), PR, Q
3. PQ, RPRQ 4. P(QR), Q(PR)
5. P(QR), P(PR), PQ 6. PQ, PR, P(QR)
7. (PQ), (QP) 8. PQ, QP
9. PRQS, PQ, RS 10. P(QR), PQR.
ІІ. Довести п.2 теореми 1.

МЕТОДИ ПЕРЕВІРКИ ТОТОЖНОЇ ХИБНОСТІ Й ТОТОЖНОЇ


ІСТИННОСТІ ФОРМУЛ ЛОГІКИ ВИСЛОВЛЕНЬ

Різноманітні задачі у математиці та у інших галузях можуть бути


сформульовані як задачі встановлення того, чи випливає деяке твердження з
заданої сукупності інших тверджень, тобто як задачі перевірки правильності
міркування. Якщо твердження у міркуванні є висловленнями, то задачу
перевірки правильності такого міркування можна звести до задачі перевірки
логічного слідування формули логіки висловлень, що є перекладом
твердження-висновку заданого міркування, з формул, що є перекладами
висловлень-посилок цього міркування. Теорема 1, що сформульована вище,
дає можливість замінити перевірку логічного слідування формули F з формул

21
F1,…,Fn перевіркою тавтологічності (або суперечності) формули, побудованої
з F1,…,Fn, F спеціальним чином. Для установлення тавтологічності
(суперечності) деякої формули P логіки висловлень можна використати
таблиці істинності й перевіряти істинносні значення формули P при кожній
інтерпретації. Ми розглянемо інші методи перевірки тавтологічності та
суперечності, які ґрунтуються на поданні формул у спеціальному вигляді, а
саме у вигляді тієї чи іншої нормальної форми. Для подання формули у
нормальній формі виконуються перетворення даної формули, які зберігають
її істинносне значення при кожній інтерпретації.

Метод перевірки суперечності й тавтологічності формул шляхом


зведення до диз’юнктивної та кон’юнктивної нормальної форми

Тавтологічність формули можна перевірити шляхом зведення її до


кнф. Наприклад, (PQ)  Q  P = (PQ) Q  P = ((PQ)
Q) P = (PQ)QP = (PQ)  Q P = (P Q P) (Q Q
P) = 1 1 = 1. Отже, формула (PQ)  Q  P є тавтологією.
Суперечність формули можна довести шляхом перетворення її у днф.
Наприклад, (PQ)QP = (PQ)QP = (PQP)(QQP) = 00
= 0. Отже, формула є суперечною.

Контрольні питання

1. До якої нормальної форми (кнф чи днф) треба звести формулу, щоб


перевірити, чи є вона тотожно істинною?
2. До якої нормальної форми (кнф чи днф) треба звести формулу, щоб
перевірити, чи є вона тотожно хибною?

22
Метод Девіса й Патнема

Метод Девіса й Патнема дає можливість перевіряти суперечність


множини диз’юнктів. Він базується на чотирьох правилах.
1. Правило тавтології. З множини диз’юнктів S вилучити усі
тавтологічні диз’юнкти, якщо такі містяться у S. Позначимо множину
диз’юнктів, що утворюється у результаті такого вилучення, через S. Якщо
S=, то дати відповідь «S несуперечна» та завершити роботу, інакше
перевірити суперечність S.
Зазначимо, що множина S суперечна тоді й тільки тоді, коли S
суперечна. Отже, однократне застосування правила тавтології до множини
диз’юнктів S, що містить тавтологічні диз’юнкти, або дає відповідь на
питання про суперечність S (якщо S=, то S – несуперечна), або зводить
задачу про суперечність S до задачі про суперечність множини диз’юнктів
S, яка містить менше диз’юнктів, ніж S.
2. Правило однолітерних диз’юнктів. Якщо в S існує одиничний
диз’юнкт {L}, то спочатку побудувати множину S, вилучаючи з S ті
диз’юнкти, що містять літеру L. Якщо S=, то дати відповідь «множина S
несуперечна» й завершити роботу. Якщо S, то побудувати множину S,
вилучаючи з диз’юнктів множини S усі входження літери L. Якщо S
містить порожній диз’юнкт, то дати відповідь «множина S суперечна» та
завершити роботу, інакше перевірити суперечність S.
Зазначимо, що множина S суперечна тоді й тільки тоді, коли S
суперечна. Таким чином, однократне застосування правила однолітерних
диз’юнктів до множини диз’юнктів, що містить одиничний диз’юнкт, або
дає відповідь на питання про суперечність S (якщо S=, то S –
несуперечна, якщо S, то S суперечна), або зводить задачу про

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)…(AmL)(B1L)…(BnL)R, де m,nN+, Ai (i{1,…,m}), Bj
(j  {1,…,n}), R не містять літер L та L. Побудувати множини S1 =
A1…AmR та S2 = B1…BnR. Перевірити суперечність S1 та S2.
Зазначимо, що S суперечна тоді й тільки тоді, коли S1 й S2 суперечні.
Застосування правила розщеплення дає можливість звести задачу про
суперечність множини диз’юнктів S до сукупності двох задач (про
суперечність S1 та про суперечність S2), кожна з яких простіша, ніж задача
про суперечність S.
Метод Девіса й Патнема перевірки суперечності множини
диз’юнктів S полягає у рекурсивному застосуванні до S правил 1-4 у
зазначеному порядку.

24
Розглянемо приклад. Перевіримо за допомогою методу Девіса й
Патнема суперечність множини S = {PQR, PQ, P, R, T. За
правилом 2 (з диз’юнктом P) маємо множину S1 = {QR, Q, R, T}. За
правилом 2 (з диз’юнктом R) маємо множину S2 = {Q, Q, T}. За
правилом 2 (з диз’юнктом Q) маємо множину S3 = {, T}, яка є
суперечною, оскільки містить порожній диз’юнкт. Отже, початкова
множина диз’юнктів S суперечна.

Контрольні питання

1. Для розв’язання якої задачі застосовується метод Девіса й Патнема?


2. Яка літера називається чистою у множині диз’юнктів?
3. На яких правилах перетворення множини диз’юнктів ґрунтується метод
Девіса й Патнема?

Метод резолюцій

Правило резолюції. Нехай С1, С2 – диз’юнкти й С1=D1L, С2=D2L,


де D1, D2 – диз’юнкції літер, можливо, порожні, L, L – контрарні літери.
Будемо говорити, що диз’юнкт C=D1D2 утворюється за допомогою правила
резолюції з диз’юнктів С1 та С2. Диз’юнкт С називається резольвентою
диз’юнктів С1 та С2.
Розглянемо приклад. Застосуємо правило резолюції до диз’юнктів С1
= RQ та С2 = QP й побудуємо їх резольвенту. Оскільки С1 та С2 містять
відповідно літери Q та Q, що складають контрарну пару літер, до них
застосовне правило резолюції. Маємо резольвенту С = RP диз’юнктів С1
та С2.

25
Теорема 2. Нехай С1, С2 – диз’юнкти, С – резольвента С1 та С2. Тоді
С є логічним наслідком С1 та С2.
Будемо говорити, що порожній диз’юнкт  виводиться з множини
диз’юнктів S (або існує вивід диз’юнкту  з множини диз’юнктів S) за
допомогою правила резолюції, якщо існує така скінченна послідовність
диз’юнктів С1,…,Сk, що Сk=  й кожен диз’юнкт Сi даної послідовності
(1ik) є або диз’юнктом з множини S, або резольвентою таких диз’юнктів
Cn, Cm даної послідовності, що n<і та m<i. Послідовність С1,…,Сk, що
задовольняє наведені умови, назвемо виводом порожнього диз’юнкту з
множини диз’юнктів S за допомогою правила резолюції.
За допомогою правила резолюції можна доводити суперечність
формул логіки висловлень. Основою для цього є така теорема.
Теорема 3 (про повноту). Множина диз’юнктів S суперечна тоді й тільки
тоді, коли існує вивід порожнього диз’юнкту  з S за допомогою правила
резолюції.
Розглянемо приклад. Доведемо суперечність множини диз’юнктів S
= {PQ, PQR, P, R, T, побудувавши вивід  з S за допомогою
правила резолюції.
1. PQR диз’юнкт в S
2. PQ диз’юнкт в S
3. P диз’юнкт в S
4. R диз’юнкт в S
5. T диз’юнкт в S
6. PR резольвента 1 та 2
7. R резольвента 3 та 6
8.  резольвента 4 та 7.

26
Отже, маємо вивід PQR, PQ, P, R, PR, R,  порожнього
диз’юнкту з S за допомогою правила резолюції, а це означає, що множина
S суперечна.
Засоби обмеження перебору при застосуванні правила резолюції.
Для доведення суперечності множини диз’юнктів S за допомогою правила
резолюції достатньо знайти вивід порожнього диз’юнкту з S. Для
доведення несуперечності множини диз’юнктів S за допомогою правила
резолюції треба переконатися, що не існує виводу порожнього диз’юнкту з
множини S. Перевірка суперечності множини диз’юнктів S методом
резолюцій, тобто пошук виведення з S порожнього диз’юнкту за
допомогою правила резолюції, може бути організована за таким планом.
Спочатку будуємо усі резольвенти усіх пар диз’юнктів з S, поповнюємо
множину диз’юнктів, включаючи у неї побудовані резольвенти, знову
будуємо резольвенти й повторюємо описаний процес доти, поки не буде
побудовано порожній диз’юнкт або виникають нові резольвенти (тобто
такі, що не збігаються з побудованими раніше). Це означає, що послідовно
породжуються множини S0, S1, S2,…, де S0=S, Sn={R: R є резольвента C1 та
C2, C1(S0…Sn-1), C2Sn-1}, n=1,2,…,. Необмежене використання
правила резолюції при виведенні може призвести до породження великої
кількості надлишкових (зайвих) резольвент, тобто таких диз’юнктів, що,
наприклад, не входять до виводу . Розглянемо деякі шляхи вирішення
проблеми надлишкових резольвент при застосуванні метода резолюцій.
Стратегія викреслювання. Ця стратегія виникла як узагальнення
правила тавтології Девіса й Патнема. Визначимо деякі допоміжні поняття.
Диз’юнкт С називається пiддиз’юнктом D (або таким, що поглинає
D), якщо CD (нагадаємо, що вирази “множина літер” та “диз’юнкт”
вважаються синонімами). Диз’юнкт D називається наддиз’юнктом С.

27
Зазначимо, що коли D збігається з С, то D є наддиз’юнктом С.
Нехай, наприклад, C=QR, D=QPR (тобто 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,С2Sn-1, то С1 має передувати С2. Якщо
резольвента R диз’юнктів С1 та С2 існує, то вона включається у множину Sn
у тому випадку, коли R не є тавтологією й не поглинається деяким раніше
побудованим диз’юнктом.
Стратегія вхідної резолюції. Дана стратегія базується на обмеженні
використання правила резолюції: хоча б одна з двох посилок правила при
побудові резольвенти має бути диз’юнктом з висхідної множини
диз’юнктів. Назвемо таке правило виводу вхідною резолюцією, а
виведення, у якому будь-яке застосування правила резолюції є вхідною
резолюцією, – вхідним виведенням.
Розглянемо приклад, який показує, що стратегія вхідної резолюції не
є повною. Нехай S={PQ,PQ,PQ,PQ}. Множина S є суперечною,
оскільки методом резолюцій можна побудувати вивід  з S. Дійсно:
(1) PQ
(2) PQ
(3) PQ

28
(4) PQ
(5) Р резольвента (1) та (2)
(6) P резольвента (3) та (4)
(7)  резольвента (5) та (6)
Застосуємо до S стратегію вхідної резолюції. Резольвенти, що є
тавтологіями та наддиз’юнктами, викреслюються й у виведенні не
показані. Праворуч від резольвент вказані номери диз’юнктів-посилок.
(1) PQ
(2) PQ
(3) PQ
(4) PQ
(5) Р (1), (2)
(6) Q (1), (3)
(7) Q (2), (4)
(8) Р (3), (4)
Диз’юнкти (5)–(8) – це диз’юнкти множини S1. Неважко бачити, що
продовжуючи пошук вхідною резолюцією, можна побудувати лише
тавтології та наддиз’юнкти тих резольвент, які одержані раніше. Отже,
вхідного виведення  з S не існує.
Стратегія одиничної резолюції. Дана стратегія базується на такому
обмеженні використання правила резолюції: хоча б одна з двох посилок
правила при побудові резольвенти має бути одиничним диз’юнктом.
Назвемо таке правило виводу одиничною резолюцією, а виведення, у якому
будь-яке застосування правила резолюції є одиничною резолюцією, –
одиничним виведенням. Зв’язок між стратегіями одиничної та вхідної
резолюції зрозумілий з такої теореми.

29
Теорема 4. Для даної множини диз’юнктів S одиничне виведення 

існує тоді й тільки тоді, коли існує вхідне виведення .


Як показано вище, стратегія вхідної резолюції не є повною, отже,
згідно з наведеною теоремою, стратегія одиничної резолюції теж не є
повною.
Контрольні питання

1. Що таке резольвента двох диз’юнктів?


2. Що таке вивід порожнього диз’юнкту з множини диз’юнктів?
3. Що таке піддиз’юнкт (наддиз’юнкт) диз’юнкту?
4. Які існують засоби обмеження перебору при перевірці суперечності
множини диз’юнктів методом резолюцій?

Метод двійкових діаграм рішень

Нехай F, F0, F1 – формули. Розгалуженням називається вираз виду


FF1,F0, який визначається так: FF1,F0=(FF1)(FF0). Формула F
називається перевірним виразом,  – оператором розгалуження, F1,F0 –
гілками розгалуження. Будемо називати розгалуження формулою.
З наведеного означення випливає, що логічні зв’язки , , , , 
можуть бути виражені через оператор розгалуження й логічні константи 0 та 1
таким чином, що: а) перевірні вирази є атомами, б) атоми зустрічаються лише
у перевірних виразах. Дійсно, маємо: Р=(Р0,1); PQ=P(Q1,0),0;
РQ=P(Q1,0),(Q0,1); PQ=P1,(Q1,0); PQ=P(Q1,0),1. Зазна-
чимо також, що кожна формула F може бути записана у вигляді F1,0.
Формула F є у нормальній формі розгалуження (нфр), якщо F
побудована лише з атомів, операторів розгалуження й логічних констант 0 та

30
1, перевірними виразами є атоми, атоми зустрічаються лише як перевірні
вирази.
Наприклад, формула P(Q0,(R0,1)),(R(P1,0),(Q1,0)) є у
нфр, а формули (РQ)R,0 та Р(RQ),(QP) – ні.
Позначимо F[0/P] (F[1/P]) формулу, що є результатом заміни у
формулі F атома Р на 0 (1). Тоді формулу F, що містить атом Р, можна
подати у вигляді
F=РF[1/P],F[0/P]. (1)
Користуючись цим співвідношенням (застосовуючи його спочатку до
формули F, а потім до гілок розгалуження й т.д.), можна кожну формулу
логіки висловлень привести до нфр. Нехай, наприклад, F=(PQ)(QR).
Виберемо за перевірний вираз атом Р та застосуємо перетворення (1). Тоді
гілки розгалуження мають вигляд F[1/P]=(1Q)(QR)=Q(QR),
F[0/P]=(0Q)(QR)=QR, а F=P(Q(QR)), (QR). Позначимо F1=
F[1/P], F0=F[0/P]. Виконуючи далі підстановки 1 замість атома Q у F1 й F0 та
0 замість атома Q у F1 та F0, маємо:
F1=QF1[1/Q], F1[0/Q]= Q(1(1R)),(0(0R))= Q0,R;
F0=QF0[1/Q], F0[0/Q]= Q(1R),(0R)= Q1,R.
Оскільки R=R1,0, то маємо: F= P(Q0, (R1,0)),(Q 1,(R1,0)).
Назвемо орграфом упорядковану пару множин виду (V,E), де V –
довільна непорожня множина, EV2. Множина 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, 1in-1. Якщо у
орграфі існує шлях виду v1,…vn, то будемо говорити, що вершина vn
досяжна з вершини v1. Орграф (V,E) називається ациклічним, якщо у
ньому не існує жодного шляху v1,…vn, такого що n2 й 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
Розглянемо формулу (х1y1)(x2y2). Зафіксуємо лінійний порядок
атомів: x1<y1<x2<y2. На рис.3 зображено ПУДДР даної формули. Діаграма
показує, що формула не є тавтологією й не є суперечністю. За допомогою цієї
діаграми можна побудувати моделі формули, наприклад, х1=y1=1, х2=y2=0.

Рис.1 Рис.2 Рис. 3


Доведення теореми 5 проведемо індукцією за кількістю n атомів у
формулі F(A1,…,An). Нехай n=0. Існує лише дві формули, що не містять
атомів: тотожно істинна формула (1) й тотожно хибна формула (0).
Оскільки будь-яка ПУДДР, що має хоча б одну некінцеву вершину,
визначає формулу, яка не є логічною константою, то для кожної з констант
існує лише одна ПУДДР: кінцева вершина з позначкою 1 для 1 та кінцева
вершина з позначкою 0 для 0.
Нехай теорема правильна для усіх формул, що містять n атомів.
Розглянемо формулу F(A1,…,An+1), що містить n+1 атомів. Надаючи
значення 0 або 1 першому атому (A1), одержимо формули F0 та F1, що
мають по n атомів: Fb(A2,…,An+1)=F(b,A2,…,An+1), b{0,1}. Для цих формул
виконується умова: F(A1,A2,…,An+1)=A1F1(A2,…,An+1),F0(A2,…,An+1).
Оскільки F0 (F1) має n атомів, за припущенням індукції існує єдина
ПУДДР, така що для кореневої вершини u0 (u1) Fu0=F0 (Fu1=F1). Розглянемо
два випадки. Якщо ПУДДР з коренями u0 та u1 збігаються, то F0=F1=F.

34
Отже, маємо ПУДДР для F, причому єдину. Якщо ПУДДР з коренями u 0 та
u1 не збігаються, то, згідно з припущенням індукції, Fu0Fu1. Побудуємо
УДДР з коренем u так, що var(u)=A1, low(u)=u0, high(u)=u1. Тоді
Fu=A1Fu1,Fu0, а побудована діаграма є, очевидно, приведеною. За
припущенням, Fu1=F1 й Fu0=F0, отже, Fu=F. Припустимо, що існує інша
ПУДДР, скажімо, з коренем v, така що Fv=F. Тоді Fv має залежати від A1,
тобто Fv0Fv1, тому що інакше маємо суперечність: 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
Задачі та вправи

І. Перевірити суперечність поданих формул: а) шляхом побудови днф,


б) методом Девіса й Патнема, в) методом резолюцій, д) шляхом побудови
ПУДДР.
1. (PQ)QP 2. (PQ)(PQ)(RQ)(RQ)
3. (PQ)Q(PQR) 4. (PQR)(PQ)PRT
5. PQRS(PQRS) 6. (PQ)(PQ)(QR)(QR)
7. (PQ)(RQ)RQ 8. (PQ)(PQ)(RQ)(RQ)
9. (ABCD)(DEG)(AG)
10. (PQ)(QR)(RS)(RP)(SQ)(QR)
11. (A(BC))(DEG)(G(HI))(CEH)
12. (AB)(CD)(BD)(CA)(EG)(GD)(EE)
13. (ABC)(DBE)((GA)HI)((HI)GD)(CE).
ІІ. Побудувати приклади суперечних множин диз’юнктів, для яких не існує
вхідних виведень порожнього диз’юнкту.
IIІ. Знайти усі моделі формули F шляхом побудови: а) днф, б) ПУДДР.
1. (С(А(ВС)))(ВС) 2. (A(BC))(CA)
3. (А(ВС)В) 4. (А(В(СА)))
5. С(((АВ)С)) 6. А(С(ВА))
7. (С(А(ВС)))А 8. (А(ВС))(АС)
9. (АВ)((СА)В) 10. (В(А(СА)))А.
IV. Нехай F – формула логіки висловлень. Як, використавши метод Девіса
й Патнема, дізнатися, чи є F тавтологією? Чи можна встановити
тавтологічниість формули F за допомогою методу резолюцій?

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 – у неволю потрапиш.
Використовуючи уведені символи та логічні зв’язки, побудуємо для
кожного речення заданого міркування формулу логіки висловлень. При
цьому враховуємо те, що логічна зв’язка  є аналогом частки «не», зв’язка 
– аналогом сполучника «та», зв’язка  – аналогом сполучника «або», зв’язка
 – аналогом звороту «якщо…, то…». Зрештою маємо такі формули:
AB, CD, GH, ACG, BDH.
Остання формула є перекладом твердження-висновку, а інші –
перекладами тверджень-посилок заданого міркування. Отже, початкова
задача (перевірки правильності заданого міркування) зводиться до перевірки
того, чи є формула BDH логічним наслідком формул AB, CD, GH,
ACG. Таким чином, замість початкової задачі (щодо тверджень) маємо
таку задачу щодо формул логіки висловлень:
Чи виконується AB, CD, GH, ACG ╞═ BDH? (2)
Здійснивши зведення початкової задачі перевірки правильності
міркування до задачі перевірки логічного слідування (2), можемо
застосовувати викладені вище формальні методи для розв’язання задачі (2).
Зазначимо, що метод Девіса й Патнема, метод резолюцій та метод ДДР

39
застосовні для розв’язання задач великого обсягу, застосовність решти методів,
що розглядаються, обмежене.

Перевірка правильності міркування за допомогою таблиць істинності

Щоб розв’язати задачу (2) (див. стор. 38) за допомогою таблиць


істинності, досить переконатися у тому, що при кожній інтерпретації, при
якій формули-посилки AB, CD, GH, ACG приймають значення 1
(«істина»), формула-висновок BDH також приймає значення 1. Для цього
достатньо знайти усі спільні моделі формул-посилок AB, CD, GH,
ACG та перевірити, чи кожна модель формул-посилок є моделлю
формули-висновку, тобто формули BDH. Зауважимо, що формули AB,
CD, GH, ACG приймають значення 1 при інтерпретації h тоді й
тільки тоді, коли формула F=(AB)(CD)(GH)(ACG) приймає
значення 1 при h. Зауважимо, що будь-яка інтерпретація, при якій принаймні
одна з формул AB, CD, GH, ACG приймає значення 0, не є
моделлю формули F. Таким чином, немає потреби переглядати усі
інтерпретації формули F (їх кількість становить 26, тобто 64), виключимо з
розгляду інтерпретації, для яких виконується хоча б одна з умов:
а) A=1, B=0;
б) C=1, D=0;
в) G=1, H=0;
г) A=C=G=0.
Отже, з урахуванням зауваження будемо шукати моделі формули
F0=(AB)(CD)(GH)(ACG),
а потім перевіримо, чи приймає формула BDH значення 1 при кожній
інтерпретації, при якій F0 приймає значення 1. При обчисленні істинносних

40
значень формул F0 та BDH користуємося таблицями істинності, тобто
визначеннями логічних операцій , ,  та , поданими у вигляді
таблиць. Результати обчислень заносимо у таблицю:

A B C D G H AB CD GH ACG F0 BDH


0 0 0 0 1 1 1 1 1 1 1 1
0 0 0 1 1 1 1 1 1 1 1 1
0 0 1 1 0 0 1 1 1 1 1 1
0 0 1 1 0 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1 1 1 1 1
0 1 0 0 1 1 1 1 1 1 1 1
0 1 0 1 1 1 1 1 1 1 1 1
0 1 1 1 0 0 1 1 1 1 1 1
0 1 1 1 0 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0 0 0 1 1 1 1 1 1
1 1 0 0 0 1 1 1 1 1 1 1
1 1 0 0 1 1 1 1 1 1 1 1
1 1 0 1 0 0 1 1 1 1 1 1
1 1 0 1 0 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1 1 1
1 1 1 1 0 0 1 1 1 1 1 1
1 1 1 1 0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1

41
Розглянувши усі інтерпретації, при яких формула F0 приймає значення 1,
можна побачити, що формула BDH також приймає значення 1 при
кожній з цих інтерпретацій. Отже, формула BDH є логічним наслідком
формул AB, CD, GH, ACG, а, значить, задане міркування є
логічно правильним.

Перевірка правильності міркування шляхом побудови диз’юнктивної


нормальної форми або кон’юнктивної нормальної форми

Розв’яжемо задачу (2) (див. стор. 38) шляхом побудови нормальної


форми (ДНФ або КНФ).
За відомим твердженням (теорема 1, п.2) формула BDH є
логічним наслідком формул AB, CD, GH, ACG, якщо формула
F = (AB)(CD)(GH)(ACG)(BDH) є суперечністю.
Для перевірки суперечності F необхідно звести дану формулу до
ДНФ, застосовуючи співвідношення 1-12 з розділу «Еквівалентні формули
логіки висловлень. Нормальні форми».
Спочатку використаємо кілька разів співвідношення F1 F2 = F1 
F2, щоб вилучити усі входження імплікації (). Маємо:
F = (AB)(CD)(GH)(ACG)(BDH).
Зменшуємо область дії зв’язки заперечення, де це потрібно,
використовуючи співвідношення (F1  F2) = F1  F2. Маємо:
F = (AB)(CD)(GH)(ACG)(BDH).
Застосуємо закони комутативності та асоціативності :
F = ((BDH)(AB))(CD)(GH)(ACG).
Далі застосуємо закон F1  (F2  F3) = (F1  F2)  (F1  F3), де F1=
(BDH), F2=A, F3= B:

42
F = ((BDHA)(BDHB))(CD)(GH)(ACG).
Виконаємо спрощення підформули BDHB, використавши закони
комутативності та асоціативності  й співвідношення F1F1=0, 0F1=0:
BDHB=(BB)(DH)=0(DH)=0.
Маємо:
F = ((BDHA)0)(CD)(GH)(ACG).
Виконаємо спрощення F за допомогою закону комутативності  та
співвідношення 0  F1 =F1:
F = (BDHA)(CD)(GH)(ACG).
Застосуємо закон F1  (F2  F3) = (F1  F2)  (F1  F3), де
F1=BDHA, F2=С, F3=D:
F = ((BDHAC)(BDHAD))(GH)(ACG).
Застосовуємо закони комутативності та асоціативності до підформули
BDHAD та спрощуємо її за допомогою співвідношень
F1F1=0, 0F1=0:
BDHAD=(DD)(BHA)=0(BHA)=0.
Маємо:
F = ((BDHAC)0)(GH)(ACG).
Виконаємо спрощення F за допомогою закону комутативності  та
співвідношення 0  F1 =F1:
F = (BDHAC)(GH)(ACG).
Застосуємо закон асоціативності :
F = ((BDHAC)(GH))(ACG).
Далі можна застосувати співвідношення F1  (F2  F3) = (F1  F2)  (F1 
F3), де F1=(BDHAC), F2=G, F3= H:
F=((BDHACG)(BDHACH))(ACG).

43
Після перетворення за законами комутативності та асоціативності й
спрощення підформули BDHACH за співвідношеннями
F1F1=0, 0F1=0 та подальшого спрощення формули F за тотожністю 0 
F1 =F1 маємо:
F = (BDHACG)(ACG).
Повторюючи послідовно застосовувати закони асоціативності,
дистрибутивності, комутативності та виконуючи спрощення, маємо:
F = (BDHACG)(ACG) =
(BDHACG)(A(CG)) =
(BDHACGA)((BDHACG)(CG)) =
((BDHGC(AA)))((BDHACG)(CG)) =
(BDHGC0)  ((BDHACG)(CG)) =
0((BDHACG)(CG)) =
(BDHACG)(CG) =
(BDHACGC)(BDHACGG) =
((CC)BDHAG)((GG)BDHAC) =
(0BDHAG)(0BDHAC) = 00 = 0.
Отже, маємо, що ДНФ формули F є 0, тобто F тотожно хибна
формула.
Суперечність формули F доведено. Отже, можна сказати, що
формула BDH є логічним наслідком формул AB, CD, GH, ACG.
Таким чином, задане міркування є логічно правильним.
Для розв’язання задачі (2) ми використали п.2 теореми 1 та днф, але
ту саму задачу можна розв’язати, застосувавши п.1 теореми 1. Як випливає
з п.1 теореми 1, формула BDH є логічним наслідком формул AB,
CD, GH, ACG, якщо формула
F = (AB)(CD)(GH)(ACG)(BDH)

44
є тавтологією. Для перевірки тавтологічності F необхідно звести дану
формулу до КНФ, застосовуючи співвідношення 1-12 з розділу
«Еквівалентні формули логіки висловлень. Нормальні форми». Наведемо
послідовність перетворень формули F:
F = (AB)(CD)(GH)(ACG)(BDH) =
(AB)(CD)(GH)(ACG)(BDH) =
((AB)(CD)(GH)(ACG))  (BDH) =
(AB)  (CD)  (GH)  (ACG)  (BDH) =
((A)B)((C)D)  ((G)H)  (ACG)  (BDH) =
(AB) (CD)  (GH)  (ACG)  (BDH) =
((BDH)  (AB))  (CD)  (GH)  (ACG) =
((BDHA)(BDHB))  (CD)  (GH)  (ACG) =
((BDHA)((BB)(DH)))  (CD)  (GH)  (ACG) =
((BDHA)(1(DH)))  (CD)  (GH)  (ACG) =
(1(BDHA))  (CD)  (GH)  (ACG) =
(BDHA)  (CD)  (GH)  (ACG) =
((BDHA)  (CD))  (GH)  (ACG) =
((BDHAC)(BDHAD))  (GH)  (ACG) =
((BDHAC)((DD)(HAB)))  (GH)  (ACG) =
((BDHAC)(1(HAB)))  (GH)  (ACG) =
(1(BDHAC))  (GH)  (ACG) =
(BDHAC)  (GH)  (ACG) =
((BDHAC)  (GH))  (ACG) =
((BDHACG)(BDHACH))  (ACG) =
((BDHACG)((HH)(BDAC)))  (ACG) =
((BDHACG)(1(BDAC)))  (ACG) =

45
(1(BDHACG))  (ACG) =
(BDHACG)  (ACG) =
(BDHACG)  (A(CG)) =
(BDHACGA)((BDHACG)(CG)) =
(BDHACGA)(BDHACGC)(BDHACGG) =
((AA)(BDHCG))((CC)(BDHAG))((GG)(BDHA
C)) = (1(BDHCG))(1(BDHAG))(1(BDHAC)) =
111 = 1.
Отже, маємо, що КНФ формули F є 1, тобто F тотожно істинна формула.
Тавтологічність формули F доведено. Отже, можна сказати, що
формула BDH є логічним наслідком формул AB, CD, GH, ACG.
Таким чином, задане міркування є логічно правильним.

Перевірка правильності міркування методом Девіса й Патнема

За допомогою методу Девіса й Патнема перевіряється суперечність


формули, поданої у вигляді множини диз’юнктів. Розглянемо задачу (2)
(стор. 38). За відомим твердженням (п.2 теореми 1) формула BDH є
логічним наслідком формул AB, CD, GH, ACG, якщо формула
F = (AB)(CD)(GH)(ACG)(BDH)
є суперечністю.
Щоб застосувати метод Девіса й Патнема для розв’язання цієї задачі,
необхідно спочатку привести подану формулу до КНФ, а потім побудувати
множину диз’юнктів за цією КНФ.
Перетворимо формулу
(AB)(CD)(GH)(ACG)(BDH)
у КНФ частинами:

46
1) (AB) = AB;
2) (CD) = CD;
3) (GH) = GH;
4) (BDH) = ВDH.
Отже, маємо множину диз’юнктів: S={AB, CD, GH,
ACG, В, D, H}, до якої вже можна застосувати метод Девіса й
Патнема. Далі ми будемо розглядати диз’юнкти як множини літер.
Перше правило (правило тавтології) не застосовне (множина S не
містить тавтологічних диз’юнктів), тому використовуємо друге правило.
Спочатку виберемо у множині S одиничний диз’юнкт (нехай це буде
диз’юнкт {H}), потім викреслюємо з множини S усі диз’юнкти, що містять
літеру H. У даному випадку такий диз’юнкт тільки один. Маємо множину
S1={AB, CD, GH, ACG, В, D}. Множина S1 не порожня,
отже, тепер треба вилучити з диз’юнктів, що входять в S1, усі входження
літери H. Таке входження тільки одне. Після вилучення маємо множину
S2={AB, CD, G, ACG, В, D}. Множина S2 не містить
порожнього диз’юнкту, отже, застосовуємо до неї метод Девіса й Патнема,
оскільки S суперечна тоді й тільки тоді, коли суперечна S2. Правило
тавтології не застосовне до S2. За правилом 2 (з диз’юнктом {B}),
вилучивши з S2 диз’юнкт {B}, побудуємо множину S3={AB, CD, G,
ACG, D}, яка не є порожньою. Маємо вилучити з диз’юнктів множини
S3 усі входження літери, контрарної до літери B, тобто літери В. Маємо
множину S4={A, CD, G, ACG, D}. Ця множина не містить
порожнього диз’юнкту, отже, до неї застосовуємо метод Девіса й Патнема.
Шукаємо перше правило, що застосовне до S4. Це правило однолітерних
диз’юнктів. За цим правилом (з диз’юнктом {A}) маємо множину
S5={CD, G, ACG, D}. Множина S5 не порожня, тому вилучаємо з

47
диз’юнктів цієї множини усі входження літери A. Маємо множину
S6={CD, G, CG, D}. Оскільки S6 не містить порожнього диз’юнкту,
застосовуємо до неї метод Девіса й Патнема. За правилом 2 (з диз’юнктом
{D}) маємо множину S7={CD, G, CG}. Оскільки S7 не порожня,
вилучаємо з диз’юнктів цієї множини усі входження літери D. Маємо
множину S8={C, G, CG}. Оскільки S8 не містить порожнього диз’юнкту,
перевіряємо її суперечність. За правилом 2 (з диз’юнктом {С}) маємо
множину S9={G, CG}. Оскільки ця множина не порожня, вилучаємо
входження літери С з диз’юнктів цієї множини. Маємо множину S10={G,
G}. Оскільки S10 не містить порожнього диз’юнкту, перевіряємо її
суперечність. За правилом 2 (з диз’юнктом {G}) маємо множину S11={G}.
Оскільки ця множина не порожня, вилучаємо входження літери G з єдиного
диз’юнкту {G}, що міститься у S11. Маємо множину S12={}, яка є
суперечною, бо містить порожній диз’юнкт. Отже, й початкова множина
диз’юнктів S суперечна.
Таким чином, формула
(AB)(CD)(GH)(ACG)(BDH)
є суперечною, тому формула BDH є логічним наслідком формул AB,
CD, GH, ACG. Отже, задане міркування є логічно правильним.

Перевірка правильності міркування методом резолюцій

Метод резолюцій дає змогу перевірити суперечність формули,


поданої у вигляді множини диз’юнктів.
Розглянемо задачу (2) (див. стор. 38). Як вже зазначалося, ця задача
зводиться до задачі перевірки суперечності формули
F = (AB)(CD)(GH)(ACG)(BDH).

48
Оскільки ми побудували кнф формули F, а також відповідну
множину диз’юнктів S, коли застосовували метод Девіса й Патнема для
перевірки суперечності формули F, можемо розпочати пошук виводу
порожнього диз’юнкту з множини диз’юнктів S={AB, CD, GH,
ACG, В, D, H}.
Далі для зручності будемо писати диз’юнкти у стовпчик, нумеруючи
їх.
Отже, спочатку маємо множину диз’юнктів:
1. AB,
2. CD,
3. GH,
4. ACG,
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. CG (резольвента диз’юнктів 4 та 8).
Застосувавши правило резолюції до диз’юнктів 9 та 11 маємо:

49
12. G (резольвента диз’юнктів 9 та 11).
Далі, якщо побудувати резольвенту диз’юнктів 10 та 12, отримаємо
порожній диз’юнкт .
13.  (резольвента диз’юнктів 10 та 12).
Оскільки існує виведення порожнього диз’юнкту з S за допомогою
правила резолюції, то множина диз’юнктів S є суперечною, а, значить,
формула F є тотожно хибною, але тоді формула BDH є логічним
наслідком формул AB, CD, GH, ACG. Таким чином, задане
міркування є логічно правильним.

Перевірка правильності міркування шляхом побудови двійкової


діаграми рішень

Розглянемо задачу (2) про логічне слідування (див. стор. 38). Формула
BDH є логічним наслідком формул AB, CD, GH, ACG, якщо
формула F = (AB)(CD)(GH)(ACG)(BDH) є суперечніс-
тю. Формула F є суперечністю тоді й тільки тоді, коли упорядкована
приведена ДДР, побудована за цією формулою, буде мати вигляд:

Отже, побудуємо упорядковану приведену ДДР формули F й за її


виглядом визначимо, чи є F суперечністю.
Спочатку виберемо лінійний порядок на множині атомів, що входять
у F. Нехай він буде таким: A<B<C<D<G<H. Розгалужуємо формулу F по A:
F=A F1, F0, де F1=F[1/A], F0=F[0/A], тобто
F1=(1B)(CD)(GH)(1CG)(BDH) = (1B)  (CD)
 (GH) 1  (BDH) = (1B)  (CD)  (GH)(BDH);

50
F0=(0B)(CD)(GH)(0CG)(BDH) =
1(CD)(GH)(CG)(BDH)=(CD)(GH)(CG)(BDH).
Далі розгалужуємо формулу F1 по B:
F1=B F11, F10, де F11=F1[1/B], F10=F1[0/B], тобто
F11=(11)  (CD)  (GH)(1DH) = 1  (CD)  (GH)1 =
(CD)  (GH)0=0;
F10=(10)(CD)(GH)(0DH) = 0(CD)(GH)(0DH) = 0.
Розгалужуємо формулу F0 по B:
F0=B F01, F00, де F01=F0[1/B], F00=F0[0/B], тобто
F01 = (CD)(GH)(CG)(1DH) =
(CD)(GH)(CG)1 = (CD)(GH)(CG)0 = 0;
F00 = (CD)(GH)(CG)(0DH) =
(CD)(GH)(CG)(DH).
Розгалужуємо формулу F00 по C:
F00=C F001, F000, де F001=F00[1/C], F000=F00[0/C], тобто
F001 = (1D)(GH)(1G)(DH) = (1D)(GH)1(DH)
= (1D)(GH)(DH);
F000 = (0D)(GH)(0G)(DH) = 1  (GH)  G (DH) =
(GH)  G (DH).
Розгалужуємо формулу F001 по D:
F001 = D F0011, F0010, де F0011=F001[1/D], F0010=F001[0/D], тобто
F0011 = (11)(GH)(1H) = 1(GH)1 = (GH)0 = 0.
F0010 = (10)(GH)(0H) = 0(GH)(0H) = 0.
Розгалужуємо формулу F000 по D:
F000 = D F0001, F0000, де F0001=F000[1/D], F0000=F000[0/D], тобто
F0001 = (GH)  G (1H) = (GH)  G 1 = (GH)  G 0 = 0.

51
F0000 = (GH)  G (0H) = (GH)  G H.
Розгалужуємо формулу F0000 по G:
F0000 = G F00001, F00000, де F00001=F0000[1/G], F00000=F0000[0/G], тобто
F00001 = (1H)  1 H = (1H)  H.
F00000 = (0H)  0 H = 0.
Розгалужуємо формулу F00001 по H:
F00001 = H F000011, F000010, де F000011=F00001[1/H], F000010=F00001[0/H],
тобто
F000011 = (11)1 = 10 = 0, F000010 = (10) 0 = 01 = 0.
Побудуємо ДДР (рис.4):

Рис. 4
Дана ДДР не є приведеною, оскільки містить вершини виду

52
Вилучимо їх (тобто вершини F1, F001, F00001). Маємо (рис.5):

Рис.5
Діаграма не приведена (надлишковою є вершина F0000). Послідовно
вилучаючи зайві вершини (F0000, F000, F00, F0, F), отримаємо:

Отже, формула F є суперечною, а це означає, що формула BDH є


логічним наслідком формул AB, CD, GH, ACG. Таким чином,
задане міркування є логічно правильним.

Контрольні питання

1. Як перевірити правильність міркування за допомогою таблиць істинності?


2. Як перевірити правильність міркування методом: а) Девіса й Патнема,
б) резолюцій?
3. Які нормальні форми формул логіки висловлень й яким чином можна
використати, щоб перевірити правильність міркування?

53
ПРИКЛАДИ ПЕРЕВІРКИ СУМІСНОСТІ СУКУПНОСТІ
ТВЕРДЖЕНЬ

Розглянемо таку сукупність тверджень.


«Петро складе на “добре” екзамен з фізики тоді і тільки тоді, коли він не
пропустить останню лекцію. Петро пропустить останню лекцію або не
поїде на екскурсію до Рима. Якщо Петро не складе на “добре” екзамен з
фізики, він не поїде на екскурсію до Рима. Петро складе на “добре”
екзамен з фізики або поїде на екскурсію до Рима.»
Перевіримо сумісність цих тверджень, тобто перевіримо, чи можуть
ці твердження бути одночасно істинними. Використаємо для цього
формальні методи, описані вище.
Для перекладу речень мовою логіки висловлень спочатку
проаналізуємо кожне твердження й виділимо у ньому прості висловлення.
Кожне нове просте висловлення, яке зустрінемо при розборі тверджень,
позначимо атомом. Маємо:
А – Петро складе на добре екзамен з фізики;
В – Петро пропустить останню лекцію;
С – Петро поїде на екскурсію до Риму.
Отже, подаємо дані твердження у вигляді формул:
A  B, B  C, (A  C), A  C.
Сукупність тверджень буде сумісною, якщо ці формули мають
спільну модель, або формула F=(AB)  (BC)  (AC)  (AC)
має хоча б одну модель, тобто не є тотожно хибною. Отже, застосувавши
описані вище методи для перевірки суперечності формули F, дістанемо
відповідь.

54
Перевірка сумісності сукупності тверджень за допомогою таблиць
істинності

Перевіримо суперечність формули F за допомогою таблиць


істинності. Будуватимемо інтерпретації формули F й обчислюватимемо
істинносне значення формули F при кожній інтерпретації. Якщо
знайдеться інтерпретація, при якій F приймає значення 1, то F
несуперечна, а тоді можна зробити висновок, що подана сукупність
тверджень сумісна. Інтерпретації й результати обчислень подамо у вигляді
таблиці. Обчислення будемо спрощувати, користуючись такою
властивістю операції : якщо принаймні один операнд виразу XY має
значення 0, то й вираз XY має значення 0. Отже, якщо формула F має
вигляд F1…Fn (nN+), й при деякій інтерпретації h Fi (1i<n) приймає
значення 0, то можна стверджувати, що F приймає значення 0 при h, не
обчислюючи істинносні значення Fi+1,…,Fn при h.

A B C AB BC AC AC F


0 0 0 0 0
0 0 1 0 0
0 1 0 1 1 1 0 0
0 1 1 1 1 0 0
1 0 0 1 1 1 1 1

Таким чином, знайдено інтерпретацію h (h(A)=1, h(B)=h(С)=0), при


якій формула F приймає значення 1, отже, F несуперечна, а подана
сукупність тверджень сумісна. Зауважимо, що ми не обчислювали
значення формули F при кожній з восьми інтерпретацій, що має дана

55
формула, адже нам потрібно лише знати, чи має формула F модель. Отже,
як тільки модель формули F знайдено, обчислення доцільно припинити.

Перевірка сумісності сукупності тверджень шляхом побудови


диз’юнктивної нормальної форми

Розглянемо далі, як перевірити несуперечність F шляхом побудови


ДНФ. Побудову ДНФ будемо здійснювати, використовуючи наведені
вище співвідношення.
Маємо:
F = (A  B)  (B  C)  (A  C)  (A  C).
Вилучимо входження зв’язки  (за допомогою тотожності F1F2=
(F1F2)(F2F1)):
F = (A  B)  (B  A)  (B  C)  (A  C)  (A  C).
Вилучимо усі входження зв’язки  (за допомогою тотожності
F1F2=F1F2):
F = ( A  B)  ((B)  A)  (B  C)  ((A)  C)  (A  C).
Виконаємо спрощення (за допомогою тотожності (F1) = F1):
F = ( A  B)  (B  A)  (B  C)  (A  C)  (A  C).
Застосуємо закони комутативності та асоціативності:
F = ( A  B)  ((B  A)  (B  C))  ((A  C)  (A  C)).
До підформули ((B  A)  (B  C)) застосуємо закон дистрибутивності:
F = ( A  B)  (B  (A  C))  ((A  C)  (A  C)).
До підформули ((A  C)  (A  C)) застосуємо закон дистрибутивності:
F = ( A  B)  (B  (A  C))  (A  (C  C)).
Виконаємо спрощення (за допомогою тотожності F1F1=0):

56
F = ( A  B)  (B  (A  C))  (A  0).
Виконаємо спрощення (за допомогою закону комутативності  та
тотожності 0F1= 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)). За тотожностями
F1F1=0, 0F1= 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)). За тотожностями F1F1=0,
0F1=0 та законом комутативності  маємо:
(A  (B  B)) = А  0 = 0.
Отже, F = (А  A)  (B  C). За законом ідемпотентності F1  F1 = F1 маємо:
F = A  B  C.
Отже, побудовано ДНФ формули (AB)  (BC)  (AC)  (AC).

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
Перевірка сумісності сукупності тверджень методом Девіса й Патнема

Перевіримо суперечність формули (A  B)  (B  C)  (A 


C)  (A  C) методом Девіса й Патнема. Для цього спочатку приведемо
цю формулу до КНФ. Маємо:
F = (A  B)  (B  C)  (A  C)  (A  C).
Вилучимо входження зв’язки  (за допомогою тотожності F1F2=
(F1F2)(F2F1)):
F = (A  B)  (B  A)  (B  C)  (A  C)  (A  C).
Вилучимо усі входження зв’язки  (за допомогою тотожності F1F2=F1F2):
F = ( A  B)  ((B)  A)  (B  C)  ((A)  C)  (A  C).
Виконаємо спрощення (за допомогою тотожності (F1) = F1):
F = ( A  B)  (B  A)  (B  C)  (A  C)  (A  C).
Отже, формула F подана у КНФ. Запишемо F у вигляді множини диз’юнктів:
S = {A  B, B  A, B  C, A  C, A  C }.
У множині S немає тавтологічних диз’юнктів (отже, не застосовне правило
тавтології), немає одиничних диз’юнктів (не застосовне правило
однолітерних диз’юнктів), немає чистих літер (не застосовне правило
чистих літер). Єдиним застосовним до S правилом є правило розщеплення.
Застосуємо це правило (вибравши за L літеру А). Маємо:
S1={B, С, C, B  C}, S2={B, B  C}.
Перевіримо суперечність множини S1. Правило тавтології до S1 не застосовне.
Але застосовне правило однолітерних диз’юнктів (S1 містить одиничний
диз’юнкт {В}). В результаті маємо множину S3={C, С}, до якої застосовне
правило однолітерних диз’юнктів (з диз’юнктом {C}). Маємо: S4={}.
Таким чином, множина диз’юнктів S4 суперечна, отже, й S1 суперечна.

59
Тепер перевіримо суперечність множини S2. Правило тавтології до S2
не застосовне. Але застосовне правило однолітерних диз’юнктів (S2
містить одиничний диз’юнкт {В}). В результаті маємо множину
S5={C}, до якої застосовне правило однолітерних диз’юнктів (з
диз’юнктом {C}). Маємо: S6=. Це означає, що множина S6 несуперечна,
отже, й S2 несуперечна. Але тоді й S несуперечна. А це означає, що
формула F не є тотожно хибною, тобто має модель. Але тоді подана
сукупність тверджень сумісна.

Перевірка сумісності сукупності тверджень методом резолюцій

Перевіримо суперечність формули


F=(AB)(BC)(AC)(AC)
методом резолюцій. Використаємо подання F у вигляді множини диз’юнктів S:
S = {A  B, B  A, B  C, A  C, A  C }.
Далі для зручності будемо писати диз’юнкти у стовпчик, нумеруючи їх.
1. A  B
2. B  A
3. B  C
4. A  C
5. A  C.
Побудуємо усі резольвенти диз’юнктів 1-5:
6. В  В (резольвента 1 та 2)
7. A  А (резольвента 1 та 2)
8. A  С (резольвента 1 та 3)
9. В  С (резольвента 1 та 4)
10. B С (резольвента 1 та 5)

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
Перевірка сумісності сукупності тверджень шляхом побудови
двійкової діаграми рішень

Перевіримо суперечність формули


F=(AB)(BC)(AC)(AC)
шляхом побудови приведеної упорядкованої двійкової діаграми рішень.
Виберемо лінійний порядок на множині атомів, що входять у F.
Нехай він буде таким: A<B<C. Розгалужуємо формулу F по А:
F=AF1,F0, де F1=F[1/A], F0=F[0/A], тобто:
F1=(1B)(BC)(1С)(1С),
F0=(0B)(BC)(0С)(0С).
Далі розгалужуємо формули F1 та F0 по В.
F1=BF11, F10, де F11=F1[1/B], F10=F1[0/B], тобто:
F11=(11)(1C)(1С)(1С)=0(1C)(1С)(1С)=0,
F10=(10)(0C)(1С)(1С)=1(0C)(1С)(1С)=
(0C)(1С)(1С).
F0=BF01, F00, де F01=F0[1/B], F00=F0[0/B], тобто:
F01=(01)(1C)(0С)(0С)=1(1C)(0С)(0С)=
(1C)(0С)(0С),
F00=(00)(0C)(0С)(0С)=0(0C)(0С)(0С)=0.
Розгалужуємо формули F10 та F01 по С.
F10=СF101, F100, де F101=F10[1/С], F100=F10[0/С], тобто:
F101=(01)(11)(11)=(00)(00)(11)=0(00)(11)=0,
F100=(00)(10)(10)=(01)(01)(10)=111=1.
F01=С F011, F010, де F011=F01[1/С], F010=F01[0/С], тобто:

62
F011=(11)(01)(01)=1(10)1=101=0,
F010=(10)(00)(00)=1(11)0=110=0.
Усі розгалуження виконано; побудуємо упорядковану ДДР формули F
(див. рис.6). Дана ДДР не є приведеною (бо містить надлишкову вершину
F01). Вилучимо її (див. рис. 7). Тепер діаграма містить надлишкову
вершину F0. Після приведення маємо ПУДДР (див. рис. 8).

Рис. 6 Рис. 7 Рис. 8

Бачимо, що у приведеній ДДР є кінцева вершина, що має позначку


«1», отже, формула F має моделі, тобто не є суперечною. Таким чином,
можна зробити висновок, що подана сукупність тверджень є сумісною.

Контрольні питання

1. Як перевірити сумісність сукупності тверджень за допомогою таблиць істинності?


2. Як перевірити сумісність сукупності тверджень методом Девіса й Патнема?
3. Як перевірити сумісність сукупності тверджень методом резолюцій?
4. Як використати нормальні форми логіки висловлень для перевірки
сумісності сукупності тверджень?

63
СПИСОК ВИКОРИСТАНОЇ ТА РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ

1. Мендельсон Э. Введение в математическую логику.


– М.: Наука, 1984. – 320 с.

2. Столл Р. Множества. Логика. Аксиоматические теории.


– М.: Просвещение, 1968. – 231 с.

3. Чень Ч., Ли Р.
Математическая логика и автоматическое доказательство теорем.
– М.: Наука, 1983. – 360 с.

4. Bryant R.E. Graph-based algorithms for Boolean function manipulation


// IEEE Transactions on Computers, 8 (C-35), 1986. – P. 677-691.

64
СКОРОЧЕННЯ, СИМВОЛИ ТА ПОЗНАЧЕННЯ

ДДР – двійкова діаграма рішень


ДНФ (днф) – диз’юнктивна нормальна форма
КНФ (кнф) – кон’юнктивна нормальна форма
нфр – нормальна форма розгалуження
ПУДДР – приведена упорядкована двійкова діаграма рішень
УДДР – упорядкована двійкова діаграма рішень
 – заперечення
 – імплікація
 – диз’юнкція
 – кон’юнкція
 – еквівалентність
F1,F2,…,Fn╞═ F – формула F є логічним наслідком формул F1,F2,…,Fn
F1 = F2 – формули F1 та F2 приймають однакові істинносні значення при
кожній інтерпретації
 – порожній диз’юнкт
FF1,F0 – розгалуження із перевірним виразом F та гілками F1 та F0

65
ПРЕДМЕТНИЙ ПОКАЖЧИК

Атом 3 Логічний наслідок 17


Вивід порожнього диз’юнкту 25 Множина диз’юнктів 14
Гілка розгалуження 29 Мова логіки висловлень 4
Двійкова діаграма рішень 31 Модель формули 9
– упорядкована 31 Наддиз’юнкт 26
– приведена 32 Нормальна форма формули
Диз’юнкт 13 – диз’юнктивна 14
– одиничний 13 – кон’юнктивна 13
– порожній 13 – розгалуження 29
– тавтологічний 14 Оператор розгалуження 29
– r-літерний 13 Перевірний вираз 29
Диз’юнкція 3 Піддиз’юнкт 26
Еквівалентність 4 Правило
Заперечення 3 – однолітерних диз’юнктів 22
Імплікація 3 – резолюції 24
Інтерпретація формули 9 – розщеплення 23
Контрарна пара 13 – тавтології 22
Контрарні літери 13 – чистих літер 23
Кон’юнкт 14 Резольвента 24
Кон’юнкція 3 Рівносильність 3
Літера 13 Розгалуження 29
– негативна 13 Стратегія
– позитивна 13 – викреслювання 26
– чиста у множині диз’юнктів 23 – вхідної резолюції 27
Логічна зв’язка 3 – одиничної резолюції 28
Логічне слідування 17 Суперечність 10

66
Тавтологія 10 Формули
Формула 4 – еквівалентні 12
– атомарна 3 – рівносильні 12
– істинна при даній інтерпретації 9
– тотожно істинна 10
– тотожно хибна 10
– хибна при даній інтерпретації 9

67
СЛОВА ІНШОМОВНОГО ПОХОДЖЕННЯ

Скорочення: англ. – англійська мова, гр. – давньогрецька мова, лат. –


латинська мова

АСОЦІАТИВНІСТЬ – від лат. associare приєднувати – сполучність


АТОМ – від гр. atomos неподільний
ДИЗ’ЮНКЦІЯ – від лат. disjungere розділяти
ДИСТРИБУТИВНІСТЬ – від англ. distribution розподіл – розподільність
ДІАГРАМА – від гр. diagramma – рисунок, креслення
ЕКВІВАЛЕНТНІСТЬ – від лат. aequus рівний + valentis той, що має силу,
значення, ціну
ІДЕМПОТЕНТНІСТЬ – від лат. idem той самий + potentia сила
ІМПЛІКАЦІЯ – від лат. implicatio сплетення
ІНТЕРПРЕТАЦІЯ – від лат. interpretatio посередництво
КОМУТАТИВНІСТЬ – від лат. commutare міняти, переміняти –
переміщуваність
КОНТРАРНИЙ – від англ. contrary протилежний
КОН’ЮНКЦІЯ – від лат. conjungere зв’язувати, з’єднувати
ЛІТЕРА – від лат. litera буква
ЛОГІКА – від гр. logikë – наука про закони та форми мислення
МОДЕЛЬ – від лат. modulus міра, зразок
РЕЗОЛЮЦІЯ, РЕЗОЛЬВЕНТА – від лат. resolutio рішення
СТРАТЕГІЯ – від гр. stratos військо + agö веду – загальний план виконання дій
ТАВТОЛОГІЯ – від гр. tauto те саме + logos слово
ФОРМУЛА – від лат. formula форма, правило

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

You might also like