unifiers
Unifiers are substitutions that make two expressions identical. In logic and computer science, a unifier for two terms is a mapping of variables to terms such that applying the mapping to both terms yields the same result. The most common setting uses first-order terms built from variables, constants, and function symbols. A substitution that achieves this equality is a unifier; among unifiers, a most general unifier or MGU is particularly important because every other unifier can be obtained from it by further substitution of its variables.
Robinson's unification algorithm provides a procedure to compute an MGU if one exists, and to decide whether
Unification underpins logic programming languages such as Prolog, where resolution relies on finding MGUs between goals
Beyond first-order terms, higher-order unification attempts to unify expressions that include variables that can stand for