The unification of two typed feature structures is an operation that produces a feature structure that is their least upper bound, with respect to the subsumption ordering. Unification fails when the two feature structures provide inconsistent information.
Intuitively, unification is accomplished by first unifying the types of the root nodes of the two feature structures, and replacing them with the result of the type unification. By recursion, nodes that are values of identical features are then unified, and replaced with the result of the unification. Failure occurs when an inconsistency between nodes occurs (i.e., when two types can not unify).
In order to formally describe unification, the notion of alphabetic variants must be defined:
Based on the definition of alphabetic variants, as well as on the
properties of equivalence relations (transitive, reflexive, and
symmetric), equivalence classes over a set
(
), and the quotient set of a set
modulo
(
), Carpenter
carpenter defines feature structure unification as:
Computationally, unification has a complexity of the order of
, where n is the size of the feature structure
and
is the Ackermann's function. However, as it will be shown in
Section 2.4.2, the extensions needed in many
applications increase the cost of the unification.