[ library(conjunto) | Reference Manual | Alphabetic Index ]
# ?Svar `:: +Domain

Terms in Svar have the set domain Domain.
*?SVar*
- A set variable or a list of set variables.
*+Domain*
- Lattice specified by its upper and lower bound Glb..Lub such that Glb is a subset of Lub.

## Description

The main purpose of this predicate is to create set domain variables.
Domain has to be a closed set interval specified as Glb..Lub. If SVar
is already a set domain variable, its set domain will be updated
according to the new domain; if it is instanciated, the predicate checks
is the set value lies in the domain. If the upper bound equals the
lower bound the set variable describes a ground set. Otherwise, if SVar
is a free variable, it is converted to a set domain variable. If SVar
is a list, this will be performed for all its elements. If Domain is
free, it fails.

### Fail Conditions

Fails if Domain is free, or if SVar cannot have the domain Domain.
### Resatisfiable

No.
## Examples

[eclipse 3]: S `:: {}..{a,{2,3},c}.
S = S{{} .. {a, {2,3}, c}}
yes.

## See Also

glb / 2, lub / 2, set_range / 3, set / 1