prolog SWI无法识别max谓词

prolog SWI无法识别max谓词,prolog,Prolog,当我查询max时,我得到以下错误 ?-max(2,3). ERROR: toplevel: Undefined procedure: max/2 (DWIM could not correct goal) 据我所知,max是一个库定义的谓词,应该按原样工作。 我参考了这个问题,我发现这个问题没有错。同样,min(2,3)。也不行 尽管其他功能(如成员、长度)运行良好。 有什么不对劲吗?这些不是谓词,它们是算术函数,需要这样计算。例如,您可以使用is/2: ?- A is max(2, 3),

当我查询max时,我得到以下错误

?-max(2,3).
ERROR: toplevel: Undefined procedure: max/2 (DWIM could not correct goal)
据我所知,max是一个库定义的谓词,应该按原样工作。 我参考了这个问题,我发现这个问题没有错。同样,min(2,3)。也不行

尽管其他功能(如成员、长度)运行良好。
有什么不对劲吗?

这些不是谓词,它们是算术函数,需要这样计算。例如,您可以使用
is/2

?- A is max(2, 3), B is min(2, 3).
A = 3,
B = 2.
或采用算术表达式的任何其他谓词/运算符:

?- min(2, 3) > max(1, 0).
true.