%-----------------------------------------------------------------------------% % Requires that for all 'i', the value 'cover[i]' appears at least 'lbound[i]' % and at most 'ubound[i]' times in the array 'x'. %-----------------------------------------------------------------------------% predicate global_cardinality_low_up(array[int] of var int: x, array[int] of int: cover, array[int] of int: lbound, array[int] of int: ubound) = g12fd_global_cardinality_open(x, cover, lbound, ubound); %-----------------------------------------------------------------------------% % The implementation in the G12/FD solver. This should not be called directly; % instead the definition above should be used. predicate g12fd_global_cardinality_open(array[int] of var int: x, array[int] of int: cover, array[int] of int: lbound, array[int] of int: ubound); %-----------------------------------------------------------------------------% %-----------------------------------------------------------------------------%