[ Type Testing | Reference Manual | Alphabetic Index ]

# nonvar(?Term)

Succeeds if Term is instantiated.

Term
  Any Prolog term.

## Description

Used to test whether Term is instantiated. This is the negation of var/1, i.e. it succeeds if Term is not an uninstantiated variable. Note that it also succeeds if Term is a partially instantiated term, i.e. a compound term with at least one uninstantiated subterm.

### Modes and Determinism

- nonvar(?) is semidet

### Fail Conditions

Fails if Term is not instantiated

## Examples

       Success:
       nonvar(atom).
       nonvar(33).
       nonvar(foo(3)).
       nonvar(foo(_)).
       nonvar([_|_]).
       Fail:
       nonvar(Var).

## See Also

nonground / 1, type_of / 2, var / 1