#### Type Tests

`atom(`

`T``)`

- term
`T` is an atom

`atomic(`

`T``)`

- term
`T` is an atom, a number or a db_reference

`callable(`

`T``)`

`T` is an atom or a compound term

`compound(`

`T``)`

`T` is a compound term (a skeletal predicate specification; see ref-syn-spc)

`db_reference(`

`D``)`

`D` is a db_reference

`float(`

`N``)`

`N` is a floating-point number

`ground(`

`T``)`

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

`integer(`

`T``)`

- term
`T` is an integer

`nonvar(`

`T``)`

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

`number(`

`N``)`

`N` is an integer or a float

`simple(`

`T``)`

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

`var(`

`T``)`

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