logo
TurboProlog / Документация / TOM_1

Правила: То что вы можете получить из заданных фактов

Правила позволяют вам вывести один факт из других фактов. Другими

словами можно сказать, что правило - это заключение, для которого извест-

но, что оно истинно, если одно или несколько других найденных заключений

или фактов являются истинными. Ниже представлены правила, соответствующие

связи "likes":

Cindy likes everything that Bill likes. ("Санди любит все, что любит

Бил".)

Caitlin likes everything that is green. ("Кейтлин любит все

зеленое".)

Используя эти правила, вы можете из предыдущих фактов найти некото-

рые вещи, которые любят Санди и Кейтлин:

Cindy likes Cindy. (Санди любит Санди.)

Caitlin likes Kermit. (Кейтлин нравится кемит.)

Для задания этих же правил в Прологе вам нужно незначительно изме-

нить синтаксис:

likes (cindy, Something) if likes (bill, Something).

likes (caitlin, Something) if green (Something).

Кроме того, вы можете думать о правиле как о процедуре. Другими сло-

вами, правила:

likes (cindy, Something) if likes (bill, Something).

likes (caitlin, Something) if green (Something).

могут означать следующее: "Для того, чтобы доказать, что Санди любит

что-то, нужно доказать, что это же самое любит Бил." и "Для того, чтобы

доказать, что Кейтлин что-то любит, необходимо доказать, что это "что-то"

- зеленое.". С такой "процедурной" точки зрения правила могут "попросить"

Пролог выполнить действия, отличные от доказательств - например, вывод на

экран.