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/symmetric_all_different.mzn

15 lines
541 B
MiniZinc

include "analyse_all_different.mzn";
include "fzn_symmetric_all_different.mzn";
include "fzn_symmetric_all_different_reif.mzn";
/** @group globals.alldifferent
Requires the array of integers \a x to be all different, and for all \p i,
\a x[\p i]=j \(\rightarrow\) \a x[\p j]=\p i.
*/
predicate symmetric_all_different(array[int] of var int:x) =
analyse_all_different(x) /\
fzn_symmetric_all_different(x);
predicate symmetric_all_different_reif(array[int] of var int:x, var bool: b) =
fzn_symmetric_all_different_reif(x,b);