Пролог-автомат (pa) в поисковом движке FAIND: утверждения

Одной из многих непривычных для C/C++ и SQL программистов особенностью Пролога (по крайней мере его классических реализаций) является то, что и сама программа (алгоритм), и обрабатываемые данные являются совершенно однородными объектами, так что программа может легко генерировать новые участки себя самой или удалять какие-то блоки. Для сравнения можете обратиться к разделу о метапрограммировании на языке C/C++.

Итак, программа на Прологе есть совокупность утверждений. Иногда утверждение называется предложением (clause). Основная операция Пролога - доказательство целей, входящих в утверждения.

Существуют два типа утверждений:

    факт: это одиночная цель, которая, безусловно, истинна (то есть это аксиома);

    правило: состоит из одной головной цели и одной или более хвостовых целей, которые истинны при некоторых условиях.

Примеры фактов:

собака(рекc).
родитель(голди, рекс).

Примеры правил:

собака (X) :- родитель (X,Y),собака (Y).
человек(Х) :-мужчина(Х).

Разница между правилами и фактами чисто семантическая.

  © Mental Computing 2010