this repo has no description
1include "lex_less.mzn";
2
3predicate fzn_strict_lex2(array[int, int] of var int: x) =
4 let {
5 int: lbx1 = min(index_set_1of2(x)),
6 int: ubx1 = max(index_set_1of2(x)),
7 int: lbx2 = min(index_set_2of2(x)),
8 int: ubx2 = max(index_set_2of2(x))
9 } in (
10 forall(i in lbx1 + 1 .. ubx1) (
11 lex_less([x[i - 1, j] | j in index_set_2of2(x)],
12 [x[i, j] | j in index_set_2of2(x)]
13 )
14 )
15 /\
16
17 forall(j in lbx2 + 1 .. ubx2) (
18 lex_less([x[i, j - 1] | i in index_set_1of2(x)],
19 [x[i, j ] | i in index_set_1of2(x)]
20 )
21 )
22 );