Попытка понять ошибку Пролога: creation_error - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь понять, что происходит с парой запросов Пролога. У меня есть следующие правила:

 similar(a,aa).   
 similar(aa,aaa).
 similar(X,X).
 similar(X,Y) :- similar(Y,X).
 similar(X,Y) :- similar(X,Z), similar(Z,Y).

Затем я попытаюсь выполнить базовый запрос:

 ?- similar(a,aaa).

Что приводит к следующей ошибке:

 uncaught exception: error(existence_error(procedure,similar/0),similar/0)

Мне кажется, что он вернет True, потому что будет выглядеть, как similar(a,aa) и similar(aa,aaa), таким образом удовлетворяя второму условию рога.

Что я делаю не так?

...