[ library(conjunto) | Reference Manual | Alphabetic Index ]
# set_range(?Svar, ?Glb, ?Lub)

Svar is a set domain variable and Glb and Lub are the respective lower
bound and upper bound of its domain.
*?Svar*
- A set domain variable.
*?Glb*
- A free variable or a ground set.
*?Lub*
- A free variable or a ground set.

## Description

This predicate computes the lower bound Glb and the upper bound Lub of
the domain attached to the set variable Svar. If Glb and/or Lub are
ground, they should be equal to the respective bounds of the domain,
otherwise it fails.

### Fail Conditions

Fails if Svar is not a set domain variable or if one of the terms glb,
Lub, can not be unified with the respective bounds of the domain of
Svar.
### Resatisfiable

No.
### Exceptions

*(4) instantiation fault *
- Var is not a domain variable.

## Examples

[eclipse 7]: S `:: {} .. {1,2,3}, set_range(S, Glb, Lub).
S = S{{} .. {1, 2, 3}}
Glb = {}
Lub = {1, 2, 3}
yes.

## See Also

`:: / 2, glb / 2, lub / 2