predicate fzn_all_different_int(array [int] of var int: x); var 1..4: x1 :: output_var; var 1..4: x2 :: output_var; var 1..4: x3 :: output_var; var 1..4: x4 :: output_var; constraint fzn_all_different_int([x1, x2, x3, x4]); solve satisfy;