git-subtree-dir: software/minizinc git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
32 lines
1.5 KiB
MiniZinc
32 lines
1.5 KiB
MiniZinc
include "fzn_strictly_decreasing_int.mzn";
|
|
include "fzn_strictly_decreasing_int_opt.mzn";
|
|
include "fzn_strictly_decreasing_int_reif.mzn";
|
|
include "fzn_strictly_decreasing_bool.mzn";
|
|
include "fzn_strictly_decreasing_bool_reif.mzn";
|
|
include "analyse_all_different.mzn";
|
|
|
|
%-----------------------------------------------------------------------------%
|
|
% Requires that the array 'x' is in strict decreasing order
|
|
%-----------------------------------------------------------------------------%
|
|
|
|
/** @group globals.sort Requires that the array \a x is in a stricly decreasing order (duplicates are *not* allowed). */
|
|
predicate strictly_decreasing(array[$X] of var bool: x) =
|
|
analyse_all_different(array1d(x)) /\
|
|
fzn_strictly_decreasing_bool(array1d(x));
|
|
|
|
predicate strictly_decreasing_reif(array[$X] of var bool: x, var bool: b) =
|
|
fzn_strictly_decreasing_bool_reif(array1d(x),b);
|
|
|
|
/** @group globals.sort Requires that the array \a x is in a stricly decreasing order (duplicates are *not* allowed). */
|
|
predicate strictly_decreasing(array[$X] of var int: x) =
|
|
analyse_all_different(array1d(x)) /\
|
|
fzn_strictly_decreasing_int(array1d(x));
|
|
|
|
/** @group globals.sort Requires that the array \a x is in a stricly decreasing order (duplicates are *not* allowed). */
|
|
predicate strictly_decreasing(array[$X] of var opt int: x) =
|
|
analyse_all_different(array1d(x)) /\
|
|
fzn_strictly_decreasing_int_opt(array1d(x));
|
|
|
|
predicate strictly_decreasing_reif(array[$X] of var int: x, var bool: b) =
|
|
fzn_strictly_decreasing_int_reif(array1d(x),b);
|