| Pred is neither a variable nor a predicate indicator | type_error(predicate_indicator, Pred) | |
| Pred is a term Name/Arity and Arity is neither a variable nor an integer | type_error(integer, Arity) | |
| Pred is a term Name/Arity and Name is neither a variable nor an atom | type_error(atom, Name) | |
| Pred is a term Name/Arity and Arity is an integer < 0 | domain_error(not_less_than_zero, Arity) | |
| Pred is a term Name/Arity and Arity is an integer > max_arity flag (section 6.22.1) | representation_error(max_arity) | |
| Pred is neither a variable nor a predicate indicator | type_error(predicate_indicator, Pred) | |
| Pred is a term Name/Arity and Arity is neither a variable nor an integer | type_error(integer, Arity) | |
| Pred is a term Name/Arity and Name is neither a variable nor an atom | type_error(atom, Name) | |
| Pred is a term Name/Arity and Arity is an integer < 0 | domain_error(not_less_than_zero, Arity) | |
| Pred is a term Name/Arity and Arity is an integer > max_arity flag (section 6.22.1) | representation_error(max_arity) | |
| Property is neither a variable nor a predicate property term | domain_error(predicate_property, Property) | |
| Property = prolog_file(File) and File is neither a variable nor an atom | type_error(atom, File) | |
| Property = prolog_line(Line) and Line is neither a variable nor an integer | type_error(integer, Line) | |