Розділ 6 СЕМАНТИЧНІ ЗАСАДИ ЛОГІКИ ПРЕДИКАТІВ
У попередніх розділах, які стосувались математичної логіки, увагу було зосереджено переважно на синтаксичних аспектах. Тепер детальніше розглянемо семантичні аспекти логіки.
6.1. Класи n-арних і квазіарних функцій
Основним поняттям логіки із семантичного погляду є поняття предиката, яке інтуїтивно можна тлумачити як відображення значень змінних у значення істинності.
Наприклад, розглянемо предикат, що задається виразом
якщо х > y та y > z, то х > z.
Тут вільними змінними є змінні х, y, z. Якщо такий предикат інтерпретується над множиною цілих чисел, то його значення слід обчислювати за наявності значень цих змінних. Нехай х має значення 17, y – 11, z – 3. Це означає, що визначено певний стан
змінних, який записуватимемо у вигляді [х 17, y 11, z 3].
Стан змінних також називають інтерпретацією, оцінкою або
розподілом змінних.
Таким чином, розглянутий предикат є відображенням множини станів змінних у значення істинності. Множину значень істинності позначають Bool = {1, 0} або Bool = {T, F}. Щоб зберегти однотипність позначень з іншими розділами посібника, уживатимемо позначення {1, 0}. Розглядаючи предикат як указану функцію, будемо називати стани змінних даними (з області визначення предиката).
Застосувавши предикат до даного (стану змінних)
[х |
17, y |
11, z |
3], |
отримуємо істиннісне значення 1.
Наведені міркування дають змогу формально означити поняття стану змінних. Нехай V – множина змінних (імен), M – множина предметних (базових) значень. Тоді довільна часткова
функція із V у M називають станом змінних, іменованими да ними, квазіарними даними, або просто даними. Множину та-
ких даних позначатимемо D = V → M = VM.
Якщо іменами є цілі числа, то квазіарне дане вигляду
[1 a1, 2 a2,… n an]
називатимемо n-арним даним. Такі дані зазвичай позначають у вигляді кортежа (a1, a2,… an). Кортеж є елементом декартового добутку M n. Відповідно квазіарні дані є елементами узагальненого часткового декартового добутку VM.
Уведені позначення дають змогу означити класи n-арних та квазіарних функцій. Функція, визначена на класі n-арних даних, називають n-арною, а функцію, визначену на класі квазіарних даних, – квазіарною.
Спеціальними класами таких функцій є предикати та ординарні функції. Предикат p: M n → Bool називають n-арним преди катом, а предикат q: VM → Bool – квазіарнимпредикатом. Функцію f: M n→ M називають n-арною ординарною функцією, а функцію g: VM → M – квазіарною ординарною функцією. Термін
ординарний часто пропускатимемо.
Розглянемо предикат над цілими числами, який задається виразом
якщо х > y та z > t, то х + z > y + t.
Із яких предикатів і функцій побудовано цей предикат? Бачимо, що тут фігурують бінарний предикат > та бінарна функція +. Однак якого типу є функції х+z та y+t ? Оскільки функції визначені над станами змінних, то вони є квазіарними. Ці квазіарні функції отримано підстановкою (суперпозицією) квазіарних функцій розіменування (узяття значення) змінних у бінарну функцію +. Функції розіменування позначатимемо ′х, ′y, ′z, ′t. Наприклад, на стані
[х |
17, y |
11, z 3] |
значення змінних ′х, ′y, ′z дорівнюють відповідно 17, 11, 3, значення змінної ′t не визначено. Позначатимемо це таким чином:
′х ([х |
17, y |
11, z |
3]) ↓ = 17, |
′y([х |
17, y |
11, z |
3]) ↓ = 11, |
|
|
223 |
|
′z([х |
17, y |
11, z 3 ]) ↓ = 3, |
′t([х |
17, y |
11, z 3])↑. |
Тут символ ↓ означає, що значення функції визначено, а сим-
вол ↑ – що воно не визначено.
Позначаючи підстановку квазіарних предикатів (функцій) у n- арний предикат як SPn , отримуємо, що предикат х > y подають як SP2 (>,′x,′ y). Відповідно подають також інші предикати. Тут SPn − операціянадквазіарнимипредикатами. Їїзадаютьформулою
SP2 ( p, g1,..., gn )(d) = p(g1 (d),..., gn (d)),
де p – n-арний предикат, g1,…,gn – квазіарні ординарні функції, d – номінативне дане.
Яким чином побудовано предикат, що заданий виразом
якщо х > y та y > z, то х > z?
Очевидно, що його побудовано із квазіарних предикатів
SP2 (>,′x,′ y), SP2 (>,′ y,′z) та SP2 (>,′x,′z)
за допомогою спеціальної операції над предикатами, яку називають імплікацією й позначають символом →. Операції подібного типу називатимемо композиціями предикатів, а відповідне подання предиката – композиційною формулою (інколи вживають також назви композиційний терм, операторний терм, семантич нийтерм). Остаточно отримуємо таку композиційну формулу:
SP2 (>,'x,'y) & SP2 (>,'y,'z) → SP2 (>,'x,'z).
Приклад 6.1.
1. Обчислити предикат
SP2 (>,'x,'y) & SP2 (>,'y,'z) → SP2 (>,'x,'z).
на номінативному даному d = [х 17, y 11, z 3 ].
Спираючись на означення композицій суперпозиції, обчислюємо спочатку
SP2 (>,'x,'z)(d) = >('x(d),'z(d)) = >(17,3) =1.
За означенням композиції імплікації отримуємо, що
SP2 (>,'x,'z) & SP2 (>,'y,'z)→ SP2 (>,'x,'z)(d ) =1.
2. Обчислити вказаний предикат на номінативному даному d = [х 1, y 11, z 3].
224
Спочатку обчислюємо
SP2 (>,'x,'z)(d) = > ('x(d),'z(d)) = > (1,3) = 0.
Оскільки консеквент хибний, то обчислюємо антицедент. Для цього обчислюємо значення
SP2 (>,'x,'y)(d) = > ('x(d),'y(d)) = > (1,11) = 0,
SP2 (>,'y,'z)(d) = > ('y(d),'z(d)) = > (11,3) =1.
Звідси
SP2 (>,'x,'y) & SP2 (' >,'y,'z)(d ) = 0,
(SP2 (>,'x,'y) & SP2 (' >,'y,'z) → SP2 (>,'x,'z))(d ) =1.◄
Для функцій вводимо композицію суперпозиції квазіарних ординарних функцій у n-арну функцію:
SFn ( f , g1,..., gn )(d ) = f (g1 (d),..., gn (d)),
де f – n-арна функція, g1,…, gn – квазіарні ординарні функції, d – номінативне дане.
Приклад 6.2. Написати композиційну формулу для предиката, що поданий виразом
якщо х > y та z > t, то х + z > y + t,
та обчислити його значення на номінативному даному d = [х 17, y 11, z 5, t 3].
Указаний вираз можна задати композиційною формулою
SP2 (>,'x,'y) & SP2 (' >,'y,'z) → SP2 (>, SF2 (+,'x,'z),SF2 (+,'y,'t).
Обчислюємо
SP2 (>, SF2 (+,'x,'z),SF2 (+,'y,'t)(d) = > (SF2 (+,'x,'z)(d),SF2 (+,'y,'t)(d)) =
=> (+ ('x(d),'z(d)),+ ( y(d))) = > (+(17,5),+ (11,3) => (22,14)) =1.
Це означає, що
SP2 (>,'x,'y) & SP2 (' >,'y,'z) → SP2 (>, SF2 (+,'x,'z),SF2 (+,'y,'t))(d) = 1. ◄
Підсумовуючи розглянуті приклади, доходимо висновку, що семантика логіки предикатів спирається на дві алгебри (алгебричні системи): алгебру предметних значень із n-арними операціями та алгебру квазіарних предикатів і функцій з композиціями як операцій.
225
Композиції поділяємо на два класи, які буде означено в наступних параграфах: пропозиційні композиції і композиції квантифікації.
Завдання для самостійної роботи
1. Побудувати композиційні формули для предикатів:
якщо х = y та y = z, то х= z; якщо х > y та z > t, то х × z > y × t.
2. Обчислити значення предикатів, отриманих у попередньому завданні, на таких номінативних даних:
d = [х |
17, y |
11, z |
5, t |
3]; |
|
d = [х |
12, y |
11, z |
55, t |
33, v |
13]. |
6.2. Пропозиційні композиції
Пропозиційний рівень розгляду характеризується тим, що тут ми не проникаємо до внутрішньої структури об'єктів дослідження. Hа цьому рівні предикати розглядають як функції вигляду p : A →{1, 0},
де A − абстрактна множина, тобто її елементи неструктуровані. Предикат p на множині А назвемо істинним, якщо p(d) = 1
для всіх d A.
Для довільних предикатів p, q : A →{1, 0} пишемо p Ö q, якщо з умови p(d) = 1 випливає q(d) = 1 для довільних d А.
На пропозиційному рівні засобом утворення складніших висловлень чи предикатів із простіших є логiчнi операцiї (композиції), які не враховують структурованості даних − пропозицій ні композиції, або логічні зв'язки. Зазначимо, що на відміну від булевих операцій, які означають на множині булевих значень, тут логічні зв'язки тлумачать як операції над предикатами. Тому ці операції задаємо не таблицями істинності, а значеннями предикатів на довільному d А.
Основними логiчними зв'язками є диз'юнкцiя , кон'юнкцiя
&, iмплiкацiя →, заперечення ¬ та еквiваленцiя ~.
226