- 8 -
ФАКТ - это предикат не определяемый через другие предикаты
или самого себя.
Зададим несколько фактов на естественном языке, в "русифици-
рованной" версии Пролога и на Турбо-Прологе:
-----------------------------------------------------------------
Естеств.язык. ¦Русифицир.Турбо-Пролог¦Турбо-Пролог
---------------------+----------------------+--------------------
Сократ - человек. ¦человек(сократ). ¦man(socrat).
Ольга любит цветы. ¦любит(ольга,цветы). ¦likes(olga,flauers).
Петр дает Ивану книгу¦дает(петр,ивану,книгу)¦give(petr,ivan,book)
-----------------------------------------------------------------
Отметим ряд правил, которых нужно придерживаться, чтобы опи-
сывать факты без ошибок:
1. Имена всех объектов должны начинаться с маленькой буквы
(т.к. с большой буквы начинаются переменные).
2. На первом месте (в качестве функтора) записывается отно-
шение, а затем в скобках следует список имен объектов, вступающих
в данное отношение. Объекты разделяются запятыми.
3. В конце факта ставится точка.
ПРАВИЛО - это предикат определяемый через другие предикаты
или самого себя.
Рассмотрим правило на русском языке:
Х является сестрой У, если
Х является женщиной и
Х и У имеют общих родителей.
Как видим, правило - это некоторое общее утверждение об объ-
ектах и отношениях между ними. Так как правила должны обладать
общностью, в них обычно используются переменные (имена, начинаю-
щиеся с большой буквы). В Турбо-Прологе правило состоит из заго-
ловка и тела правила, разделяемых специальным символом.
Русифиц. Турбо-Пролог: Tурбо-Пролог:
является_сестрой(Х,У):- is_sister(X,Y) if
женщина(Х), woman(X) and
родители(X,F,M), parants(X,F,M) and
родители(У,F,M). parants(Y,F,M).
В правилах на Турбо-Прологе допускается использовать ':-'
вместо 'if' , ',' вместо 'and' и ';' вместо 'or'. Это сделано для
соответствия с другими версиями Пролога.