A Unification Algorithm for Second-Order Monadic Terms
William M. Farmer
1988
Abstract
This paper present an algorithm that, given a finite set E of pairs of
second-order monadic terms, returns a finite set U(E) of "substitution
schemata" such that a substitution unifies E iff it is an instance of
some member of U(E). Moreover, E is unifiable precisely if U(E) is
not empty. The algorithm terminates on all inputs, unlike the
unification algorithms for second-order monadic terms developed by
G. Huet and G. Winterstein.
The substitution schemata in U(E) use expressions (called "parametric
terms") which represent sets of terms that differ only in how many
times designated strings of (monadic) function constants follow
themselves. The substitution schemata may contain unresolved
"identity restrictions"; consequently the members of U(E) generally do
not characterize all the unifiers of E in a completely explicit way.
The algorithm is particularly useful for investigating the complexity
of formal proofs.