Я пытаюсь понять точный порядок поиска Пролога. В моем сценарии университетского курса показаны следы , которые точно показывают, где находится «указатель» в данный момент. Пусть нашей базой данных будет следующее:
a(a, a, b).
a(a, a, c).
a(a, a, d).
a(a, a, e).
a(a, a, f).
Тогда вывод из Пролога должен выглядеть примерно так:
?- a(a, a, f).
a(a, a, b). fail
a(a, a, c). fail
a(a, a, d). fail
a(a, a, e). fail
a(a, a, f). succ
Здесь я могу точно видеть, где находится прологпоиск прямо сейчас и возможно ли объединение или нет. Это представление было бы очень полезно при попытке понять правила и рекурсию в Прологе.
Я пытался использовать trace / 0 , trace / 1 и debug / 0 . Но это просто показывает мне довольно запутанную и ненужную информацию IMO.
Есть ли в Прологе команда для просмотра того, что я упоминал выше? Спасибо!