include "fzn_roots.mzn"; include "fzn_roots_reif.mzn"; /** @group globals Requires that \a x[\p i] in \a t for all \p i in \a s */ predicate roots(array[int] of var int: x, var set of int: s, var set of int: t) = assert(ub(s) subset index_set(x), "roots: upper bound of 's' must be a subset of the index set of 'x'", fzn_roots(x,s,t) );