A unification problem is a set of equations between terms containing variables.

A solution to , also called a unifier, is a substitution , such that when applied to every term in , for each equation , the terms and are syntactically identical.