1predicate fzn_distribute_reif(array[int] of var int: card, 2 array[int] of var int: value, 3 array[int] of var int: base, 4 var bool: b) = 5 b <-> forall (i in index_set(card)) ( 6 card[i] == sum(j in index_set(base)) ( 7 bool2int(value[i] = base[j]) 8 ) 9 );