假设我有一个谓词 eval(A) 仅根据某些输入计算为真/假
现在的问题是,我想要另一个成功的谓词 and(List, R) 如果 List 为空/List 中每个元素的 eval 的合取为 R。其中R 只是 true/false。
因此,如果 List 有项目 [a, b, c],则返回 [eval(a) ^ eval(b) ^ eval(c)] == R
我的尝试:
and([], true).
and([H|T], R) :- eval(H), and(T, R).
and([H|T], R) :- eval(H) = R.
但我不知道如何正确地与 R 进行比较。