Example using the constraint handler for Booleans in file bool.chr: [eclipse]: chr_resolve(X). instantiation fault in is_predicate(_g671 / _g639) [eclipse]: chr_resolve(and(X,Y)). out of range in chr_resolve(and(X,Y)) [eclipse]: chr_resolve(and(X,Y,Z)). X = 0 Y = Y Z = 0 More? (;) X = 1 Y = Z Z = Z yes. [eclipse]: chr_resolve(and(a,b,c)). no (more) solution. The predicate chr_labeling/0 can be defined as: labeling :- chr_get_constraint(C), chr_label_with(C), !, chr_resolve(C), labeling. labeling.