

Other example :
%:- use_module(library(clpfd))
.
%If you have version < v9.1
%Workaround
weighted_maximum(Weights, Vars, Max)
:- scalar_product(Weights, Vars, #=, Sum)
, Max #= Sum.
A in 0..1, B in 0..1, C in 0..1, A #\= B, A #= C, weighted_maximum([1,2,1], [A,B,C], Maximum)
, labeling([], [A,B,C,Maximum])
.
A = C, C = 0, B = 1, Maximum = 2 ;
A = C, C = 1, B = 0, Maximum = 2.