The Complexity of Equivariant Unification
Nominal logic is a first-order theory of names and binding based on a primitive operation of swapping rather than substitution. Urban, Pitts, and Gabbay have developed a nominal unification algorithm that unifies terms up to nominal equality. However, because of nominal logic’s equivariance principle, atomic formulas can be provably equivalent without being provably equal as terms, so resolution using nominal unification is sound but incomplete. For complete resolution, a more general form of unification called equivariant unification, or “unification up to a permutation” is required. Similarly, for rewrite rules expressed in nominal logic, a more general form of matching called equivariant matching is necessary.
In this paper, we study the complexity of the decision problem for equivariant unification and matching. We show that these problems are NP-complete in general. However, when one of the terms is essentially first-order, equivariant and nominal unification coincide. This shows that equivariant unification can be performed efficiently in many interesting common cases: for example, any purely first-order logic program or rewrite system can be run efficiently on nominal terms.
KeywordsLogic Program Logic Programming Atomic Formula Abstract Syntax Nominal Term
Unable to display preview. Download preview PDF.
- 4.Fernández, M., Gabbay, M., Mackie, I.: Nominal rewriting (January 2004) (submitted)Google Scholar
- 8.Hofmann, M.: Semantical analysis of higher-order abstract syntax. In: Proc. 14th Symp. on Logic in Computer Science, July 1999, pp. 204–213. IEEE, Los Alamitos (1999)Google Scholar
- 12.Pfenning, F., Elliott, C.: Higher-order abstract syntax. In: Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI 1989), pp. 199–208. ACM Press, New York (1989)Google Scholar
- 15.Urban, C., Cheney, J.: Avoiding equivariance in Alpha-Prolog (2004) (submitted)Google Scholar