- •Мета та задачі домашньої контрольної роботи
- •Короткі теоретичні відомості та приклади розв’язання задач Логічне слідування
- •Методи перевірки тотожної хибності й тотожної істинності формул логіки висловлень
- •Метод перевірки суперечності й тавтологічності формул шляхом зведення до диз’юнктивної та кон’юнктивної нормальної форми
- •Метод Девіса й Патнема
- •Метод резолюцій
- •Метод двійкових діаграм рішень
- •Приклади застосування методів перевірки тавтологічності та суперечності формул логіки висловлень
- •Мова логіки першого порядку
- •Інтерпретації формул логіки першого порядку
- •Пренексна нормальна форма формул логіки першого порядку
- •Сколемівська стандартна форма формули першого порядку
- •Підстановки та уніфікатори
- •Алгоритм уніфікації
- •Правило резолюції для формул логіки першого порядку
- •Вимоги до оформлення домашньої контрольної роботи
- •Графік виконання домашньої контрольної роботи
- •Порядок виконання домашньої контрольної роботи
Алгоритм уніфікації
1. Покласти k=0, Wk=W, k=.
2. Якщо Wk – одноелементна множина, то припинити роботу: k є нзу для W; інакше знайти множину Dk розбіжностей множини Wk.
3. Якщо існують такі елементи vk та tk в Dk, що vk – змінна, що не входить в tk, то перейти до кроку 4, інакше припинити роботу: W не уніфікується.
4. Покласти k+1=k{tk/vk}, Wk+1=Wk{tk/vk}. (Зауважимо, що Wk+1=Wk+1.)
5. Збільшити k на одиницю та перейти до кроку 2.
Теорема 6. Якщо W – скінченна непорожня множина виразів, що уніфікується, то алгоритм уніфікації завершує роботу на кроці 2 й підстановка k є найбільш загальним уніфікатором множини W.
Знайдемо, наприклад, найбільш загальний уніфікатор для множини W={Q(x,a,f(y,g(b))),Q(b,y,u)}.
1. 0=, та W0=W. Оскільки W0 не є одноелементною множиною, то 0 не є найбільш загальним уніфікатором множини W.
2. Множина розбіжностей D0={x,b}. В D0 міститься змінна v0=х, яка не має входжень в t0=b.
3. Нехай 1=0{t0/v0}={b/x}={b/x},
W1=W0{t0/v0} = {Q(x,a,f(y,g(b))), Q(b,y,u)}{b/x} = {Q(b,a,f(y,g(b))),Q(b,y,u)}.
4. W1 – не одноелементна множина; множина розбіжностей множини W1 є D1={a,y}.
5. З D1 знайдемо v1=y та t1=a.
6. Обчислимо 2 та W2: 2=1{t1/v1}={b/x}{a/y}={b/x,a/y},
W2=W1{t1/v1}={Q(b,a,f(y,g(b))),Q(b,y,u)}{a/y}={Q(b,a,f(a,g(b))),Q(b,a,u)}
7. Бачимо, що W2 – не одноелементна множина. Множиною розбіжностей для W2 є D2={f(a,g(b)),u}. З D2 знаходимо v2=u та t2=f(a,g(b)).
8. Нехай 3=2{t2/v2}={b/x,a/y}{f(a,g(b))/u}={b/x,a/y,f(a,g(b))/u},
W3=W2{t2/v2}={Q(b,a,f(а,g(b))),Q(b,а,u)}{f(a,g(b))/u}={Q(b,a,f(a,g(b)))}.
9. W3 – одноелементна множина, отже, 3={b/x, a/y, f(a,g(b))/u} є нзу W.
Розглянемо ще один приклад. Визначимо, чи має нзу множина W={P(z,f(a)),P(c,f(z))}.
1. Покладемо 0=, W0=W.
2. W0 – не одноелементна множина; множиною розбіжностей W0 є D0={z,c}. Отже, v 0=z, t0=c.
3. Нехай 1=0{t0/v0}={c/z}={c/z},
W1=W0{t0/v0}={P(z,f(a)),P(c,f(z))}{c/z}={P(c,f(a)),P(c,f(c))}.
4. W1 – не одноелементна множина; множиною розбіжностей для W1 є D1={a,c}.
5. Множина D1 не містить змінних, отже виконання алгоритму уніфікації завершується, й ми робимо висновок, що W не уніфікується.
Правило резолюції для формул логіки першого порядку
Нехай дві або більше літер диз’юнкту С мають нзу . Склейкою диз’юнкту C називається диз’юнкт С. Якщо С – однолітерний диз’юнкт, то склейка називається одиничною.
Нехай, наприклад, С = Q(x,a) P(f(y),z) Q(f(y),y). Перша та третя літери мають нзу ={f(a)/x, a/y}. Диз’юнкт C = P(f(а),z) Q(f(а),а) – склейка C.
Нехай С1, С2 – диз’юнкти, що не мають жодної спільної змінної, L1, L2 – літери у відповідно С1 та С2. Якщо L1 та L2 мають нзу , то диз’юнкт (C1 \ {L1})(C2 \ {L2}) називається бінарною резольвентою С1 та С2. Літери L1 та L2 називаються такими, що відсікаються. С1 та С2 називаються диз’юнктами-посилками.
Нехай, наприклад, C1 = Q(f(x),y)P(z,b), C2 = R(f(x))Q(w,x). Оскільки x має входження у C1 та C2, замінимо змінну х у C2 на u. Нехай C2=R(f(u))Q(w,u). Виберемо L1=Q(f(x),y) та L2=Q(w,u). Оскільки L2=Q(w,u), то L1 та L2 мають нзу ={f(х)/w, y/u}. Отже,
(C1 \ {L1}) (C2 \ {L2}) = ({Q(f(x),y),P(z,b)}\{Q(f(x),y)})({R(f(y)), Q(f(x),y)}\{Q(f(x),y)})={P(z,b),R(f(y))} = P(z,b)R(f(y)).
Таким чином, P(z,b)R(f(y)) – бінарна резольвента диз’юнктів C1 та C2.
Резольвентою диз’юнктів-посилок С1 та С2 називається одна з таких резольвент:
- бінарна резольвента С1 та С2,
- бінарна резольвента С1 та склейки С2,
- бінарна резольвента С2 та склейки С1,
- бінарна резольвента склейки С1 та склейки С2.
Теорема 7. Множина диз’юнктів S суперечна тоді й тільки тоді, коли існує вивід порожнього диз’юнкту з S за допомогою правила резолюції.
Розглянемо, наприклад, таку сукупність формул:
F1: (x)(P(x)(Q(x)T(x))), F2: (x)(P(x)D(x)), F: (x)(D(x)T(x)).
Покажемо, що F є логічним наслідком F1 та F2. Перетворимо F1, F2 та F у стандартну форму. Маємо такі диз’юнкти:
(1) P(x)Q(x),
(2) P(x)T(x),
(3) P(a)
(4) D(a)
(5) D(х)T(x).
Виведення за допомогою правила резолюції:
(6) Т(а) резольвента (3) та (2),
(7) Т(а) резольвента (5) та (4),
(8) резольвента (7) та (6).
Отже, формула F є логічним наслідком формул F1 та F2.
