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.
