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.
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:
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.