Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 yap。假设我有这种情况:
p(x,y) :- q(x), f(x,y), g(x)。
我需要使用命令listing(p)将谓词的主体放在一个列表中。
预期输出应为:[q,f,g]。
我怎么能这样做?
带有服务谓词
enum_conj((A, B),X) :- !, (enum_conj(A, X) ; enum_conj(B, X)). enum_conj(X, X).
我们可以做的
?- clause(p(_, _), P), setof(F, J^A^(enum_conj(P, J), functor(J, F, A)), L). L = [f,g,q], P = (q(x),f(x,y),g(x))
使用的所有内置函数都是 ISO 标准