#### 4.8.10 Summary of Predicates

`atom(+T)   ISO`

term T is an atom

`atomic(+T)   ISO`

term T is an atom or a number

`callable(+T)   ISO`

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)   ISO`

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)

`compare(-C,+X,+Y)   ISO`

C is the result of comparing terms X and Y

`+X == +Y   ISO`

terms X and Y are strictly identical

`+X \== +Y   ISO`

terms X and Y are not strictly identical

`+X @< +Y   ISO`

term X precedes term Y in standard order for terms

`+X @>= +Y   ISO`

term X follows or is identical to term Y in standard order for terms

`+X @> +Y   ISO`

term X follows term Y in standard order for terms

`+X @=< +Y   ISO`

term X precedes or is identical to term Y in standard order for terms

`?T =.. ?L   ISO`

the functor and arguments of term T comprise the list L

`?X = ?Y   ISO`

terms X and Y are unified

`+X \= +Y   ISO`

terms X and Y no not unify

`?=(+X,+Y)`

X and Y are either strictly identical or don’t unify

`acyclic_term(+T)   since release 4.3, ISO`

term T is a finite (acyclic) term

`arg(+N,+T,-A)   ISO`

the Nth argument of term T is A

`atom_chars(?A,?L)   ISO`

A is the atom containing the character atoms in list L

`atom_codes(?A,?L)   ISO`

A is the atom containing the characters in code-list L

`atom_concat(?Atom1,?Atom2,?Atom12)   ISO`

Atom Atom1 concatenated with Atom2 gives Atom12.

`atom_length(+Atom,-Length)   ISO`

Length is the number of characters of the atom Atom.

`char_code(?Char,?Code)   ISO`

Code is the character code of the one-char atom Char.

`copy_term(+T,-C)   ISO`

C is a copy of T in which all variables have been replaced by new variables

`copy_term(+T,-C,-G)`

C is a copy of T in which all variables have been replaced by new variables, and G is a goal for reinstating any attributes in C

`create_mutable(+Datum,-Mutable)`

Mutable is a new mutable term with current value Datum.

`dif(+X,+Y)`

X and Y are constrained to be different.

`frozen(+Var,-Goal)`

The goal Goal is blocked on the variable Var.

`functor(?T,?F,?N)   ISO`

the principal functor of term T has name F and arity N

`get_mutable(-Datum,+Mutable)`

The current value of the mutable term Mutable is Datum.

`name(?A,?L)   deprecated`

the code-list of atom or number A is L

`number_chars(?N,?L)   ISO`

N is the numeric representation of list of character atoms L

`number_codes(?N,?L)   ISO`

N is the numeric representation of code-list L

`numbervars(+T,+M,-N)`

number the variables in term T from M to N-1

`sub_atom(+Atom,?Before,?Length,?After,?SubAtom)   ISO`

The characters of SubAtom form a sublist of the characters of Atom, such that the number of characters preceding SubAtom is Before, the number of characters after SubAtom is After, and the length of SubAtom is Length.

`subsumes_term(General,Specific)   since release 4.3, ISO`

Specific is an instance of General

`term_variables(+Term,-Variables)   since release 4.3, ISO`

Variables is the set of variables that occur in Term

`unify_with_occurs_check(?X,?Y)   ISO`

True if X and Y unify to a finite (acyclic) term.

`?T =.. ?L   ISO`

the functor and arguments of term T comprise the list L

`append(?A,?B,?C)`

the list C is the concatenation of lists A and B

`keysort(+L,-S)   ISO`

the list L sorted by key yields S

`length(?L,?N)`

the length of list L is N

`member(?X,?L)`

X is a member of L

`memberchk(+X,+L)`

X is a member of L

`nonmember(+X,+L)`

X is not a member of L

`sort(+L,-S)   ISO`

sorting the list L into order yields S

Send feedback on this subject.