Изучение темы можно начать с упоминания (знакомства) и приведения соответствующей таблицы логической операции И, которая в учебнике [34] трактуется как одновременная истинность нескольких высказываний. При организации запросов к базе данных на Прологе соответственно можно проверить присутствие или отсутствие нескольких фактов одновременно. Такой запрос получил название составного запроса. При работе с конкретной базой данных от составного запроса можно перейти к такому важному понятию, как правило. Например, пусть имеется база данных:
летает(самолет).
летает(лебедь).
летает(воробей).
имеет_перья(лебедь).
имеет_перья(воробей).
Используя переменную, можно задать такой вопрос: «Кто (что) летает и имеет перья?» На Прологе это будет составной запрос:
?- летает(X),имеет_перья(X).
С другой стороны, объект, обладающий таким свойством, называется птицей. Поэтому можно сформулировать утверждение, обладающее большей общностью, чем один факт, а именно правило:
птица(X):- летает(X),имеет_перья(X).
Добавление этого правила к базе данных позволит задавать не составные, а простые вопросы, типа «Птица ли самолет?» или «Кто является птицей?».
Умение записывать правила на Прологе является одним из фундаментальных. При его отработке рекомендуется первоначально правило, записанное на Прологе, перевести на естественный язык, а затем с естественного языка на Пролог. Упражняясь в записи правил с естественного языка, необходимо научиться определять имя предиката, количество и назначение его аргументов.
Базы знаний, состоящие из фактов и правил, позволяют рассмотреть более широкий класс задач. При их решении следует обратить внимание на формулировки, где в определениях правил в качестве союза и нередко встречаются синонимы: однако, но. В некоторых случаях при составлении правил может появиться необходимость воспользоваться логической операцией НЕ (отрицание). Поэтому следует описать и показать на примерах работу соответствующего встроенного предиката.
Тема «Термы Пролога (данные): константы, переменные, составные термы (структуры). Работа Пролога: сопоставление, поиск в базе знаний, механизм возврата. Управление работой Пролога.