ГОСТ Р ИСО 18629-11— 2010
ти. Отдельные переменные используются в квантификации по отдельным объектам. Переменные последова
тельностей используются в квантификации по последовательностям объектов.
Операторы используются для образования сложных выражений разных типов. В K1F имеется четыре типа
операторов — term operators (термовые операторы терминов), sentence operators (операторы предложений),
rule operators (операторы правил) и definition operators (операторы определений). Операторы терминов исполь
зуют для формирования сложных термов, операторы предложений — для формирования сложных предложе ний.
операторы правил — для формирования правил, операторы определений — для формирования опреде лений.
Константой является любое слово, не являющееся переменной величиной или оператором. В KIF имеются
четыре категории констант: object constants (константы объектов), function constants (константы функции), relation
constants (константы отношений) и logical constants (логические константы).
Константы объектов обозначают отдельные объекты, константы функций — функции для упомянутых объек
тов. константы отношений — отношения; логические константы выражают условия в отношении слов и являются
либо истинными, либо ложными.
Некоторые константы являются базовыми — их тип и смысловое значение фиксируются в определении KIF.
Все другие постоянные величины не являются базовыми — пользователь языка должен выбрать тип и смысло
вое значение. Все числа, символы и строки в KIF являются базовыми константами, характеристики остальных
базовых констант должны соответствовать приведенным в настоящем стандарте.
Формат об тлена знаниями является необычным логическим языком. Невозможно установить по орфогра
фии категорию небазовой константы (т. е. определить, является ли она объектом, функцией, отношением или
логической постоянной величиной). Пользователь должен сам выбрать категорию каждой небазовой константы.
Пользователь не должен пояснять константы. Однако категория константы устанавливает, как ев можно исполь
зовать для формирования выражений, и эта категория может быть установлена в зависимости от этого исполь
зования. Так как константу используют особым образом, ее категория становится фиксированной.
В языке имеются четыре специальных типа выражений: terms (термины), sentences (предложения), rules
(правила) и definitions (определения). Термины используют для обозначения обьектов в области, подлежащей
описанию, предложения — для выражения фактов этой области, правила — для выражения шагов логического
вывода, а определения — для определения постоянных величин. Формами являются предложения, правила и
определения.
Имеются следующие десять типов терминов в KIF: individual variables, object constants, function constants,
relation constants, functional terms, list terms, set terms, quotations, logical temrs и quantified terms (индивидуальные
переменные, объектные константы, функциональные константы, константы отношений, функциональные терми
ны, списочные термины, термины множества, цитаты, логические термины и количественные термины).
Ранее в настоящем стандарте были рассмотрены следующие отдельные константы, константы объектов,
константы функций и константы отношений:
<term> ::= <indvar> | <objconst> | <funconst> | <relconst> | <funterm> | <listterm> | <setterm> |
<quoterm> | <togterm> J<quanterm>
<lis»term> ::= (listof <term>* (<seqvar>J)
<setterm> ::= (setof <term>* [<seqvar>))
<funterm>(<funconst> <term>‘ (<seqvar>J)
<quolerm> ::= (quote <expression>)
<logterm> ::= (if <sentence> <term> [<term>]) | (oond (<sentence> <term>)... (<sentence> <term>))
<quanterm>(the <term> <sentence>) | (setofall <term> <sentence>) |
(kappa (<indvar>* [<seqvar>]) <sentence>*) | (lambda (<indvar>* [<seqvar>]) <term>)
Функциональный термин (functional term) состоит из константы функции и произвольного числа терминов
аргументов, ограниченных переменной необязательной последовательности. Синтаксического ограничения к
числу терминов аргументов нет — константа одной и той же функции может быть применена к разному числу
аргументов; ограничения арности в KIF обрабатываются семантически.
Списочный термин (list term) состоит из оператора списка (listof) и конечного списка терминов, завершен
ных необязательной переменной последовательностью.
Термин множество (set term) состоит из оператора множества (setof) и конечного списка терминов, завер
шенных необязательной переменной последовательностью.
Цитаты (заключенные в кавычки; quotations) включают в себя оператор кавычек и выражение произвольно
го списка. Вложенное выражение может иметь структуру произвольного списка; оно не нуждается в том, чтобы
быть формальным выражением в KIF.
Считывающее устройство LISP преобразует строки формы о в (о в кавычках).
Логические термины (logical terms) включают в себя операторы if и cond. Форма if предусматривает тестиро
вание единичного условия, а форма cond предусматривает тестирование последовательности условий.
Количественные термины (термины под знаком квантора; quantified terms) включают в себя операторы the,
setofall. kappa и lambda. Указатель (designator) состоит из оператора, термина и предложения. Термин, образую
щий множество (set-forming term), состоит из оператора setoff, термина и предложения. Термин, образующий
отношение (relation-forming term), состоит из буквы каппа, списка переменных и предложения. Термин, образую-
15