[ Type Testing | Reference Manual | Alphabetic Index ]

nonground(?VarTerm)

Succeeds if VarTerm is not ground.
VarTerm
Prolog term.

Description

Used to test whether VarTerm is not ground i.e. whether it is itself a variable, or it has at least one subterm that is a uninstantiated variable. This is the negation of ground/1.

This predicate can handle cyclic terms.

Modes and Determinism

Fail Conditions

Fails if VarTerm is ground

Examples

   Success:
   nonground(VarTerm).
   nonground(f(a,B,c)).
   nonground([x,y|Z]).
   Fail:
   nonground(atom).
   nonground(likes(man,woman)).

See Also

nonvar / 1, ground / 1, nonground / 2, nonground / 3, type_of / 2, var / 1