СИМВОЛЬНІ ОБЧИСЛЕННЯ В SWI-PROLOG

Особливістю транслятора SWI-Prolog є можливість привласнювати Змінна не значення, а вираження. Як відомо, основу машини виведення мови Prolog в логіці першого порядку становить уніфікація змінних, причому розрізняється порівняння змінних за значеннями, за структурою і по еквівалентності. Даний механізм дозволяє реалізувати, зокрема, прямий логічний метод математичних доказів на основі аксіом і продукційних правил, які задають можливі перетворення формул. На відміну від інших мов програмування і інших діалектів мови Prolog в мові SWI-Prolog можливе присвоєння змінна не результату математичного виразу, а власне вираження. Наприклад, якщо задати мета

? - X = 2, Y = 2, Z = X + Y,

то буде повернутий результат Z = 2 + 2, а не Z = 4. Щоб отримати результат арифметичного виразу, слід писати Z is X + Y. Якщо ж вказати мету

? - X = a, Y = b, Z = X + Y,

то отримаємо Z = а + Ь.

Таким чином, SWI-Prolog має можливості символьних обчислень, які можна використовувати для автоматичного доведення теорем.

 
Переглянути оригінал
< Попер   ЗМІСТ   ОРИГІНАЛ   Наст >