TY - GEN
T1 - Functions-as-constructors higher-order unification
AU - Libal, Tomer
AU - Miller, Dale
N1 - Publisher Copyright:
© 2016 Tomer Libal and Dale Miller.
PY - 2016/6/1
Y1 - 2016/6/1
N2 - 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 λ-binding (the equalities of α, β, and η-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. In this paper, we define an extension of pattern unification that is motivated by some existing applications and which satisfies these three properties. The main idea behind this 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. We show that this extension to pattern unification satisfies the three properties mentioned above.
AB - 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 λ-binding (the equalities of α, β, and η-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. In this paper, we define an extension of pattern unification that is motivated by some existing applications and which satisfies these three properties. The main idea behind this 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. We show that this extension to pattern unification satisfies the three properties mentioned above.
KW - Higher-order unification
KW - Pattern unification
UR - https://www.scopus.com/pages/publications/84977511105
U2 - 10.4230/LIPIcs.FSCD.2016.26
DO - 10.4230/LIPIcs.FSCD.2016.26
M3 - Conference contribution
AN - SCOPUS:84977511105
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 1st International Conference on Formal Structures for Computation and Deduction, FSCD 2016
A2 - Kesner, Delia
A2 - Pientka, Brigitte
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
T2 - 1st International Conference on Formal Structures for Computation and Deduction, FSCD 2016
Y2 - 22 June 2016 through 26 June 2016
ER -