将查询扩展到prolog中的列表

时间:2009-09-18 16:02:56

标签: prolog

如何将查询扩展到列表中?

f(a,b).
f(a,c).
d(a.d).

expand(f(a,X), Out)  -----> Out=[b,c,d]

1 个答案:

答案 0 :(得分:4)

使用bagof / 3或setof / 3。 E.g:

? - bagof(X,(X = 1; X = 2),L)。

L = [1,2]

在你的情况下

? - bagof(X,f(a,X),Out)。