[ 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