*Domain variables*Only variables with finite integer domains are supported. This includes boolean variables, which are considered finite integer domain variables with the domain

`0..1`

. Domain variables declared to be of type`var int`

are initially given the finite integer domain`inf..sup`

, and are given maximally wide bounded domains before any search is performed on them, as well as before certain constraints that demand bounded domains are posted on them.*Ground set values*Although set

*variables*are not supported, ground set*values*are. For example, the MiniZinc global constraint`sum_pred/4`

takes as second argument an array of such ground set values.*Solve annotations*- The solve annotations currently recognized are
`bool_search`

,`int_search`

, and`seq_search`

. - The FlatZinc specification describes several
*exploration strategies*. Currently, the only recognized exploration strategies are`complete`

and`fail`

. - Variables not included in any solve or
`var_is_introduced`

annotation are labeled with a default first-fail domain splitting heuristic. This corresponds to`labeling/2`

of`library(clpfd)`

with the option list`[ff,bisect]`

. - The choice method
`indomain_random`

as described in the FlatZinc specification uses`random_member/2`

of`library(random)`

. The random generator of SICStus is initialized using the same seed on each start up, meaning that the same sequence will be tried for`indomain_random`

on each start up. This behavior can be changed by setting a different random seed using`setrand/1`

of`library(random)`

.

- The solve annotations currently recognized are
*Constraint annotations*Constraint annotations of the form

`domain`

,`bounds`

, and`value`

are recognized in relevant FlatZinc-to-`library(clpfd)`

constraint translations. Any other constraint annotation is ignored.*Variable annotations*The following variable annotations are recognized. Any other variable annotation is ignored:

`output_var`

*since release 4.2*the variable may be written on the current output stream.

`output_array`

*since release 4.2*the variable array may be written on the current output stream.

`var_is_introduced`

the variable will not be considered in any default labeling (such as when the search annotations do not include all variables)

Send feedback on this subject.