include "count_fn.mzn";

predicate fzn_count_geq_reif(array[int] of var int: x, var int: y, var int: c, var bool: b) =
  let { var int: z = count(x,y) } in b <-> z <= c;
  % This needs to be written with a let rather than count(x,y) <= c
  % so that the automatic rewriting of the latter doesn't kick in

%-----------------------------------------------------------------------------%
