| Atom is a variable | instantiation_error | |
| Atom is neither a variable nor an atom | type_error(atom, Atom) | |
| Length is neither a variable nor an integer | type_error(integer, Length) | |
| Length is an integer < 0 | domain_error(not_less_than_zero, Length) | |
| Atom1 and Atom12 are variables | instantiation_error | |
| Atom2 and Atom12 are variables | instantiation_error | |
| Atom1 is neither a variable nor an atom | type_error(atom, Atom1) | |
| Atom2 is neither a variable nor an atom | type_error(atom, Atom2) | |
| Atom12 is neither a variable nor an atom | type_error(atom, Atom12) | |
| Atom is a variable | instantiation_error | |
| Atom is neither a variable nor an atom | type_error(atom, Atom) | |
| SubAtom is neither a variable nor an atom | type_error(atom, SubAtom) | |
| Before is neither a variable nor an integer | type_error(integer, Before) | |
| Length is neither a variable nor an integer | type_error(integer, Length) | |
| After is neither a variable nor an integer | type_error(integer, After) | |
| Before is an integer < 0 | domain_error(not_less_than_zero, Before) | |
| Length is an integer < 0 | domain_error(not_less_than_zero, Length) | |
| After is an integer < 0 | domain_error(not_less_than_zero, After) | |
| Char and Code are variables | instantiation_error | |
| Char is neither a variable nor a one-char atom | type_error(character, Char) | |
| Code is neither a variable nor an integer | type_error(integer, Code) | |
| Code is an integer but not a character code | representation_error(character_code) | |
| Char1 and Char2 are variables | instantiation_error | |
| Char1 is neither a variable nor a one-char atom | type_error(character, Char1) | |
| Char2 is neither a variable nor a one-char atom | type_error(character, Char2) | |
| Atom is a variable and Chars (or Codes) is a partial list or a list with an element which is a variable | instantiation_error | |
| Atom is neither a variable nor an atom | type_error(atom, Atom) | |
| Chars is neither a list nor a partial list | type_error(list, Chars) | |
| Codes is neither a list nor a partial list | type_error(list, Codes) | |
| Atom is a variable and an element E of the list Chars is neither a variable nor a one-char atom | type_error(character, E) | |
| Atom is a variable and an element E of the list Codes is neither a variable nor an integer | type_error(integer, E) | |
| Atom is a variable and an element E of the list Codes is an integer but not a character code | representation_error(character_code) | |
| Number and Atom are variables | instantiation_error | |
| Number is a variable and Chars (or Codes) is a partial list or a list with an element which is a variable | instantiation_error | |
| Number is neither a variable nor an number | type_error(number, Number) | |
| Atom is neither a variable nor an atom | type_error(atom, Atom) | |
| Number is a variable and Chars is neither a list nor a partial list | type_error(list, Chars) | |
| Number is a variable and Codes is neither a list nor a partial list | type_error(list, Codes) | |
| Number is a variable and an element E of the list Chars is neither a variable nor a one-char atom | type_error(character, E) | |
| Number is a variable and an element E of the list Codes is neither a variable nor an integer | type_error(integer, E) | |
| Number is a variable and an element E of the list Codes is an integer but not a character code | representation_error(character_code) | |
| Number is a variable, Atom (or Chars or Codes) cannot be parsed as a number and the value of the syntax_error Prolog flag is error (section 6.22.1) | syntax_error(atom explaining the error) | |
| Constant is a variable and Codes is a partial list or a list with an element which is a variable | instantiation_error | |
| Constant is neither a variable nor an atomic term | type_error(atomic, Constant) | |
| Constant is a variable and Codes is neither a list nor a partial list | type_error(list, Codes) | |
| Constant is a variable and an element E of the list Codes is neither a variable nor an integer | type_error(integer, E) | |
| Constant is a variable and an element E of the list Codes is an integer but not a character code | representation_error(character_code) | |
| Atom and Hash are both variables | instantiation_error | |
| Atom is neither a variable nor an atom | type_error(atom, Atom) | |
| Hash is neither a variable nor an integer | type_error(integer, Hash) | |
| Hash is an integer < 0 | domain_error(not_less_than_zero, Hash) | |
| Prefix is a variable | instantiation_error | |
| Hash is a variable | instantiation_error | |
| Prefix is neither a variable nor an atom | type_error(atom, Prefix) | |
| Hash is neither a variable nor an integer | type_error(integer, Hash) | |
| Hash is an integer < 0 | domain_error(not_less_than_zero, Hash) | |
| Atom is not a variable | type_error(variable, Atom) | |
| Atom is neither a variable nor an atom | type_error(atom, Atom) | |
| Atom is neither a variable nor an atom | type_error(atom, Atom) | |
| Property is neither a variable nor a n atom property term | domain_error(atom_property, Property) | |
| Property = length(E) or hash(E) and E is neither a variable nor an integer | type_error(integer, E) | |