[ library(ic) | Reference Manual | Alphabetic Index ]
# is_in_domain(++Val, ?Var, -Result)

Binds Result to indicate presence of Val in domain of Var
*Val*
- A number
*Var*
- An IC variable or a number
*Result*
- An atom

## Description

Low level predicate which succeeds when Val is in the domain of Var with
Result bound to the atom 'yes'. When Val is not in the domain of Var,
the predicate succeeds binding Result to the atom 'no'. Should the
result be undecidable (as can be the case with bounded reals), the
predicate will succeed binding Result to the atom 'maybe'. If Var is a
number, this predicate will succeed with Result bound to 'yes' iff
Var $= Val would succeed WITHOUT leaving a delayed goal. If Var $= Val
would have left a delayed goal then Result gets bound to 'maybe'.

### Modes and Determinism

- is_in_domain(++, ?, -) is det

### Exceptions

*(4) instantiation fault *
- Val is not ground
*(5) type error *
- either Val or Var is not a numeric type

## See Also

is_in_domain / 2