predicate fzn_disjunctive_opt_reif(array[int] of var opt int: s, array[int] of var int: d, var bool: b) = b <-> forall (i,j in index_set(d) where i