- •Алфавит языка
- •Лексика
- •Лексемы
- •Переменные
- •Символы и ключевые слова
- •Числовые литералы
- •Сегменты строк
- •Ограничители
- •Комментарии
- •Определение данных
- •Простые термы
- •Составные термы
- •Структуры
- •Списки
- •Недоопределённые множества
- •Унификация термов
- •Структура программы
- •Классы
- •Атрибуты классов
- •Инициализаторы слотов
- •Конструкторы
- •Проект
- •Пакеты
- •Трансляция исходных файлов
- •Структура пространства поиска
- •Экземпляры классов
- •Процессы
- •Состояния процесса
- •Порты процессов
- •Резиденты
- •Построение пространства поиска
- •Исполнение конструкторов
- •Построение слотов
- •Предложения классов
- •Атомарные формулы
- •Простые атомы
- •Бинарные отношения
- •Объявления функций
- •Подцели предложений
- •Вызовы функций
- •Выражения
- •Стратегия управления
- •Исполнение вызова предиката
- •Исполнение предложения
- •Механизм задержки исполнения
- •Откат программы
- •Акторы и повторные доказательства
- •Акторы
- •Общие переменные
- •Построение общих переменных
- •Согласование акторов процесса
- •Сопоставление локальных значений
- •Исполнение повторных доказательств
- •Согласование процессов
- •Классификация сообщений
- •Прямые сообщения
- •Потоковые сообщения
- •Исключительные ситуации
- •Встроенные предикаты и операторы
- •Корректное разрушающее присваивание
- •Актуализация производных значений
- •Сводка синтаксиса
- •Свойства, зависящие от реализации
- •Термины и определения
- •Список понятий языка
Глава 6
Предложения классов
Логические правила («предложения») состоят из заголовка и последовательности (возможно, пустой) подцелей. Предложения, в составе которых нет подцелей, называются «фактами».
предложение = атом [ “:–” конъюнкция ] “.” конъюнкция = [ конъюнкция “,” ] подцель
В предложении могут использоваться переменные и атрибуты. Область действия переменных ограничена пределами предложения. В составе предложения не допускается однократное использование переменных, отличных от « ».
Предложения, в которых используются метапеременные, называются метапредложениями.
Предложения каждого класса группируются в соответствии с их заголовками.
предложения = { предложение }
Предложения, не являющиеся метапредложениями, должны принадлежать одной группе («процедуре»), если совпадают имена и арность предикатных символов заголовков этих предложений. Процедуры, в свою очередь, также должны быть сгруппированы в соответствии с именами предикатных символов заголовков входящих в них предложений.
Считается, что метапредложения не входят в состав каких-либо процедур, однако такие метапредложения, в заголовке которых присутствует предикатный символ, и в качестве этого предикатного символа задан символ, должны быть сгруппированы с предложениями с таким же именем предикатного символа заголовков.
53