4.2.3.5. FlatZinc builtins added in MiniZinc 2.0.0.

These functions and predicates define built-in operations of the MiniZinc language that have been added in MiniZinc 2.0.0. Solvers that support these natively need to include a file called redefinitions-2.0.mzn in their solver library that redefines these predicates as builtins.

In this section: array_float_maximum, array_float_minimum, array_int_maximum, array_int_minimum, bool_clause_reif.

array_float_maximum

predicate array_float_maximum(var float: m,
                              array [int] of var float: x)

Constrains m to be the maximum value in array x.

array_float_minimum

predicate array_float_minimum(var float: m,
                              array [int] of var float: x)

Constrains m to be the minimum value in array x.

array_int_maximum

predicate array_int_maximum(var int: m, array [int] of var int: x)

Constrains m to be the maximum value in array x.

array_int_minimum

predicate array_int_minimum(var int: m, array [int] of var int: x)

Constrains m to be the minimum value in array x.

bool_clause_reif

predicate bool_clause_reif(array [int] of var bool: as,
                           array [int] of var bool: bs,
                           var bool: b)

Reified clause constraint. Constrains \({\bf b} \leftrightarrow \bigvee_i {\bf as}[i] \lor \bigvee_j \lnot {\bf bs}[j]\)