Глава 6.Предложения классов
Логические правила («предложения») состоят из заголовка и
последовательности (возможно, пустой) подцелей. Предложения,
в составе которых нет подцелей, называются «фактами».
предложение = атом [ ":-" конъюнкция ] "."
конъюнкция = [ конъюнкция ",'' ] подцель
В предложении могут использоваться переменные и атрибуты.
Область действия переменных ограничена пределами предложения.
В составе предложения не допускается однократное использование
переменных, отличных от «_».
Предложения, в которых используются метапеременные,
называются метапредложениями.
Предложения каждого класса группируются в соответствии с их заголовками.
предложения = { предложение }
Предложения, не являющиеся метапредложениями, должны принадлежать
одной группе («процедуре»), если совпадают имена и арность
предикатных символов заголовков этих предложений. Процедуры,
в свою очередь, также должны быть сгруппированы в соответствии
с именами предикатных символов заголовков входящих в них предложений.
Считается, что метапредложения не входят в состав каких-либо
процедур, однако такие метапредложения, в заголовке которых присутствует
предикатный символ, и в качестве этого предикатного символа задан символ,
должны быть сгруппированы с предложениями с таким же именем предикатного
символа заголовков.
Примечание. Предложения, в заголовке которых задано объявление
функции, группируются по общим правилам, вместе с другими предложениями класса.
При этом арность предикатных символов заголовков этих предложений определяется
без учёта терма или выражения, возвращаемого функцией.
Содержание