使用findall / 3和动态目标?

时间:2019-04-15 15:57:43

标签: prolog findall clpfd

findall(+ Template,:Goal,-Bag)收集第一个成功结果并将其放入Bag之后,是否有任何方法可以立即更改目标,例如我们的新目标取决于我们刚刚找到的结果?例如,下面的查询返回LIST = [1,2,3,4,5]。由于新的最小值为1,我们如何强制它返回LIST = [1]?

:-use_module(library(clpfd)).

num(X):-
    X in 1..5,
    indomain(X).


?- MIN is 10, findall(X,(num(X),X<MIN),LIST).

0 个答案:

没有答案