4.2.2.14. Deprecated constraints

In this section: at_least, at_most, exactly, global_cardinality_low_up, global_cardinality_low_up_closed.

at_least

predicate at_least(int: n, array [$X] of var $$E: x, $$E: v)

Requires at least n variables in x to take the value v.

This constraint is deprecated. Use count(i in x)(i=v) >= n instead.

at_most

predicate at_most(int: n, array [$X] of var $$E: x, $$E: v)

Requires at most n variables in x to take the value v.

This constraint is deprecated. Use count(i in x)(i=v) <= n instead.

exactly

predicate exactly(int: n, array [$X] of var $$E: x, $$E: v)

Requires exactly n variables in x to take the value v.

This constraint is deprecated. Use count(i in x)(i=v) = n instead.

global_cardinality_low_up

predicate global_cardinality_low_up(array [$X] of var int: x,
                                    array [$Y] of int: cover,
                                    array [$Y] of int: lbound,
                                    array [$Y] of int: ubound)

Requires that for all i, the value cover[i] appears at least lbound[i] and at most ubound[i] times in the array x.

This constraint is deprecated. Use global_cardinality(x, cover, lbound, ubound) instead.

global_cardinality_low_up_closed

predicate global_cardinality_low_up_closed(array [$X] of var int: x,
                                           array [$Y] of int: cover,
                                           array [$Y] of int: lbound,
                                           array [$Y] of int: ubound)

Requires that for all i, the value cover[i] appears at least lbound[i] and at most ubound[i] times in the array x.

The elements of x must take their values from cover.

This constraint is deprecated. Use global_cardinality_closed(x, cover, lbound, ubound) instead.