In the literature, unification is often treated as a simple and straightforward matter, even though it is recognized as a deep and fundamental concept. However when a thorough presentation is attempted, it is realized then that the matter is fairly subtle and treacherous. For instance, the notion of most general unifier and its property of being unique up to renaming are open to different interpretations. In fact, there are several approaches to unification based on different mathematical concepts that are not equivalent. We present the alternatives and clarify their relationships. In the process, new results are obtained related to the notions of equation solving, most specific generalization, and constraint solving. This leads to a comprehensive presentation of an elementary theory of unification.
[1]
Kenneth Kunen,et al.
Negation in Logic Programming
,
1987,
J. Log. Program..
[2]
Elmar Eder,et al.
Properties of Substitutions and Unifications
,
1983,
J. Symb. Comput..
[3]
J. A. Robinson,et al.
A Machine-Oriented Logic Based on the Resolution Principle
,
1965,
JACM.
[4]
Alberto Martelli,et al.
An Efficient Unification Algorithm
,
1982,
TOPL.
[5]
Joxan Jaffar,et al.
Constraint logic programming
,
1987,
POPL '87.
[6]
Zohar Manna,et al.
Deductive Synthesis of the Unification Algorithm
,
1981,
Sci. Comput. Program..