假设我有一系列事实:
fact(a,1).
fact(b,10).
fact(c,100).
我希望能够使用此类规则:
rule(fact(A,10),fact(c,B)):-
write(A),
write(B).
答案 0 :(得分:1)
您使用事实谓词作为查询,例如
rule :-
fact(A,10),
fact(c,B),
write(A),
write(B).
补充:为了更直接地解释你的问题,你想做类似
的事情rule(P1,P2):-
call(P1), call(P2),
write(A),
write(B).
然后你需要以某种方式指定关系A-P1& B-P2,我认为不能以任何简单有用的方式完成。
所以也许你想要的是
rule(X,Y) :-
fact(A,X),
fact(Y,B),
write(A),
write(B).