this repo has no description
1% RUNS ON mzn20_fd 2% RUNS ON mzn-fzn_fd 3 4% This caused mzn2fzn (r9627 and before) to abort. 5 6 7% NOTE: we cannot run this on LazyFD because it the redefinition of 8% array_var_bool_element below will conflict with the LazyFD backend's 9% redefinitions file. We run this only with the std fd variant since 10% we know that does not use any redefinitions. 11 12array[1..6,1..6] of bool: linked; 13array[1..13,1..3] of var 1..6: pos; 14 15constraint 16 forall(t in 1..3, x in 2..13)(linked[pos[x,t],pos[x-1,t]]); 17 18solve satisfy; 19 20linked = [| true, true, false, false, false, false 21 | true, true, true, false, false, false 22 | false, true, true, true, false, true 23 | false, false, true, true, true, false 24 | false, false, false, true, true, false 25 | false, false, true, false, false, true |]; 26 27% From g12/zinc/lib/minizinc/g12_lazyfd/redefinitions.mzn: 28% 29predicate array_var_bool_element(var int : idx, array[int] of var bool : arr, 30 var bool : v) = 31 let { int : N = length(arr), 32 array[1..N] of var bool : tmp = [idx = I | I in 1..N] 33 } 34 in 35 exists(I in 1..N)(tmp[I]) 36 /\ forall(I in 1..N) (tmp[I] -> v = arr[I]); 37 38output ["pos = ", show(pos), ";\n"];