PROLOG и MBASE
8.5. PROLOG и MBASE
Ранее мы уже видели, что фразу, содержащую предположение, можно представить с помощью исчисления предикатов первого порядка. Фраза
"Если философ выиграет у кого-нибудь в забеге, то этот человек будет им восхищен" в формализме предикатов приобретет вид формулы
(любой A) (любой Y)(PHILOSOPHER(X)^BEATS(X, Y)
Эту формулу можно представить в конъюнктивной нормальной форме следующим образом:
{ADMIRE(Y, X), -ВЕАТS(Х, Y), ->PHILOSOPHER(X)}.
Также было показано, что если записать это выражение таким образом, чтобы слева от оператора ":-" стоял единственный позитивный литерал, а справа — негативные литералы, то получится выражение, представляющее фразу Хорна в синтаксисе языка логического программирования PROLOG:
admire (Y, X) :- philosopher ( X) , beats (X,Y).
Ниже мы рассмотрим, как организовать управление применением таких правил.
Содержание раздела