An instantiation error occurs when a predicate or command is called with one of its input arguments insufficiently instantiated.
The exception code associated with an instantiation error is
ArgNo is a non-negative integer indicating which argument caused the
problem. ArgNo=0 means that the problem could not be localized to a single
functor/3 etc., which allow alternative
instantiation patterns. Maybe this will be fixed but lets leave it vague for
Note that the ArgNoth argument of Goal might well be a non-variable: the error is in that argument. For example, the goal
X is Y+1
where Y is uninstantiated raises the exception
instantiation_error(_2298 is _2301+1,2)
because the second argument to
is/2 contains a variable.