Skip to main content
×
×
Home

On the unification problem for Cartesian closed categories

  • Paliath Narendran (a1), Frank Pfenning (a2) and Richard Statman (a3)
Abstract

Cartesian closed categories (CCCs) have played and continue to play an important role in the study of the semantics of programming languages. An axiomatization of the isomorphisms which hold in all Cartesian closed categories discovered independently by Soloviev and Bruce, Di Cosmo and Longo leads to seven equalities. We show that the unification problem for this theory is undecidable, thus settling an open question. We also show that an important subcase, namely unification modulo the linear isomorphisms, is NP-complete. Furthermore, the problem of matching in CCCs is NP-complete when the subject term is irreducible.

CCC-matching and unification form the basis for an elegant and practical solution to the problem of retrieving functions from a library indexed by types investigated by Rittri. It also has potential applications to the problem of polymorphic type inference and polymorphic higher-order unification, which in turn is relevant to theorem proving and logic programming.

Copyright
References
Hide All
[1]Bruce, K. B., di Cosmo, R., and Longo, G., Provable isomorphisms of types, Mathematical Structures in Computer Science, vol. 2 (1992), no. 2, pp. 231247.
[2]Caires, Luis and Monteiro, Luis, Higher-order polymorphic unification for logic programming, Proceedings of the eleventh international conference on logic programming (Van Hentenryck, Pascal, editor), MIT Press, 1994, pp. 419433.
[3]Dershowitz, N. and Jouannaud, Jean-Pierre, Rewrite systems, Handbook of theoretical computer science (van Leeuwen, J., editor), vol. B: Formal Models and Semantics, Elsevier, Amsterdam, 1990, pp. 243320.
[4]di Cosmo, R., Type isomorphisms in a type assignment framework, Annual ACM symposium on the principles of programming languages, ACM, 1992, pp. 200210.
[5]di Cosmo, R., Isomorphisms of types, Ph.D. thesis, Dipartimento di Informatica, Universita di Pisa, 1993.
[6]Fages, François, Associative-commutative unification, Journal of Symbolic Computation, vol. 3 (1987), pp. 257275.
[7]Hustadt, Ullrich, A complete transformation system for polymorphic higher-order unification, Technical Report MPI-I-91-228, Max-Planck-Institut für Informatik, Saarbrücken, Germany, 12 1991.
[8]Jouannaud, Jean-Pierre and Kirchner, Helene, Completion of a set of rules modulo a set of equations, SIAM Journal of Computing, vol. 15 (1986), no. 4, pp. 11551194.
[9]Kapur, Deepak and Narendran, Paliath, Complexity of unification problems with associative-commutative operators, Journal of Automated Reasoning, vol. 9 (1992), no. 2, pp. 261288.
[10]Klop, J. W., Term rewriting systems: a tutorial, Bulletin of the EATCS, vol. 32 (1987), pp. 143182.
[11]Lambek, J. and Scott, P. J., Introduction to higher order categorical logic, Cambridge University Press, Cambridge, England, 1986.
[12]Narendran, Paliath, Pfenning, Frank, and Statman, Richard, On the unification problem for Cartesian closed categories, talk presented at the workshop on higher-order logic in Banff, Alberta, 09 1989.
[13]Narendran, Paliath, On the unification problem for Cartesian closed categories, Proceedings of the eighth annual symposium on logic in computer science (Vardi, Moshe, editor), IEEE Press, 1993.
[14]Nipkow, Tobias, Higher-order unification, polymorphism and subsorts, Proceedings of the second international workshop on conditional and typed rewriting systems (Kaplan, S. and Okada, M., editors), Lecture Notes in Computer Science, no. 516, Springer-Verlag, 1990.
[15]Peterson, G. E. and Stickel, M. E., Complete sets of reductions for some equational theories, Journal of the ACM, vol. 28 (1981), no. 3, pp. 233264.
[16]Rittri, Mikael, Retrieving library identifiers via equational matching of types, Proceedings of the tenth international conference on automated deduction (Stickel, M. E., editor), Lecture Notes in Artificial Intelligence, no. 449, Springer-Verlag, 1990, pp. 603617.
[17]Rittri, Mikael, Using types as search keys in function libraries, Journal of Functional Programming, vol. 1 (1991), no. 1, pp. 7189, A preliminary version appeared in the proceedings of FPCA '89, pages 174–183.
[18]Rittri, Mikael, Retrieving library functions by unifying types modulo linear isomorphism, Programming Methodology Group Report 66, Chalmers University of Technology and University of Göteborg, Göteborg, Sweden, 05 1992.
[19]Rittri, Mikael, Retrieving library functions by unifying types modulo linear isomorphism, RAIRO Theoretical Informatics and Applications, vol. 27 (1993), no. 6, pp. 523540.
[20]Runciman, Colin and Toyn, Ian, Retrieving re-usable software components by polymorphic type, Journal of Functional Programming, vol. 1 (1991), no. 2, pp. 191211, A preliminary version appeared in the proceedings of FPCA '89, pages 166–173.
[21]Soloviev, Sergei V., The category of finite sets and Cartesian closed categories, Soviet Mathematics, vol. 22 (1983), no. 3, pp. 13871400.
[22]Soloviev, Sergei V., The ordinary identities form a complete axiom system for isomorphism of types in closed categories, Proceedings of the international conference on logic programming and automated reasoning (Voronkov, A., editor), Lecture Notes in Artificial Intelligence, no. 698, Springer-Verlag, 1993, pp. 360371.
[23]Stickel, Mark, A unification algorithm for associative-commutative functions, Journal of the ACM, vol. 28 (1981), no. 3, pp. 423434.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

The Journal of Symbolic Logic
  • ISSN: 0022-4812
  • EISSN: 1943-5886
  • URL: /core/journals/journal-of-symbolic-logic
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 4 *
Loading metrics...

Abstract views

Total abstract views: 86 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 27th May 2018. This data will be updated every 24 hours.