Развернуть запрос в список в прологе
Как развернуть запрос в список?
f(a,b).
f(a,c).
d(a.d).
expand(f(a,X), Out) -----> Out=[b,c,d]
1 ответ
Решение
Используйте bagof/3 или setof/3. Например:
? - bagof (X, (X = 1; X = 2), L).
L = [1,2]
да
В вашем случае это было бы
?- bagof(X, f(a,X), Out).