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

compare(-C,+X,+Y)
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)
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)
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)
sorting the list L into order yields S

Send feedback on this subject.