On the unification problem for Cartesian closed categories

An axiomatization of the isomorphisms that hold in all Cartesian closed categories (CCCs), discovered independently by S.V. Soloviev (1983) and by K.B. Bruce and G. Longo (1985), leads to seven equalities. It is shown that the unification problem for this theory is undecidable, thus setting an open question. It is also shown 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 M. Rittri (1990, 1991). It also has potential applications to the problem of polymorphic higher-order unification, which in turn is relevant to theorem proving, logic programming, and type reconstruction in higher-order languages.<<ETX>>

[1]  Luís Monteiro,et al.  Higher-Order Polymorphic Unification for Logic Programming , 1994, ICLP.

[2]  Sergei Soloviev A Complete Axiom System for Isomorphism of Types in Closed Categories , 1993, LPAR.

[3]  Mikael Rittri Retrieving Library Functions by Unifying Types Modulo Linear Isomorphism , 1993, RAIRO Theor. Informatics Appl..

[4]  Roberto Di Cosmo,et al.  Provable isomorphisms of types , 1992, Mathematical Structures in Computer Science.

[5]  Roberto Di Cosmo,et al.  Type isomorphisms in a type-assignment framework , 1992, POPL '92.

[6]  Mikael Rittri,et al.  Using types as search keys in function libraries , 1989, Journal of Functional Programming.

[7]  Colin Runciman,et al.  Retrieving re-usable software components by polymorphic type , 1989, Journal of Functional Programming.

[8]  Wayne Snyder Higher Order Unification , 1991 .

[9]  Ullrich Hustadt,et al.  A complete transformation system for polymorphic higher-order unification , 1991 .

[10]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[11]  Mikael Rittri,et al.  Retrieving Library Identifiers via Equational Matching of Types , 1990, CADE.

[12]  Tobias Nipkow,et al.  Higher-Order Unification, Polymorphism, and Subsorts (Extended Abstract) , 1990, CTRS.

[13]  Wolfgang Thomas,et al.  Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics , 1990 .

[14]  G. Rota Introduction to higher order categorical logic , 1988 .

[15]  Jan Willem Klop,et al.  Term rewriting systems: a tutorial , 1987 .

[16]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[17]  Kim B. Bruce,et al.  Provable isomorphisms and domain equations in models of typed languages , 1985, STOC '85.

[18]  François Fages,et al.  Associative-Commutative Unification , 1984, CADE.

[19]  Hélène Kirchner,et al.  Completion of a set of rules modulo a set of equations , 1984, SIAM J. Comput..

[20]  S. Solov′ev The category of finite sets and Cartesian closed categories , 1983 .

[21]  Mark E. Stickel,et al.  A Unification Algorithm for Associative-Commutative Functions , 1981, JACM.

[22]  Mark E. Stickel,et al.  Complete Sets of Reductions for Some Equational Theories , 1981, JACM.

[23]  G. Huet,et al.  Equations and rewrite rules: a survey , 1980 .