Debugging
Вбудований предикат debugging дозволяє побачити, які контрольні точки встановлені на даний момент. В якості подібного ефекту виконання цільового твердження debugging друкується список усіх контрольних точок.
Nodebug
Цільове затвердження nodebug викликає усунення усіх контрольних точок, встановлених на даний момент.
Nospy
Подібно до spy, nospy є префіксним оператором. Предикат nospy є більше селективним, ніж nodebug, оскільки ви можете точно вказати, які контрольні точки мають бути видалені. Це досягається шляхом вказівки аргументу, що задається в точності в такій же формі, як і для предиката spy.
53.Короткий вступ в обчислення предикатів
Таким чином, логіка може бути використана для вираження висловлювань, стосунків між висловлюваннями і правил виводу одних висловлювань з інших.
У численні предикатів об'єкти представляються за допомогою термів. Існують терми трьох типів:
Константа. Це символ, що означає індивідуальний об'єкт або поняття. Константи можна розглядати як атоми мови.
Змінна. Це символ, що використовується в різний час для позначення різних індивідуальних об'єктів. X,Людина і Грек є змінними.
Складений терм. Складений терм складається з функціонального символу і впорядкованої множини термів, що є його аргументами. Ідея полягає в тому, що складений терм означає той або інший індивідуальний об'єкт, що залежить від інших індивідуальних об'єктів, представлених його аргументами.
Існує декілька способів побудови складніших висловлювань з простіших. Передусім, можна використати логічні зв'язки. У такий спосіб можна виразити поняття 'не', 'і', 'або', 'випливає' і 'є еквівалентним'. Далі приведений короткий опис цих зв'язок і значень, що вкладаються в них. Тут α і β використовуються для позначення довільних висловлювань (формул). У наступній таблиці наводиться традиційна форма запису висловлювань, що використовується в обчисленні предикатів, і форма запису, що використовується в цій темі.
Так, наприклад, конструкція
чоловік(саша) # жінка(саша)
могла б бути використана для представлення висловлювання про те, що Саша є чоловіком або Саша є жінкою. Конструкція
чоловік(іван) -> людина(іван)
могла б представляти висловлювання: з того, що Іван є чоловіком, випливає, що він є людиною (якщо Іван чоловік, то він — людина). Поняття імплікації і еквівалентності іноді при першому знайомстві з ними представляються дещо складними. Ми говоримо, що з α випливає β, якщо кожен раз, коли α істинне, то β також істинне. Ми говоримо, що α еквівалентне β, якщо α істинне в точності в тих же випадках, що і β. Насправді, ці поняття можуть бути означені через поняття 'і', 'або', 'не'.
А саме:
α->β означає те ж саме, що (~α)#β
α<->β означає те ж саме, що і (α&β) #(~α&~β)
α<->β також означає те ж саме, що і (α->β)&(β->α)
Досі нічого не було сказано про те, що означають змінні, що входять до складу висловлювання. Насправді, використання змінних має сенс лише у разі, коли вони вводяться за допомогою кванторів. Квантори дозволяють робити висловлювання про множину об'єктів і формулювати твердження, істинні для цих множин. У численні предикатів є два квантори. Якщо ν означає змінну, а ρ — це довільне висловлювання, то коротко значення кванторів можна виразити так:
Перший з кванторів називається квантором загальності, оскільки він вказує на усі об'єкти, що існуючі у всесвіті («для усіх ν,...»). Другий квантор називається квантором існування, оскільки він вказує на існування деякого об'єкту (або об’єктів) («існує ν такий що…»). Як приклад приведемо формулу
аll(Х, чоловік(Х) -> людина(Х))
яка означає, що яке б значення X ми не вибрали б, якщо X є чоловіком, то тоді X — людина. Цю формулу можна прочитати так: для будь-якого X, якщо X є чоловіком, то X є людиною. Чи в простішому формулюванні: кожен чоловік є людиною. Аналогічно
exists(Z, батько(іван, Z) & жінка(Z))
означає, що існує такий об'єкт Z, що Іван є батьком Z і Z — жінка. Цю формулу можна прочитати так: існує такий Z, що Іван є батьком Z і Z — жінка.
54.Приведення формул до стандартної форми
Формули числення предикатів, записані з використанням зв'язок, -> (імплікація) і <-> (еквівалентність) можуть бути переписані лише з використанням зв'язок & (кон'юнкція), # (диз'юнкція) і ~ (заперечення). Існують багато різних способів запису одного і того ж висловлювання. Процес приведення формули числення предикатів до стандартної форми складається з шести основних етапів.
Етап 1 — виключення імплікацій і еквівалентностей
Процедура розпочинається із заміни всіх входжень -> і <-> відповідно до їх визначень. Так, наприклад, формула
аll(Х, чоловік(Х) -> людина(Х))
буде перетворена у формулу
аll(Х,~чоловік(Х) # людина(Х))