Function name or connective symbol:
Whether if we write op(x) to signify the symbol of the compound operator then predicate name and function name or connective symbol are there.
- However the function isa_list(x) checks where x is a list and if we write head(L) for the first term in a list L and tail(L) for the sublist comprising all the other terms except the head than the head of [2,3,5,7,11] is 2 and hence the tail is [3,5,7,11]. So it means there is terminology is common in Prolog.
Here if notice for instance it's easiest to explain the unification algorithm as a recursive method that is able to call itself. But as there is happening, so a set, mu, is passed around the various parts of the algorithm by collecting substitutions as it goes. Furthermore the method has two main parts as:
unify_internal(x,y,mu)
As above we see there that returns a substitution in that makes sentence x look exactly like sentence y, in given an before now existing set of substitutions mu as although mu may be empty. Now we can say that this type function checks various properties of x and y and calls either the unify_variable routine, as described below or itself again. Always remembering there the order of the if-statements is important but if a failure is reported at any stage then the entire function fails. So if none of the cases is true for the input such as the algorithm fails to find a unifying set of substitutions obviously.