Получается, что Пат - сестра себе самой?!Наверное, когда мы определяли отношение сестра,мы не имели этого ввиду. Однако ответ Прологасовершенно логичен, поскольку онруководствовался нашим правилом, а это правилоничего не говорит о том, что, если X - сестра Y, то X иY не должны совпадать. Пролог (с полным правом)считает, что X и Y могут быть одним и тем жеобъектом и в качестве следствия из этого делаетвывод, что любая женщина, имеющая родителя,является сестрой самой себе.

Чтобы исправить наше правило о сестрах, егонужно дополнить утверждением, что X и Y должныразличаться. В следующих главах мы увидим, какэто можно сделать, в данный же момент мыпредположим, что отношение различны ужеизвестно пролог-системе и что цель

       различны( X, Y)

достигается тогда и только тогда, когда X и Y неравны. Усовершенствованное правило дляотношения сестра примет тогдаследующий вид:

       сестра( X, Y) :-

               родитель( Z, X),

               родители( Z, Y),

               женщина( X),

               различны( X, Y).

Некоторые важные моменты этого раздела:

Пролог-программы можно расширять, добавляя в них новые предложения.

Прологовские предложения бывают трех типов:

факты

,

правила

и

вопросы

.

Факты содержат утверждения, которые

являются всегда, безусловно верными.

Правила содержат утверждения, истинность которых зависит от некоторых условий.

С помощью вопросов пользователь может спрашивать систему о том, какие утверждения являются



28 из 538