- •Розділ 6. Математична логіка
- •6.3.Логіка предикатів
- •Назва “предикат” походить від англійського слова predicate, що означає “висловлення” або “присудок”. Предикатом
- •Визначено деякий предикат, якщо:
- •Предикат Р, що має n аргументів, називається n-
- •Приклад. Зобразити у вигляді предикатів висловлення: «х ділиться на 13», «х ділиться на
- •Для побудови атомів логіки предикатів дозволяється використовувати такі типи символів:
- •Аргументи предиката називаються термами. Терм визначається рекурсивно таким чином:
- •Приклад. Зобразити у вигляді предикатів такі речення:
- •Приклад. Перекласти на природну мову такі висловлення логіки предикатів:
- •6.4.Квантори
- •При визначенні істиннісного значення предиката неабиякий інтерес становить питання: чи є він істинним
- •Нехай Р(х) — предикат, визначений на М. Висловлення «для всіх х М, Р(х)
- •В логіці предикатів (або першого порядку) існує таке обмеження: не можна застосовувати квантори
- •Від того, чи є змінна зв'язаною або вільною, залежить значення предиката. Вільна змінна
- •Приклад. Записати у вигляді предикатів з кванторами такі висловлення:
- •Застосування кванторів до багатомісних предикатів зменшує кількість вільних змінних, від яких залежить цей
- •Квантор загальності можна інтерпретувати як узагальнення кон'юнкції, а квантор існування — як узагальнення
- •6.5.Формули у логіці предикатів
- •Використовуючи поняття предиката, квантора і терма, можна визначити поняття формули у логіці предикатів.
- •Правильно побудованими формулами логіки предикатів називаються формули, які можна
- •Оскільки дія квантора може поширюватися не на всю формулу, а тільки на її
- •В логіці висловлень інтерпретація формули полягає у приписуванні атомам істиннісних значень. У логіці
- •Для кожної інтерпретації на області D формула може одержати істиннісне значення І або
- •Після уточнення поняття інтерпретації в логіці предикатів такі поняття, як загально значущість,
- •6.6. Закони і тотожності у логіці предикатів
- •Всі закони і тотожності, які справедливі у логіці висловлень, залишаються справедливими і у
- •У загальному випадку слід перейменувати зв'язані змінні, щоб запобігти колізії — ситуації, коли
- •1. Заміна зв'язаної змінної
- •2. Комутативні властивості кванторів
- •3. Дистрибутивні властивості кванторів
- •Для подолання цього обмеження дистрибутивного закону, слід використовувати заміну зв'язаної змінної:
- •4. Закон де Моргана для кванторів
- •6.7. Випереджені нормальні форми і логічний висновок у логіці предикатів
- •Літералом називають атом або його заперечення. Приклади літералів — р, q, r.
- •В логіці предикатів вводиться третя нормальна форма, що називається випередженою нормальною формою.
- •Перетворення виразів довільної форми у ВНФ
- •Приклад. Звести ( x)F(x) ( x)H(x) до ВНФ. Розв'язок. Спочатку виключимо імплікацію, потім
- •Розглянемо правила висновку, які можна використовувати для проведення дедуктивних умовиводів з висловленнями логіки
- •Правило введення квантора загальності
- •Правило введення квантора існування
- •Приклад. Показати, що з тверджень «Всі у першій групі вивчають математику» і
- •6.8.Обчислення предикатів
- •Аналогічно обчисленню висловлень в логіці предикатів існує формальна система — обчислення предикатів, яка
- •Для з'ясування сенсу вимоги до входжень х у F(x) розглянемо як F(x) формулу
- •В обчисленні предикатів використовуються такі правила висновку:
- •4) Правило перейменування вільних зміннних
- •5) Правило перейменування зв'язаних змінних
- •6.9. Метод резолюцій
- •Нехай формулу ƒ записано в КНФ
- •За принципом прямої дедукції формулу g можна вивести з формул f1, f2, ...,
- •Припустимо, що елементарні диз'юнкції d1 і d2 такі, що dl містить літерал l1,
- •Теорема. Резольвента d елементарних диз'юнкцій d1 і d2 — логічний наслідок диз'юнкцій d1
- •Виведення формули d з елементарних диз'юнкцій множини S за методом резолюцій полягає в
- •Алгоритм методу резолюцій
- •Приклад. Показати невиконанність множини
2. Комутативні властивості кванторів
( х) ( у) Р(х, у) = ( у) ( х) Р(х, у); ( х) ( у) Р(х, у) = ( у) ( х) Р(х, у).
Змінювати місцями можна тільки однойменні квантори.
( x) ( у) Р(х, у) ≠ ( у) ( х) Р(х, у).
3. Дистрибутивні властивості кванторів
( x) F(x) G = ( x)(F(x) G); ( x) F(x) G = ( x)(F(x) G); ( x) F(x) G = ( x)(F(x) G); ( x) F(x) G = ( x)(F(x) G),
де G — формула логіки предикатів, яка не містить х; ( x) F(x) ( х) Н(х) = ( x) (F(x) H(х));
( x) F(x) ( х) H(х) = ( x) (F(x) H(x)).
Сформульований дистрибутивний закон справедливий тільки для квантора загальності при кон'юнкції і квантора існування при диз'юнкції , оскільки інші комбінації призводять до нерівностей:
( x) F(x) ( х) H(х) ≠ ( x) (F(x) H(х)); ( x) F(x) ( х) H(х) ≠ ( x) (F(x) H(х)).
Для подолання цього обмеження дистрибутивного закону, слід використовувати заміну зв'язаної змінної:
( x) F(x) ( х) H(х) = ( x) F(x) ( у) H(у) = = ( x) ( y) (F(x) H(y));
( x) F(x) ( х) H(х) = ( x) F(x) ( у) H(у) = = ( x) ( y) (F(x) H(y)).
Таким чином, у загальному випадку дистрибутивні властивості кванторів можна записати такою схемою:
(Q1x) F(x) (Q2y) H(у) = (Q1x) (Q2y) (F(x) H(у)); (Q1x) F(x) (Q2y) H(у) = (Q1x) (Q2y) (F(x) H(y)), де Q1, Q2 — будь-який з кванторів або .
4. Закон де Моргана для кванторів
¬(( x) F(x)) = ( x) ¬F(x); ¬(( x) F(x)) = ( x) ¬F(x).
Приклад. Нехай предикат F(x) означає, що «х є простим числом». Коли х послідовно приймає значення ряду натуральних чисел — х={1,2,3,4,5,...}, предикат відповідно:
F(l) = X, F(2) =I, F(3) = I; F(4) = X, F(5) = I,....
¬(( x) F(x)) = «не всі х є простими числами» =
=«існують такі х, які є непростими числами» =
=( х)¬F(x) = І.
Обидва наведені висловлення істинні.
¬(( x) F(x)) = «немає жодного х, яке було б простим» = = «всі х є непростими числами» = ( x)¬(x) = X.
Ці висловлення є хибними.
6.7. Випереджені нормальні форми і логічний висновок у логіці предикатів
випереджена нормальна форма
алгоритм зведення до випередженої нормальної форми
правила видалення/введення квантора загальності/існування
Літералом називають атом або його заперечення. Приклади літералів — р, q, r.
Літерал називають позитивним, якщо він не має знака заперечення, і негативним, якщо має.
Пару літералів {р, р} називають контрарною.
Говорять, що формулу f записано в кон'юнктивній
нормальній формі (КНФ), якщо вона має вигляд
f = f1 f2 ... fn (п 1),
де кожна з формул fi — літерал або диз'юнкція літералів і всі формули fi (і = 1, 2,..., п) різні.
Говорять, що формулу f записано в диз'юнктивній нормальній формі (ДНФ), якщо вона має вигляд
f = f1 f2 ... fn (п 1),
де кожна з формул fi — літерал або кон'юнкція літералів і всі формули fi (і = 1, 2,..., п) різні.
Довільну формулу можна перетворити в одну з нормальних форм, застосувавши закони логіки висловлювань.
В логіці предикатів вводиться третя нормальна форма, що називається випередженою нормальною формою.
Формула F в логіці предикатів знаходиться у
випередженій нормальній формі (ВНФ) тоді і тільки тоді, коли вона може бути зображена у вигляді
(Q1x1)... (Qnxn)(M),
де кожне (Qixi), і = 1, ..., п, є або ( x), або ( х),
аМ— формула, що не містить кванторів. Причому (Q1x1) ... (Qnxn) називається префіксом,
аМ — матрицею формули F.
Перетворення виразів довільної форми у ВНФ
1.Виключити логічні зв'язки еквіваленції (~) та імплікації ( ), виразивши їх через операції диз'юнкції, кон'юнкції і заперечення за допомогою таких законів:
F G = ¬F G;
F ~ G = (¬F G) (¬G F) = ¬F ¬G F G.
2.Опустити знаки операцій заперечення безпосередньо на предикати, використовуючи закон подвійного заперечення ¬(¬F)=F і закони де Моргана
¬(F G)=¬F ¬G; ¬(F G)=¬F ¬G
у тому числі для кванторів:
¬(( x) F(x)) = ( х) (¬F(x)); ¬(( x) F(x)) = ( x) (¬F(x)).
3.Якщо необхідно, перейменувати зв'язані змінні.
4.Винести квантори на початок формули, використовуючи відповідні закони, для одержання випередженої нормальної форми.
Приклад. Звести ( x)F(x) ( x)H(x) до ВНФ. Розв'язок. Спочатку виключимо імплікацію, потім
опустимо знак операції заперечення безпосередньо на предикат і винесемо квантор на початок:
( x) F(x) ( х) H(х) = ¬(( x) F(x)) ( х) H(х) = = ( х) (¬F(x) ( х) H(х) = ( х) (¬F(x) H(х)).
Приклад. Одержати ВНФ для формули
G≡ ( x)( y)(( z)(P(x, у) Р(у, z)) ( z)R(x, у, z)). Розв'язок. Скористаємося наведеним вище алгоритмом.
G= ( x)( y)(¬(( z)P(x, z) Р(у, z)) ( z) R(х, у, z)) =
=( x)( y)(( z)(¬P(x, у) ¬P(y, z)) ( u) R(х, у, u)) =
=( x)( y)( z)( u)(¬P(x, у) ¬P(y, z) R(х, у, u)).
Розглянемо правила висновку, які можна використовувати для проведення дедуктивних умовиводів з висловленнями логіки предикатів, що містять квантори.
Правило видалення квантора загальності
xF(x)
F(c) для довільного с D
використовується для доведення істинності F(c), де с — довільно обраний елемент предметної області D, у якій справедливе x F(x). Наприклад, із засновку «Всі студенти бажають одержувати добрі оцінки» робимо висновок: «Студент Петров бажає одержувати добрі оцінки».