
- •Аксіоматичні системи логік
- •4.1. Система аксіом і правил виведення
- •7. Правило існування:
- •8. Правило перейменування вільних змінних
- •9. Правило перейменування пов’язаних змінних
- •4.2. Випереджені нормальні форми
- •4.3. Побудова доведень в аксіоматичній системі
- •4.4. Метод ідентифікації
- •4.5. Метод резолюцій
4.3. Побудова доведень в аксіоматичній системі
Основною задачею аксіоматичної
системи логіки предикатів є установлення
істинності предикатних тотожностей і
клауз. Позначимо через
будь-який предикат із задовільним числом
аргументів, а через (
)‒
відповідну йому кванторну групу. Тоді,
наприклад, закон дистрибутивності
матиме такий вигляд:
(
)
((
)
(
)
)
=
= (( ) ( ) ) (( ) ( ) ).
У тому, що він виконується для одномісних предикатів, можна переконатися за допомогою процедури конкретизації:
х = а, b; = x; = А(х);
у = с, d; = y; = В(у);
z = e, f; = z; = C(z);
[А(а) А(b)] {[В(с) В(d)] [C(e) C(f)]} = ={[A(a) A(b)] [B(c) B(d)]} {[A(a) A(b)] [C(e) C(f)]}.
Від того, що у квадратних дужках з’явиться замість диз’юнкції кон’юнкція і навпаки, а також замість одномісного предиката будуть фігурувати різні багатомісні предикати, – суть тотожності не зміниться. Вона залишиться істинною внаслідок справедливості законів логіки множин і принципу суперпозиції, який стверджує, що заміна будь-якої константи іншою константою або навіть групою констант не може вплинути на істинність тотожності.
Ті самі висновки можуть бути виконані й по відношенню до логіки висловлювань, що відрізняється від логіки Буля аксіомою порядку
(
)
,
(
)
(
)
.
Процедура конкретизації зводить предикатну аксіому порядку до простого висловлювання, тому якщо клауза істинна для висловлювань, то вона буде істинною і для предикатів.
4.4. Метод ідентифікації
Цей метод базується на перетворенні предикатної клаузи на клаузу логічного висловлювання шляхом ідентифікації ідентичних квантованих предикатів. Алгоритм методу ідентифікації має такі кроки.
1. Виділити однойменні квантовані предикати, по-значивши їх відповідними літерами формул логіки висловлювань.
2. Перетворити предикатну клаузу на клаузу логіки висловлювань, записавши її за допомогою ідентифікованих літер формул логіки висловлювань і замінивши при цьому всі логічні зв’язки розглянутої предикатної клаузи.
3. Розглянути одержану клаузу логіки висловлювань на її істинність чи хибність, використовуючи один із методів пропозиційної логіки: розділи 2.4, 2.5, 2.6, 2.7.
Приклад 4.4.1. Довести істинність предикатної клаузи х у Р(х, у) → → v Р(а, v), x Р(а, х) → x y Р(у, х) u v Р(и, v) → v u Р(и, v) методом ідентифікації.
Розв’язання. Використовуючи перший крок алгоритму, введемо позначення:
А = х у Р(х, у) = u v Р(и, v);
В = v Р(а, v) = x Р(а, х);
С = x y Р(у, х) = v u Р(и, v).
Згідно з другим кроком алгоритму робимо перетворення предикатної клаузи на клаузу логіки висловлювань:
А → В, В → С А → С.
Доведення істинності клаузи логіки висловлювань виконано аксіоматичним методом у прикладі 4.3.2. Звідси випливає, що і предикатна клауза є теж істинною.
Приклад 4.4.2. Довести істинність тотожності
x y Р(х,у) u v Р(v, и) v u Р(v, и) y x Р(х, у) = x y Р(у, х) u v Р(и, v) методом ідентифікації.
Розв’язання. Згідно з першим кроком алгоритму введемо такі позначення:
А = х у Р(х, у) = v u Р(v, и) = u v Р(и, v);
В = u v Р(v, и) = y x Р(х, у) = x y Р(у, х).
Використовуючи другий крок алгоритму, робимо перетворення предикатної тотожності на тотожність алгебри Буля:
( А В) (А В) = В А.
Виконуючи елементарні логічні перетворення, отримаємо
В А = В А,
що підтверджує істинність предикатної тотожності.
Приклад 4.4.3. Довести істинність клаузи
v u Р(и, v) → u v Р(и, v), x y Р(х, у) u Р(и, и) методом ідентифікації.
Розв’язання. Користуючись першим кроком алгоритму, введемо такі позначення:
=
x
y
Р(х, у);
=
v
u
Р(и, v);
=
u
v
Р(и, v);
=
u
Р(и, и).
Використовуючи другий крок алгоритму, робимо перетворення предикатної клаузи у клаузу логіки висловлювань:
→
,
або
,
,
0.
Згідно з методом резолюції, суперечності можливі, якщо можливі дві інші суперечності, що випливають із клаузи логіки висловлювань:
, 0, , 0.
Подання їх предикатними суперечностями
x y Р(х, у), v u Р(v, и) 0,
u v Р(и, v), u Р(и, и) 0
підтверджує істинність предикатної клаузи.
Приклад 4.4.4. Довести істинність клаузи
z В(z, z) → x y В(х, у), z y A(z, y) → → u v B(v, u), x A(b, x) z x B(x, z) z y A(z, x) методом ідентифікації.
Розв’язання. Згідно з першим кроком алгоритму введемо такі позначення:
= z y A(z, y); = x A(b, x);
=
u
v
B (v, u) =
z
x
B(x, z);
=
z
B (z,
z);
=
x
y
B(x,
y).
Використовуючи другий крок алгоритму, перетворюємо предикатну клаузу у клаузу логіки висловлювань:
→ , → , .
Замінивши імплікацію і привівши клаузу до суперечності, отримаємо
, , 0.
Згідно з методом резолюцій суперечності можливе тоді й тільки тоді, коли можливі інші суперечності клаузи, що випливають із клаузи логіки висловлювань:
, 0, , 0, , 0.
Подання їх предикатними суперечностями
z y А (z, z), х A(b, x) 0;
u v B (v, u), z B(z, z) 0;
z x B(x, z), x y B(x, y) 0
підтверджує істинність предикатної клаузи.