Глава 6.Предложения классов









Логические правила («предложения») состоят из заголовка и последовательности (возможно, пустой) подцелей. Предложения, в составе которых нет подцелей, называются «фактами».

предложение = атом [ ":-" конъюнкция ] "."
конъюнкция = [ конъюнкция ",'' ] подцель

В предложении могут использоваться переменные и атрибуты. Область действия переменных ограничена пределами предложения. В составе предложения не допускается однократное использование переменных, отличных от «_».

Предложения, в которых используются метапеременные, называются метапредложениями.

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

предложения = { предложение }

Предложения, не являющиеся метапредложениями, должны принадлежать одной группе («процедуре»), если совпадают имена и арность предикатных символов заголовков этих предложений. Процедуры, в свою очередь, также должны быть сгруппированы в соответствии с именами предикатных символов заголовков входящих в них предложений.

Считается, что метапредложения не входят в состав каких-либо процедур, однако такие метапредложения, в заголовке которых присутствует предикатный символ, и в качестве этого предикатного символа задан символ, должны быть сгруппированы с предложениями с таким же именем предикатного символа заголовков.

Примечание. Предложения, в заголовке которых задано объявление функции, группируются по общим правилам, вместе с другими предложениями класса. При этом арность предикатных символов заголовков этих предложений определяется без учёта терма или выражения, возвращаемого функцией.



Содержание