Основні поняття логіки предикатів
Класична математична логіка
Розділ 3
Логіка предикатів першого порядку
Основні поняття логіки предикатів
У розділі 1 формалізація мови у логіці висловлювань здійснюється шляхом розбиття мовних повідомлень на окремі неподільні речення (атоми), а їх змістове об’єднання – за допомогою символів ~ , → , , , Ø . Внутрішня структура речень при цьому не враховується. Наприклад, для умовиводу ”Деякі люди геніальні. Сократ ‒ людина. Отже, він геніальний”, інтуїтивно зазначений логічний висновок стосується деяких індивідуумів, до яких Сократ міг і не належати. Тобто в цьому висловлюванні не врахована внутрішня змістова особливість узагальнення
” деякі ”. А якщо розглянути умовивід „Кожна людина смертна. Оскільки Сократ ‒ людина, то він смертний”, то інтуїтивно зазначений логічний висновок є коректним.
Розглянемо цей умовивід більш детально. Для цього введемо атоми: А – ”кожна людина смертна”; В – ”Сократ – людина” ; С – ”Сократ смертний”.
Тоді умовивід відповідатиме формулі логіки висловлювань А В→ С, або перетворивши яку в нормальну форму, отримаємо
А В → С = ( А В ) С = А В С.
Остання формула на інтерпретації ( I, I, X )хибна, що свідчить про те, що вона не є загальнозначущою. А це означає, що у рамках логіки висловлювань С не є логічним наслідком А і В. Така обмеженість можливостей цієї формалізації пов’язана з тим, що в атомі А не врахована внутрішня змістова особливість узагальнення ”кожний”.
Теорія предикатів ураховує внутрішню структуру речень і ґрунтується на тому, що в цих реченнях подані об’єкти мають певні властивості або знаходяться між собою у певному відношенні. Наприклад, у висловленні
” Сократ – людина ”, підмет ” Сократ ” є об’єктом,а присудок ” людина ” виражає деяку його властивість. Головним для логіки предикатів є саме друга складова речення, що фіксується, а значення об’єкта пропонується позначити деякою змінною величиною. Таким чином, можна розглянути речення ” x – людина ”, яке не є висловлюванням, а є висловлювальною формою, підстановка в яку замість параметра x об’єктів ( значень ) з деякої множини М перетворює форму у висловлювання.
Нехай М – непорожня підмножина декартового добутку M1´M2´…´Mn множин (n ³ 1).
Означення 3.1.1. n - місним предикатом, заданим на множині М, називається речення, що містить n змінних x1,x2,…,xn і стає висловленням при кожній заміні їх елементами з відповідних множин a1,a2,…,an.
n - місний предикат будемо позначати Р(х1, х2,..., xn ), змінні x1,x2,…,xn будемо називати предметними змінними, а елементи множин, які ці змінні приймають (a1,a2,…,an)ϵМ, – предметними константами. Наприклад, над множиною натуральних чисел речення ” х – просте число ” є одномісним предикатом, а речення ” х кохає y ” є двомісний предикат на множині людей.
Таким чином, будь-який n - місний предикат можна ототожнити з логічною функцією n аргументів, що набуває значення із множини {I, X}, тобто
Р ( х , х ,... , x ) : M1´M2´…´Mn → { I,X }.
Це пояснюється тим, що у математичній логіці нас менше цікавить змістова суть предиката, а більш важливо знати, яке значення істинності ставиться у відповідність за допомогою даного предиката тій чи іншій послідовності елементів.
Таким чином, предикат Р( х , х ,... , x ) буде визначений, якщо: задана деяка множина М, яку називають областю визначення предиката (предметна область); задана область значень (фіксована множина {I,X }); зазначене правило, за допомогою якого кожному елементу, що взятий у предикатній області, ставиться у відповідність один із двох елементів із області значень. Предикат, що не має предметних змінних ( n = 0 ) є висловлюванням або нульмісним предикатом; якщо п = 1, то предикат відповідає властивості; якщо п = 2, то предикат є бінарним відношенням; якщо п = 3, то предикат – тернарне відношення і т. д.
Приклад 3.1.1.Подати предикатами речення: ”х – ціле число”; ”х ділиться на у”.
Розв’язання. Дії або властивості цих речень оберемо як назву предикатів: ЦІЛЕ, ДІЛИТЬСЯ. Тоді задані висловлювання можна записати у вигляді предикатів таким чином: ЦІЛЕ(х), ДІЛИТЬСЯ(х, у). Перший предикат є одномісним і виражає деяку властивість чисел, а другий двомісним і виражає бінарне відношення подільності на множині чисел.
Над предикатами можна виконувати звичайні логічні операції. Результатом цих операцій будуть нові предикати. Наприклад, нехай Р( х ) позначає предикат ”х ділиться на 2”, а Q ( x ) ‒ предикат ”х ділиться на 3”. Тоді вираз
Р( х ) Q ( x ) позначає предикат ”х ділиться на 2 та х ділиться на 3”, тобто позначає предикат ”х ділиться на 6”.
За допомогою логічних операцій можна будувати як завгодно складні предикати. Для побудови формул логіки предикатів застосовується алфавіт, у якому є:
предметні змінні x1,x2,…,xn ;
предметні константи a1,a2,…,an ;
функціональні символи fin , де і = 1, 2,… вказує порядковий номер символа, а n = 1, 2,… вказує на кількість аргументів;
предикатні символи Pin , де і = 1, 2,… вказує порядковий номер символа, а n = 0, 1, 2, … вказує на кількість аргу-ментів;
знаки логічних операцій ~ , → , , , Ø, ↔; квантори ", $; знаки пунктуації – ліва і права дужки та кома.
Серед слів, записаних за допомогою зазначених вище символів, виділяють терми і формули, що визначаються індуктивним чином.
Означення 3.1.2. 1) будь-яка предметна змінна або предметна константа є термом; 2) якщо f – функціональний символ, а ‒ терми, то f( ) є терм; 3) ніяких інших термів, крім породжених за допомогою зазначених вище правил, не існує.
Приклад 3.1.2. Записати у вигляді предикатів такі речення: ”Сестра Миколи”, ”Студенти складають іспит”, ”Число х більше числа х - 1”.
Розв’язання 1. Речення ”Сестра Миколи” не може бути ”істинним” або ”хибним”, тому його не можна зобразити у вигляді предиката. Це речення є деяким елементом предметної області на множині людей.
2. Речення ”Студенти складають іспит” може набувати значення ”істина” або ”хибність”, тому його можна записати у вигляді предиката. У структурі речення можна виділити присудок ”складають”, підмет ”студенти” і додаток ”іспит”. Підмет і додаток можна розглядати як
предметні константи, а присудок – як нульмісний предикат. Тому речення ”Студенти складають іспит” можна записати у вигляді нульмісного предиката таким чином: СКЛАДАТИ (студенти, іспит).
3. Присудком у цьому реченні є слово ”більше”. Під-мет ”х” і додаток ”х - 1” зобразимо у вигляді термів. Терм ”х - 1” має внутрішню структуру, оскільки в ньому є функціональний символ ” мінус ”. Виходячи із цього, речення набере вигляду двомісного предиката:
БІЛЬШЕ (( х,1), мінус (х,1)), де х – предметна змінна, а 1 – константа.
Приклад 3.1.3. Предикат ”ДОРІВНЮВАТИ ( х ,7 )” записати природною мовою.
Розв’язання. У предикаті 7 є константа, а х – предметна змінна, тому він відповідає твердженню природної мови –х дорівнює 7.
Квантори
Крім застосування до предикатів ” звичайних ” логічних операцій (~ , → , , , Ø, ↔) та операції підстановки замість предметних змінних їх конкретних значень, у логіці предикатів використовують так звані операції зв’язування квантором ( операції квантифікації ). Квантори вперше були введені саме в рамках класичної математичної логіки.
Означення 3.2.1. Квантором загальностіназивають знак , під впливом якого предикат Р ( х ) , визначений на множині М, набуває істинного значення для всіх х М, і позначають це як х Р ( х ) .
Означення 3.2.2. Квантором існування називають знак , під впливом якого предикат Р (х), визначений на множині М, набуває істинного значення для деяких х М, і позначають це як х Р ( х ) .
Знак квантора загальності є перевернутою буквою ”А”, що є першою літерою англійського слова ”All”, що означає ” всі ”, а знак квантора існування є перевернутою літерою ”Е”, що є першою буквою англійського слова ” Exist ” і означає ” існування ”. Квантор у природній мові читається як ” всі ”, ”кожен”, ”всякий”, ”який би не був”. Квантор - ”існує (бодай один) ”, ”існують”, ”знайдеться (бодай один) ”, ”знайдуться”, ”деякі”.
Якщо квантор застосовується до предиката, то кажуть, що він навішується на формулу.
Наприклад, х1 Р( х1,x2,…,xn ) – на n - місний предикат навішений квантор загальності, при цьому він зв’язує змінну х1 , а на інші змінні його дія не поширюється. Змінна х1 в цьому разіназивається пов’язаною, всі інші змінні є вільними. Внаслідок операції квантифікації місність предиката зміниться (в цьому випадку предикат стає n-1 - місним).
Важливу роль у логіці предикатів відіграє поняття області дії квантора. Область дії квантора – це предикат, на який даний квантор навішується. Як правило, вона виділяється дужками. Наприклад, у предиката
"x $y (x<yÙz>0)↔(x=z) змінна z вільна, змінна x частково вільна, оскільки має два зв’язаних і одне вільне входження, а змінна y пов’язана.
Якщо предикат P(x) не містить інших змінних, крім х, вирази $x P(x) та "x P(x) є реченнями, що виражають істинні або хибні висловлювання.
Приклад 3.2.1. Висловлювання: ” Всі студенти складають іспити ” і ” Деякі студенти складають іспити на відмінно ” подати засобом логіки предикатів.
Розв’язання. Введемо предикати: Р(x) ‒ ” x – складає іспити ”, Q(x) ‒ ” x – складає іспити на відмінно ”, xÎ M, де М – множина студентів. Тоді шукані подання матимуть вигляд х Р( х ) і х Q( х ).
Приклад 3.2.2. Для предметної області множини дійсних чисел записати засобом логіки предикатів такі твердження: ”Існує число, квадрат якого дорівнює 25”; „ Для всіх х є правильним, що ( х + 2 ) = х + 4х + 4 ”.
Розв’язання. Введемо предикат P(х, у) – “ x = y “, який є істинним тоді, коли значення змінної х дорівнює значенню у. У цьому разі, використовуючи квантори, можна записати
х P( х , 25 ) ; х P( ( х + 2 ) , х + 4х + 4 ).
Формули логіки предикатів
Означення 3.3.1. Формулою у логіці предикатів називають вираз, який задовольняє такі індуктивні визначення.
1. Якщо P - символ n-місного предиката, а t ,t ,...,t ‒ терми, то Р( t ,t ,...,t ) ‒ формула, яку називають атомарною( елементарною ). Всі предметні змінні атомарних формул – вільні, пов’язаних змінних немає.
2. Якщо P ‒ формула, то P ‒ також формула. Вільні й пов’язані змінні формули P ‒ це відповідно вільні та пов’язані змінні формули P .
3. Якщо і ‒ формули і немає таких предметних змінних, які були б пов’язаними в одній формулі, але вільними в іншій, тоді , , , ( ~ ) є теж формулами, в яких статус змінних зберігається.
4. Якщо Р ‒ формула, яка містить вільну змінну х, то x P і x P також є формулами. Змінна х у цих формулах стає пов’язаною. Статус інших змінних зберігається.
5. Ніяких інших формул, крім породжених зазначеними вище правилами, не існує.
Приклад 3.3.1. Визначити, які із виразів є формулами логіки предикатів:
а) P ( x ,x ,x ) ;
б) x1 x2 P ( x1,x2,x3 ) x1P ( x1,x4);.
в) x1 x3 ( P ( x1, x3 ) P ( x3, x4 ).
Розв’язання. Вираз а) є атомарною формулою, в якій x ,x ,x ‒ вільні змінні. Вираз б) є формулою, в якій x ,x ‒ пов’язані змінні, а x , x ‒ вільні змінні.
Вираз в) не є формулою, оскільки порушене правило 3 означення 3.3.1.
Приклад 3.3.2. Визначити, які змінні є пов’язаними, а які вільними у таких формулах:
г) Р( х,у,z ),; y ( P( x ) x Q( x,y )) ; y ( P( y ) y Q( x,y )) .
Розв’язання. Усі три змінні у формулі а) є вільними. У формулі б) змінна у є пов’язаною, а змінна x – і пов’язаною, і вільною. У формулі в) змінна х є вільною, а змінна у пов’язаною.
Означення 3.3.3. Інтерпретацією формули логіки предикатів називається система, що складається з непорожньої множини М Ì (М1´М2´…´Мn), яку називають областю інтерпретації, і відповідності, яка кожному предикатному символу Pin зіставляє певний n - місний предикат, заданий на множині М, кожному функціональному символу fin – деяку n - арну алгебраїчну операцію, кожній константі αi – деякий конкретний елемент із М.
Для кожної інтерпретації на області формула F може набувати істинного І, або хибного Х значення згідно з такими правилами.
1. Якщо задані значення формул F і G, то значень істинності формул , , , ( ~ ) можна визначити за допомогою таблиць істинності відповідних логічних операцій.
2. Формула x F набуває значення І, якщо F набуває значення І для кожного х із предикатної області , у протилежному разі ‒ Х.
3. Формула x F набуває значення І, якщо F набуває значення І для деякого х із предикатної області , у протилежному разі ‒ Х.
Означення 3.3.4.Формула логіки предикатів називається :
a) істинною в даній інтерпретації, якщо вона виконується на будь-якому наборі елементів з області інтерпретації;
b) хибною в даній інтерпретації, якщо вона не виконується на жодному наборі елементів з області інтерпретації;
c) виконуваною в даній інтерпретації, якщо вона виконується хоча б на одному наборі елементів з області інтерпретації;
d) спростовною в даній інтерпретації, якщо вона не виконується хоча б на одному наборі елементів з області інтерпретації.
Приклад3.3.3.Побудувати інтерпретацію формул: P( x ,x ) ; x P( x ,x ) ; х2 х1 Р( х , х ).
Розв’язання. Введемо область інтерпретації – множину цілих додатних чисел Z+ , а замість P(x1, x2) введемо предикат ”x1 ≥ x2 ”. Перша формула – це саме предикат, побудований на Z+. Вона є виконуваною і спростовною. Друга формула буде виражати одномісний предикат, вона є хибною. Третя формула – це істинне висловлювання, яке стверджує про існування найменшого цілого додатного числа.