(По предложению @repeat ) Рассмотрим запрос чистой программы 1 ?- G_0. Какой смысл в этом запросе ?- G_0, G_0.?
Сноски
1 Таблицы отсутствуют (для безопасности), ограничения в порядке.
Предыдущий пост на эту тему.
?- G_0(State), G_0(State).Также в стеке не передается состояние от результата первой цели до второй цели?
G_0может быть любая (чистая) цель, в том числе, скажемG_0 = append(Xs,Ys,Zs)
G_0;G_0Можно проверить побочные эффекты или проблемы с производительностью / кэшированием / табулированием)
G_0(State),G_0(State)одного, скорее пишетcall(G_1,State), call(G_1,State)