*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`

,`labelling_ff`

, 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 don't include all variables)

Send feedback on this subject.