Мне интересно, как создать в Прологе предикат, который оценивается как "истинный", если одна из его целей доказуема.
У меня есть эта программа:
adjacent(place1, place2).
distance(X, Y, 1) :-
adjacent(X, Y) ; adjacent(Y, X).
Послеобращаясь к нему в Прологе, если я наберу:
> distance(place1, place2, 1)
Я получу этот вывод:
true;
false.
Мне интересно, есть ли способ сделать предикат расстояния, который просто возвращаетоднозначный ответ «истина», если любой из смежных (X, Y) или смежных (Y, X) доказуем.
Простите, если что-то в этом посте сбивает с толку, у меня нет лучшего пониманияПролог, но, надеюсь, этот вопрос понятен.Спасибо.