I am having trouble trying to figure out in what order unification is done. I have the following query:
[X, like | Z] = [I, Y, Prolog, language].
This gives me the following result:
X = I,
Z = [Prolog, language],
Y = like.
However, what I was expecting is:
X = I,
Y = like,
Z = [Prolog, language].
Is there any specific order in which Prolog unifies terms?
EDIT:
I have a feeling that Prolog is giving higher priority to unification of an atom with a variable
over that of a variable with an atom
. Is that so?