Simple predicate for instantiating a list of integer IC variables to elements of their domains. (Integers are also allowed in the list; they are effectively ignored.) The variables are instantiated in the order in which they appear in the list; the implementation is essentially:
labeling([]).
labeling([Var|Rest]) :-
indomain(Var),
labeling(Rest).