git-subtree-dir: software/minizinc git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
34 lines
1.0 KiB
MiniZinc
34 lines
1.0 KiB
MiniZinc
include "lex_chain_lesseq_bool.mzn";
|
|
include "lex_chain_lesseq_int.mzn";
|
|
|
|
/** @group globals.lexicographic
|
|
Requires that the columns of matrix \a a are lexicographically sorted,
|
|
non-decreasing.
|
|
*/
|
|
predicate lex_chain_lesseq(array[int, int] of var bool: a) =
|
|
if 1>=card(index_set_2of2(a)) then true
|
|
else lex_chain_lesseq_bool(a) endif;
|
|
|
|
/** @group globals.lexicographic
|
|
Requires that the columns of matrix \a a are lexicographically sorted,
|
|
non-decreasing.
|
|
*/
|
|
predicate lex_chain_lesseq(array[int, int] of var int: a) =
|
|
if 1>=card(index_set_2of2(a)) then true
|
|
else lex_chain_lesseq_int(a) endif;
|
|
|
|
/** @group globals.lexicographic
|
|
Requires that the columns of matrix \a a are lexicographically sorted,
|
|
non-decreasing.
|
|
*/
|
|
predicate lex_chain(array[int, int] of var bool: a) =
|
|
lex_chain_lesseq(a);
|
|
|
|
/** @group globals.lexicographic
|
|
Requires that the columns of matrix \a a are lexicographically sorted,
|
|
non-decreasing.
|
|
*/
|
|
predicate lex_chain(array[int, int] of var int: a) =
|
|
lex_chain_lesseq(a);
|
|
|