我正在使用swi-prolog中的CLPFD库进行一些玩具测试.
有谁知道为什么下面的程序不起作用?
start(X,Y):-
Vars = [X,Y],
Vars ins 1..3,
abs(X-Y) #>= 2,
X #>= Y,
nl,
write([X,Y]), nl.
Run Code Online (Sandbox Code Playgroud)
开始(X,Y)的预期答案是X = 3和Y = 1.但是,swi-prolog指出了我的答案.如果我更换,该程序正常工作
abs(X-Y) #>= 2
Run Code Online (Sandbox Code Playgroud)
通过
X-Y #>= 2
Run Code Online (Sandbox Code Playgroud)
我的问题是我是否以正确的方式使用abs运算符.