Замена SICStus Prolog weighted_maximum / 3?

#prolog #sat #clpb

#пролог #сидел #clpb

Вопрос:

SWI-Prolog CLP(B) имеет предикат weighted_maximum / 2. Какой будет замена для этого в SICStus Prolog CLP (B)? Вот пример того, что он делает:

 ?- sat(A#B), weighted_maximum([1,2,1], [A,B,C], Maximum).
A = 0,
B = C, C = 1,
Maximum = 3.
 

У меня пока нет предложений. Нужно ли мне возвращаться к SICStus CLP (FD) для псевдобулевого ограничения внутри weighted_maximum / 3? Будет ли это вообще работать?