我定义了一个目标 lowerpartition/3 如下:
lowerpartition(X,P,Z) :- var(Z),!,lowerpartition(X,P,[]).
lowerpartition([],_,_).
lowerpartition([X|Xs],P,Z) :- X=<P, lowerpartition(Xs,P,[X|Z]).
lowerpartition([X|Xs],P,Z) :- X>P, lowerpartition(Xs,P,Z).
当我打电话时
lowerpartition([1,2,3,4,5],3,X).
我希望 X 绑定到列表 [3,2,1],但 Prolog 只返回 false。我做错了什么?