- •Мета та задачі домашньої контрольної роботи
- •Короткі теоретичні відомості та приклади розв’язання задач Логічне слідування
- •Методи перевірки тотожної хибності й тотожної істинності формул логіки висловлень
- •Метод перевірки суперечності й тавтологічності формул шляхом зведення до диз’юнктивної та кон’юнктивної нормальної форми
- •Метод Девіса й Патнема
- •Метод резолюцій
- •Метод двійкових діаграм рішень
- •Приклади застосування методів перевірки тавтологічності та суперечності формул логіки висловлень
- •Мова логіки першого порядку
- •Інтерпретації формул логіки першого порядку
- •Пренексна нормальна форма формул логіки першого порядку
- •Сколемівська стандартна форма формули першого порядку
- •Підстановки та уніфікатори
- •Алгоритм уніфікації
- •Правило резолюції для формул логіки першого порядку
- •Вимоги до оформлення домашньої контрольної роботи
- •Графік виконання домашньої контрольної роботи
- •Порядок виконання домашньої контрольної роботи
Підстановки та уніфікатори
Під виразом будемо розуміти терм, множину термів, множину атомів, літеру, диз’юнкт, множину диз’юнктів. Вираз, що не містить змінних, будемо називати основним виразом. Підвиразом виразу Е назвемо вираз, що зустрічається в Е.
Підстановкою називається скінченна множина виду {t1/v1, …,tn/vn}, де vi – змінна, ti – терм, відмінний від vi, усі vi різні (i=1, … ,n). Елементи множини {t1/v1, …,tn/vn} називаються компонентами підстановки. Якщо t1,…,tn – основні терми (тобто не містять змінних), підстановка називається основною. Підстановка, що не містить елементів, називається порожньою й позначається .
Наприклад, множини {a/x, g(b)/y, f(x,y)/z}, {f(y,y)/x, z/y, f(x,z)/z} є підстановками, а {g(x)/u, b/y, z/u}, {x/x, g(a)/y, x/z} – ні.
Нехай ={t1/v1,…,tn/vn} – підстановка, Е – вираз. Прикладом Е називається вираз (позначається Е), що утворюється з Е шляхом заміни одночасно усіх входжень змінної vi (1 i n) в Е на терм ti.
Нехай, наприклад, ={f(y)/x, a/y, u/z}, Е=Q(g(y),z,x). Тоді Е=Q(g(a),u,f(y)).
Нехай = {t1/v1, … ,tn/vn}, = {u1/y1, … ,um/ym} – підстановки. Композицією та називається підстановка (позначається або ), що утворюється із сукупності компонентів t1/x1,…,tn/xn, u1/y1,…,um/ym шляхом вилучення усіх тих компонентів tj/xj, для яких tj=xj, та усіх компонентів ui/yi, таких що yi{x1,…,xn}.
Нехай, наприклад, = {t1/x1,t2/x2}={g(z)/x, w/z}, = {u1/y1,u2/y2,u3/y3} = {f(b)/x, a/z, z/w}. Тоді {t1/x1,t2/x2,u1/y1,u2/y2,u3/y3}={g(a)/x, z/z, f(b)/x, a/z, z/w}. Оскільки t2=x2, то маємо вилучити t2/x2 (тобто z/z) з множини. До того ж треба вилучити й u1/y1 та u2/y2 (тобто f(b)/x й a/z), бо y1 й y2 містяться серед {х1, х2}. Отже, маємо ={g(a)/x, z/w}.
Зазначимо, що сукупність підстановок з операцією композиції утворює напівгрупу з одиницею (), тобто () = () й == для усіх , , .
Уніфікатором множини виразів {E1,…,Ek} називається така підстановка , що E1=E2=…=Ek. Множина {E1,…,Ek} називається такою, що уніфікується, якщо для неї існує уніфікатор.
Нехай, наприклад, множина виразів Т = {Q(g(a),x), Q(y,f(a,b))}. Підстановка ={g(a)/y,f(a,b)/x} є уніфікатором T, оскільки Q(g(a),x)=Q(g(a),f(a,b))=Q(y,f(a,b)).
Найбільш загальним уніфікатором (нзу) множини виразів Т={E1,…,Ek} називається такий уніфікатор цієї множини, що для будь-якого уніфікатора множини Т існує така підстановка , що =.
Множиною розбіжностей непустої множини виразів W називається множина, що утворюється виявленням першої (зліва) позиції, на якій не для усіх виразів з W стоїть один і той самий символ, а потім виписуванням з кожного виразу у W підвиразів, які починаються з символу, що займає цю позицію.
Нехай, наприклад, W = {Q(x,a), Q(f(y),u)}. Тоді першою позицією, у якій не усі вирази з W мають однакові символи, є третя, оскільки усі вирази мають однакові перші два символи Q. Отже, множина розбіжностей складається з підвиразів, які починаються з третьої позиції, тобто це множина {x,f(y)}.
Побудова найбільш загального уніфікатора множини виразів здійснюється за допомогою алгоритму уніфікації, який наводиться нижче.
