PDF e-Pub

## 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.