The following predicates take a term as their argument. They are provided to check the type of that term. The reference pages for these predicates include examples of their use.

`atom(`

`+T``)`

ISO- term
`T`is an atom `atomic(`

`+T``)`

ISO- term
`T`is an atom or a number `callable(`

`+T``)`

`T`is an atom or a compound term`compound(`

`+T``)`

ISO`T`is a compound term`float(`

`+N``)`

ISO`N`is a floating-point number`ground(`

`+T``)`

- term
`T`is a nonvar, and all substructures are nonvar `integer(`

`+T``)`

ISO- term
`T`is an integer `mutable(`

`+X``)`

`X`is currently instantiated to a mutable term.`nonvar(`

`+T``)`

ISO- term
`T`is one of atom, number, compound (that is,`T`is instantiated) `number(`

`+N``)`

ISO`N`is an integer or a float`simple(`

`+T``)`

`T`is not a compound term; it is either atomic or a var`var(`

`+T``)`

ISO- term
`T`is a variable (that is,`T`is uninstantiated)

Send feedback on this subject.