Unification

Consider expressions built up from variables and constants using function symbols. If v_1, ..., v_n are variables and t_1, ..., t_n are expressions, then a set of mappings between variables and expressions {t_1|v_1,...,t_n|v_n} is called a substitution.

If eta={t_1|v_1,...,t_n|v_n} and E is an expression, then Eeta is called an instance of E if it is received from E by simultaneously replacing all occurrences of v_i (for 0<=i<=n) by the respective t_i.

If eta={t_1|v_1,...,t_n|v_n} and theta={u_1|x_1,...,u_n|x_m} are two substitutions, then the composition of eta and theta (denoted eta*theta) is obtained from {t_1theta|v_1,...,t_ntheta|v_n,u_1|x_1,...,u_n|x_m} by removing all elements t_itheta|v_i such that t_itheta=v_i and all elements u_i|x_i such that x_i is one of v_1, ..., v_n.

A substitution eta is called a unifier for the set of expressions {E_1,...,E_n} if E_1eta=E_2eta=...=E_neta. A unifier eta for the set of expressions {E_1,...,E_n} is called the most general unifier if, for any other unifier for the same set of expressions theta, there is yet another unifier iota such that theta=eta*iota.

A unification algorithm takes a set of expressions as its input. If this set is not unifiable, the algorithm terminates and yields a negative result. If there exists a unifier for the input set of expressions, the algorithm yields the most general unifier for this set of expressions. The unification algorithm serves as a tool for the resolution principle. It is also a basis for term rewriting systems.

Wolfram Web Resources

Mathematica »

The #1 tool for creating Demonstrations and anything technical.

Wolfram|Alpha »

Explore anything with the first computational knowledge engine.

Wolfram Demonstrations Project »

Explore thousands of free applications across science, mathematics, engineering, technology, business, art, finance, social sciences, and more.

Computerbasedmath.org »

Join the initiative for modernizing math education.

Online Integral Calculator »

Solve integrals with Wolfram|Alpha.

Step-by-step Solutions »

Walk through homework problems step-by-step from beginning to end. Hints help you try the next step on your own.

Wolfram Problem Generator »

Unlimited random practice problems and answers with built-in Step-by-step solutions. Practice online or make a printable study sheet.

Wolfram Education Portal »

Collection of teaching and learning tools built by Wolfram education experts: dynamic textbook, lesson plans, widgets, interactive Demonstrations, and more.

Wolfram Language »

Knowledge-based programming for everyone.