I came across following:
?- f(X) = X.
X = f(X).
?- f(a) = a.
false.
Why unification works for f(X) = X
, but not for f(a) = a
? Is it because first simply says name return value of f(X)
as X
, whereas second tries to check if return value of f(a)
is a
? But f()
is undefined here!! Also, I guess, there is no such concept as "return value" in prolog. Then, whats going on here?