1
0
This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
on-restart-benchmarks/software/mza/share/minizinc/std/fzn_diffn_nonstrict_reif.mzn

11 lines
483 B
MiniZinc

predicate fzn_diffn_nonstrict_reif(array[int] of var int: x,
array[int] of var int: y,
array[int] of var int: dx,
array[int] of var int: dy,
var bool: b) =
b <-> forall(i,j in index_set(x) where i < j)(
dx[i] = 0 \/ dx[j] = 0 \/ dy[i]=0 \/ dy[j]=0 \/
x[i] + dx[i] <= x[j] \/ y[i] + dy[i] <= y[j] \/
x[j] + dx[j] <= x[i] \/ y[j] + dy[j] <= y[i]
);