如何制作bagof只提供一种解决方案?

时间:2017-03-29 14:30:14

标签: prolog

我有以下谓词:

color(ball,red).
color(ball,green).
color(book,red).
color(cube,green).
color(cup,red).
color(cube,yellow).
color(ball,yellow).
color(cube,pink).

我必须创建一个谓词,我必须使用bagof来创建一个列表,其中包含颜色为@<的所有对象,而不是给定的原子。类似于:solve(+At, -L)

我尝试了solve(At, L) :- bagof(X, (C^color(X, C), C @< At), L).,但会有多个解决方案。

感谢任何帮助!

0 个答案:

没有答案