A consistent Substitution of names with variables. A unification algorithm is the process of Binding variables. It is a purely syntactic algorithm.
Algorithm
- Break rule down into subrules
- We try to find Common Instance for all subrules
- We find the Unifier for that common instance
- We take all unifiers, and create the MGU
Example
parent(bob,Y)unifies withparent(bob, sue)?- parent(bob,Y)=parent(bob,sue).Y=sue;false