[ library(fd) | Reference Manual | Alphabetic Index ]
# ?Vars :: ?Domain

Terms in Vars have the domain Domain.
*?Vars*
- A variable or a list of variables.
*+Domain*
- Variable, integer, integer interval or a list of integers and integer intervals.

## Description

The main purpose of this predicate is to create domain variables.
Domain can be a closed integer interval denoted as Min..Max, or a sorted
list of integer intervals and/or elements. If Vars is already a domain
variable, its domain will be updated according to the new domain; if it
is instantiated, the predicate checks if the value lies in the domain.
Otherwise, if Vars is a free variable, it is converted to a domain
variable. If Vars is a list, this will be performed for all its
elements.
If Vars is a domain variable and Domain is free, it is bound to the
domain of the variable.

### Fail Conditions

Fails if Vars cannot have the domain Domain.
### Resatisfiable

No.
## See Also

#:: / 2, dom_to_list / 2, is_domain / 1