
- •Мова логіки висловлень
- •Методи перевірки тотожної хибнОсті й тОтожної істинНості формул логіки висловлень
- •Еквівалентні формули логіки висловлень
- •Метод перевірки суперечності й тавтологічності формул шляхом зведення до диз’юнктивної та кон’юнктивної нормальної форми
- •Метод Девіса й Патнема
- •Метод резолюцій
- •Метод двійкових діаграм рішень
- •Перевірка правильності міркування за допомогою таблиць істинності
- •Перевірка правильності міркування шляхом побудови днф або кнф
- •Перевірка правильності міркування методом Девіса й Патнема
- •Перевірка правильності міркування методом резолюцій
- •Перевірка правильності міркування шляхом побудови двійкових діаграм рішень
- •Приклади перевірки сумісності сукупності тверджень
Приклади перевірки сумісності сукупності тверджень
Розглянемо таку сукупність тверджень.
Якщо єдиноріг – міфічна тварина, то він безсмертний, а якщо не міфічна, то він – смертний ссавець. Якщо єдиноріг або безсмертний, або є ссавцем, то він озброєний рогом. Єдиноріг є міфічною твариною, якщо він озброєний рогом.
Перевіримо сумісність цих тверджень, тобто перевіримо, чи можуть ці твердження бути одночасно істинними. Використаємо для цього формальні методи, описані вище.
Для перекладу речень на мову логіки висловлень уведемо наступні літери:
А – єдиноріг є міфічною твариною;
В – єдиноріг – безсмертний;
С – єдиноріг є смертним ссавцем;
D – єдиноріг озброєний рогом.
Отже, подаємо дані твердження у вигляді формул:
A B, A C, (B C) D, D A.
Сукупність тверджень буде сумісною, якщо ці формули мають спільну модель, або формула F= (A B) (A C) ((B C) D) ( D A) має хоча б одну модель, тобто є несуперечливою. Отже, застосувавши описані вище методи для перевірки суперечності формули F, дістанемо відповідь.
Перевіримо суперечність формули F за допомогою таблиць істинності. Будуватимемо інтерпретації формули F й обчислюватимемо істинносне значення формули F при кожній інтерпретації. Якщо знайдеться інтерпретація, при якій F приймає значення 1, то F несуперечна, а тоді можна зробити висновок, що подана сукупність тверджень сумісна. Інтерпретації й результати обчислень подамо у вигляді таблиці.
A |
B |
C |
D |
AB |
AC |
(BC)D |
DA |
F |
0 0 0 0 0 0 0 0 1 1 1 1 1 1 |
0 0 0 0 1 1 1 1 0 0 0 0 1 1 |
0 0 1 1 0 0 1 1 0 0 1 1 0 0 |
0 1 0 1 0 1 0 1 0 1 0 1 0 1 |
1 1 1 1 1 1 1 1 0 0 0 0 1 1 |
0 0 1 1 0 0 1 1 1 1 1 1 1 1 |
1 1 0 1 0 1 0 1 1 1 0 1 0 1 |
1 0 1 0 1 0 1 0 1 1 1 1 1 1 |
0 0 0 0 0 0 0 0 0 0 0 0 0 1 |
Таким чином, знайдено інтерпретацію І (І(A)=I(B)=I(D)=1, I(C)=0), при якій формула F приймає значення 1, отже, F несуперечна, а подана сукупність тверджень сумісна.
Розглянемо далі, як перевірити несуперечність F шляхом побудови ДНФ. Побудову ДНФ будемо здійснювати, використовуючи наведені вище співвідношення.
Маємо:
F = (A B) (A C) ((B C) D) ( D A).
Вилучимо входження зв’язки (за допомогою тотожності F1F2=F1F2):
F = (A B) (A C) ( (B C) D) (D A).
Зменшимо область дії заперечення (за допомогою тотожності Ø(F1F2)= ØF1ØF2):
F = (A B) (A C) ((B C) D) (D A).
Застосуємо закони комутативності та асоціативності:
F = (A B) ((B C) D) ((A C) (A D)).
До підформули ((A C) (A D)) застосуємо закон дистрибутивності:
F = (A B) ((B C) D) (A (C D)).
Застосуємо закон дистрибутивності (F1 (F2 F3) = (F1 F2) (F1 F3)) до ((B C) D) (A (C D)) (тут F1=(B C) D, F2 = А, F3= C D):
F = (A B) ((B C) D) A) ((B C) D) (C D).
Розглянемо підформулу ((B C) D) A). За законом дистрибутивності
((B C) D) A) = (B C A) (D A).
Розглянемо підформулу ((BC)D)(CD). За законом дистрибутивності
((B C) D) (C D) = (B C C D) (D C D).
Застосуємо послідовно тотожності F1F1=0 та F10=0. Маємо:
B C C D = B (C C) D = B 0 D = 0,
D C D = C (D D) =С 0 = 0.
Отже,
F = (A B) ((B C A) (D A)) (0 0)).
Застосуємо двічі тотожність F10= F1. Маємо:
F = (A B) ((B C A) (D A)).
За законом дистрибутивності (F1 (F2 F3)=(F1 F2) (F1 F3)), де F1=AB, F2=B C A, F3= D A, маємо:
F = ((A B) (B C A)) ((A B) (D A)).
Знову застосуємо закон дистрибутивності (до підформули ((A B) (B C A)) та до підформули ((A B) (D A))). Маємо:
F = (A (B C A)) (B (B C A)) (A (D A)) (B (D A)).
Виконаємо спрощення АА=0, ВВ=0, а потім застосуємо F10=0:
F = 0 0 0 (B (D A)).
Застосувавши тотожність F10=F1, маємо:
F = B D A.
Отже, побудовано ДНФ формули (A B)(A C)((B C) D)( D A).
Зауважимо, що побудова ДНФ формули F може бути здійснена не єдиним чином. Розглянемо інший спосіб приведення F до диз’юнктивної нормальної форми.
Отже, маємо: F = (A B) (A C) ((B C) D) ( D A).
Вилучаємо входження імплікацій:
F = (A B) (A C) ( (B C) D) (D A).
Вносимо заперечення у дужки:
F = (A B) (A C) ((B C) D) (D A).
До підформули ((B C) D) застосуємо закон дистрибутивності:
F = (A B) (A C) (B D) (C D) (D A).
За законами комутативності та асоціативності маємо:
F = (A B) (B D) (C D) ((A C) (D A)).
Застосуємо закон дистрибутивності, де F1 = (A C), F2 = D, F3=А:
F = (A B) (B D) (C D) (((A C) D) ((A C) A)).
За правилом поглинання (A C) A = А, а також за законом дистрибутивності (A C) D = (A D) (C D) тому
F = (A B) (B D) (C D) ((A D) (C D) A).
Застосувавши правило поглинання (A D) A = А, отримаємо
F = (A B) (B D) (C D) ((C D) A).
Застосуємо закон дистрибутивності до підформули (C D) ((C D) A):
F = (A B) (B D) (((C D) (C D)) ((C D) A)).
Перетворимо формулу (C D) за законом F1F2=(F1F2):
F = (A B) (B D) (((C D) (C D)) ((C D) A)).
Згідно правила F F = 0 маємо: (C D) (C D)=0. Застосуємо тотожність F1 0 = F1. Маємо:
F = (A B) (B D) (C D) A.
За законами комутативності та асоціативності маємо:
F = ((A B) A) (B D) (C D).
До ((A B) A) застосуємо закон дистрибутивності:
F = ((A A) (A B)) (B D) (C D).
Виконаємо спрощення (A A) = 0, 0 (A B) = (A B). Тому
F = A B (B D) (C D).
До підформули B (B D) застосуємо закон дистрибутивності:
F = A ((B B) (B D)) (C D).
Оскільки (В В) = 0, а 0 (B D) = (B D), то:
F = A B D (C D).
За правилом поглинання D (C D) = D, тому
F = A B D.
Остання формула є ДНФ, яка складається з одного кон’юнкта. Можна побачити, що існують дві моделі даної формули:
A=1, B=1, D=1, C=0;
A=1, B=1, D=1, C=1.
Таким чином, формула F має моделі. Отже, можна зробити висновок, що подана сукупність тверджень сумісна.
Перевіримо суперечність формули (AB)(AC)((BC)D)(DA) методом Девіса й Патнема. Для цього спочатку приведемо цю формулу до КНФ. Маємо:
F = (A B) (A C) ((B C) D) (D A).
Вилучимо входження зв’язки (за допомогою тотожності F1F2=F1F2):
F = (A B) (A C) ( (B C) D) (D A).
Зменшимо область дії заперечення (за допомогою тотожності Ø(F1F2)= ØF1ØF2):
F = (A B) (A C) ((B C) D) (D A).
До підформули ((B C) D) застосуємо закон дистрибутивності:
F = (A B) (A C) (B D) (C D) (D A).
Отже, формула F подана у КНФ. Запишемо F у вигляді множини диз’юнктів:
S = {A B, A C, B D, C D, D A}.
У множині S немає тавтологічних диз’юнктів (отже, не застосовне правило тавтології), немає однолітерних диз’юнктів (не застосовне правило однолітерного диз’юнкту), немає чистих літер (не застосовне правило чистих літер). Єдиним застосовним до S правилом є правило розщеплення. Застосуємо це правило (вибравши за L літеру А). Маємо:
S1={B, BD, CD}, S2={D, C, BD, CD}.
Перевіримо суперечність множини S1. Правило тавтології до S1 не застосовне. Але застосовне правило однолітерного диз’юнкту (S1 містить однолітерний диз’юнкт В). В результаті маємо множину S3={D, CD}, до якої застосовне правило однолітерного диз’юнкту. Маємо: S4=. Таким чином, множина диз’юнктів S4 несуперечна, отже, й S несуперечна. А це означає, що формула F має модель. Але тоді подана сукупність тверджень сумісна.
Перевіримо суперечність формули F=(AB)(AC)((BC)D)(DA) методом резолюцій. Використаємо подання F у вигляді множини диз’юнктів S:
S = {A B, A C, B D, C D, D A}.
Далі для зручності будемо писати диз’юнкти у стовпчик, нумеруючи їх.
1. A B,
2. A C,
3. B D,
4. C D,
5. D A.
Побудуємо усі резольвенти диз’юнктів 1-5:
6. ВС (резольвента 1 та 2),
7. AD (резольвента 1 та 3),
8. BD (резольвента 1 та 5),
9. AD (резольвента 2 та 4),
10. BA (резольвента 3 та 5),
11. CA (резольвента 4 та 5).
Тепер побудуємо усі резольвенти диз’юнктів 1-11 (не застосовуючи, звичайно, правило резолюції до тих пар диз’юнктів, що складаються з диз’юнктів 1-5).
12. BD (резольвента 1 та 9),
13. BB (резольвента 1 та 10),
14. AA (резольвента 1 та 10),
15. BC (резольвента 1 та 11),
16. CD (резольвента 2 та 7),
17. A (резольвента 2 та 11),
18. DC (резольвента 3 та 6),
19. DD (резольвента 3 та 8),
20. BB (резольвента 3 та 8),
21. DB (резольвента 4 та 6),
22. CB (резольвента 4 та 8),
23. AA (резольвента 5 та 7),
24. DD (резольвента 5 та 7),
25. A (резольвента 5 та 9),
26. CA (резольвента 6 та 10),
27. BA (резольвента 6 та 11),
28. AB (резольвента 7 та 8),
29. D (резольвента 7 та 9),
30. DB (резольвента 7 та 10),
31. DC (резольвента 7 та 11),
32. BA (резольвента 8 та 9),
33. DA (резольвента 8 та 10).
Вилучимо тавтологічні диз’юнкти (13, 14, 19, 20, 23, 24) та ті диз’юнкти, що поглинаються іншими: диз’юнкт 17 поглинає диз’юнкти 2, 5, 9, 10, 11, 25, 26, 27, 32, 33; диз’юнкт 29 – диз’юнкти 3, 4, 7, 12, 16, 18, 21, 30, 31; диз’юнкт 28 – диз’юнкт 1; диз’юнкт 22 – диз’юнкт 15. Отже, залишаються такі диз’юнкти:
6. ВС,
8. BD,
17. A,
22. CB,
28. AB,
29. D.
Побудуємо резольвенти цих диз’юнктів.
34. В (резольвента 6 та 22),
35. В (резольвента 8 та 29),
36. В (резольвента 17 та 28).
Диз’юнкт 34 поглинає диз’юнкти 6, 8, 22, 28, 35 та 36. Отже, залишаються такі диз’юнкти:
17. A,
29. D,
34. В.
Правило резолюції не застосовне до жодної пари цих диз’юнктів.
Таким чином, не існує виводу порожнього диз’юнкту з множини диз’юнктів S, отже, множина диз’юнктів S несуперечна, а це означає, що подана сукупність тверджень сумісна.
Перевіримо суперечність формули F=(AB)(AC)((BC)D)(DA) шляхом побудови приведеної упорядкованої двійкової діаграми рішень.
Виберемо лінійний порядок на множині атомів, що входять у F. Нехай він буде таким: A<B<D<C. Розгалужуємо формулу F по А:
F=AF1,F0, де F1=F[1/A], F0=F[0/A], тобто:
F1=(1B)(1C)((BC)D)(D1)=(1B)(0C)((BC)D)1=(1B)1((BC)D)=(1B)((BC)D),
F0=(0B)(0C)((BC)D)(D0)=1(1C)((BC)D)(D0)=(1C) ((BC)D)(D0).
Отже, F1=(1B)((BC)D), F0=(1C)((BC)D)(D0).
Далі розгалужуємо формули F1 та F0 по В.
F1=BF11, F10, де F11=F1[1/B], F10=F1[0/B], тобто:
F11=(11)((1C)D)=1(1D)=1D, F10=(10)((0C)D)=0(CD)=0.
F0=BF01, F00, де F01=F0[1/B], F00=F0[0/B], тобто:
F01=(1C)((1C)D)(D0)=(1C)(1D)(D0), F00=(1C)((0C)D)(D0)=(1C)(CD)(D0).
Розгалужуємо формули F11, F01 та F00 по D.
F11=DF111, F110, де F111=F11[1/D], F110=F11[0/D], тобто:
F111=11=1, F110=10=0.
F01=DF011, F010, де F011=F01[1/D], F010=F01[0/D], тобто:
F011=(1C)(11)(10)=(1C)10=0,
F010=(1C)(10)(00)=(1C)01=0.
F00=DF001, F000, де F001=F00[1/D], F000=F00[0/D], тобто:
F001=(1C)(C1)(10)=(1C)10=0, F000=(1C)(C0)(00)=
=(1C)(C0)1=(1C)(C0).
Розгалужуємо формулу F000 по С.
F000=СF0001, F0000, де F0001=F000[1/C], F0000=F000[0/C], тобто:
F0001=(11)(10)=10=0, F0000=(11)(10)=10=0.
Усі розгалуження виконано; побудуємо упорядковану ДДР формули F:
Дана ДДР не є приведеною. Після приведення маємо:
Бачимо, що у приведеній ДДР є кінцева вершина, що має позначку «1», отже, формула F має моделі, тобто не є суперечною. Таким чином, можна зробити висновок, що подана сукупність тверджень є сумісною.