## Section: New Results

### Extended Pattern Unification

Participants : Tomer Libal, Dale Miller.

Unification is a central operation in the construction of a range of
computational logic systems based on first-order and higher-order
logics.
First-order unification has a number of properties that dominates the
way it is incorporated within such systems.
In particular, first-order unification is decidable, unary, and can
be performed on untyped term structures.
None of these three properties hold for full higher-order unification:
unification is undecidable, unifiers can be incomparable, and
term-level typing can dominate the search for unifiers.
The so-called *pattern* subset of higher-order unification was
designed to be a small extension to first-order unification that
respected the basic laws governing $\lambda $-binding (the equalities
of $\alpha $, $\beta $, and $\eta $-conversion) but which also satisfied
those three properties.
While the pattern fragment of higher-order unification has been
popular in various implemented systems and in various theoretical
considerations, it is too weak for a number of applications.
Libal and Miller [28] have defined an extension
of pattern unification that is motivated by some existing applications
and which satisfies these three properties.
The main idea behind their extension is that the arguments to a
higher-order, free variable can be more than just distinct bound
variables: they can also be terms constructed from (sufficient numbers
of) such variables using term constructors and where no argument is a
subterm of any other argument.
This extension to pattern unification satisfies the three properties
mentioned above.
R. Blanco is currently adding this extended unification to the Abella
theorem prover.