this repo has no description
at develop 949 B view raw
1predicate bool_clause_reif(array[int] of var bool: p, array[int] of var bool: n, bool: c) = 2 if c then 3 bool_clause(p, n) 4 else 5 forall([not x | x in p] ++ n) 6 endif; 7 8predicate bool_clause_reif(array[int] of var bool: p, array[int] of var bool: n, var bool: c) = 9 c = ( sum(i in index_set(p))( bool2int(p[i]) ) 10 - sum(i in index_set(n))( bool2int(n[i]) ) 11 + length(n) 12 >= 1 13 ); 14 15predicate array_int_minimum(var int: m, array[int] of var int: x) = 16 array_int_minimum_I( m, [ x[i] | i in index_set(x)]); 17predicate array_int_maximum(var int: m, array[int] of var int: x) = 18 array_int_minimum_I(-m, [-x[i] | i in index_set(x)]); 19predicate array_float_minimum(var float: m, array[int] of var float: x) = 20 array_float_minimum_I( m, [ x[i] | i in index_set(x)]); 21predicate array_float_maximum(var float: m, array[int] of var float: x) = 22 array_float_minimum_I(-m, [-x[i] | i in index_set(x)]); 23