Основными понятиями в языке Пролог являются факты, правила и вопросы. Из фактов и правил образуются описания данных, процедур и программы на языке Пролог. Вопросы — это основное средство ведения диалога с базами знаний и программами, имеющимися в памяти ЭВМ.
Факты в Прологе служат для описания конкретных данных и простейших сведений. Примеры фактов:
мама (зина, вова); — Зина — мама Вовы
папа (миша, вова); — Миша — папа Вовы
Группы фактов могут образовывать данные. Совокупность данных, размещаемых на дисках, образуют базы данных. Общее определение данных в Прологе:
данные:
<факт>; [<факт>;…]
Правила используются для описания определений, процедур принятия решений и обработки данных. Примеры использования правил для описания определения понятия «родитель»:
родитель (х,у) ¬ папа (х,у); — Родитель — это папа или мама
родитель (х,у) ¬ мама (х,у);
Процедуры образуются из некоторых групп правил. Общая форма описания процедур в Прологе:
процедура:
[<факты>] <правило>; [<правило>; …]
Пример описания рекурсивной процедуры, в которой определяемое понятие задается через самое себя:
предок (х,у) ¬ родитель (х,у);
предок (x,z) ¬ родитель (х,у), предок (y,z);
Программа на Прологе — это совокупность процедур над определенными данными:
программа:
<процедуры>; [<данные>;]
Описания баз данных на Прологе образуют совокупность описаний данных:
база данных:
<данные>; [<данные>; … ]
Базы знаний на Прологе описываются наборами фактов и правил определения обобщенных понятий над ними:
база знаний:
<данные>; <правила>;
Вопросы в языке Пролог служат запросами к базам данных и знаний, а также обращениями к процедурам и программам. Примеры вопросов:
? мама (х,вова) ?
предок (х,вова)