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`db_reference(`

`+X``)`

**since release 4.1**`X`is a db_reference`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 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.