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

Предикаты (связи)

Символическое имя связи называется именем предиката. Объекты, кото-

рые она связывает, - называются аргументами (в факте likes (bill, cindy).

предикатом является связь "likes", а аргументами - объекты "bill" и

"cindy".

Ниже показаны несколько примеров предикатов Пролога с использованием

аргументов и без них:

pred (integer, symbol)

person (last, first, gender)

run

insert_mode

birthday (firstName, lastName, date)

Как мы видим, предикаты могут вообще не иметь аргументов, однако ис-

пользование таких предикатов весьма ограничено. Для того, чтобы опреде-

лить имя Rosemont'a вы можете использовать запрос вида "person (rosemond,

Name, male)." Но что вы можете определить запросом без аргументов "run"?

Этим вы можете только узнать, есть ли предложениен "run" в программе или,

если "run" - заголовок правила, - вычислить это правило. В некоторых слу-

чаях это может быть очень удобно (например, вы можете захотеть сделать

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

предложения insert_mode (режим_вставки), однако, практически все предика-

ты Пролога имеют хотя бы один аргумент.