The Complexity of Equivariant Unification

  • James Cheney
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3142)


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.


Logic Program Logic Programming Atomic Formula Abstract Syntax Nominal Term 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Albert, M.H., Lawrence, J.: Unification in varieties of groups: nilpotent varieties. Canadian Journal of Mathematics 46(6), 1135–1149 (1994)zbMATHMathSciNetCrossRefGoogle Scholar
  2. 2.
    Cheney, J., Urban, C.: Alpha-Prolog: A logic programming language with names, binding and alpha-equivalence. In: Demoen, B., Lifschitz, V. (eds.) ICLP 2004. LNCS, vol. 3132, pp. 269–283. Springer, Heidelberg (2004) (to appear)CrossRefGoogle Scholar
  3. 3.
    Engebretsen, L., Holmerin, J., Russell, A.: Inapproximability results for equations over finite groups. Theoretical Computer Science 312(1), 17–45 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Fernández, M., Gabbay, M., Mackie, I.: Nominal rewriting (January 2004) (submitted)Google Scholar
  5. 5.
    Finkelstein, H.: Solving equations in groups: a survey of Frobenius’ Theorem. Periodica Mathematica Hungarica 9(3), 187–204 (1978)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Formal Aspects of Computing 13, 341–363 (2002)zbMATHCrossRefGoogle Scholar
  7. 7.
    Goldmann, M., Russell, A.: The complexity of solving equations over finite groups. Information and Computation 178, 253–262 (2002)zbMATHMathSciNetGoogle Scholar
  8. 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
  9. 9.
    Huet, G.: A unification algorithm for typed λ-calculus. Theoretical Computer Science 1, 27–67 (1975)CrossRefMathSciNetGoogle Scholar
  10. 10.
    Martelli, A., Montanari, U.: An efficient unification algorithm. Transactions on Programming Languages and Systems 4(2), 258–282 (1982)zbMATHCrossRefGoogle Scholar
  11. 11.
    Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. J. Logic and Computation 1(4), 497–536 (1991)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 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
  13. 13.
    Pitts, A.M.: Nominal logic, a first order theory of names and binding. Information and Computation 183, 165–193 (2003)CrossRefMathSciNetGoogle Scholar
  14. 14.
    Robinson, J.A.: A machine-oriented logic based on the resolution principle. J. ACM 12(1), 23–41 (1965)zbMATHCrossRefGoogle Scholar
  15. 15.
    Urban, C., Cheney, J.: Avoiding equivariance in Alpha-Prolog (2004) (submitted)Google Scholar
  16. 16.
    Urban, C., Pitts, A.M., Gabbay, M.J.: Nominal unification. In: Baaz, M., Makowsky, J.A. (eds.) CSL 2003. LNCS, vol. 2803, pp. 513–527. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • James Cheney
    • 1
  1. 1.Cornell University 

Personalised recommendations