skip to main content
article
Free Access

Unification: a multidisciplinary survey

Published:01 March 1989Publication History
Skip Abstract Section

Abstract

The unification problem and several variants are presented. Various algorithms and data structures are discussed. Research on unification arising in several areas of computer science is surveyed; these areas include theorem proving, logic programming, and natural language processing. Sections of the paper include examples that highlight particular uses of unification and the special problems encountered. Other topics covered are resolution, higher order logic, the occur check, infinite terms, feature structures, equational theories, inheritance, parallel algorithms, generalization, lattices, and other applications of unification. The paper is intended for readers with a general computer science background—no specific knowledge of any of the above topics is assumed.

References

  1. AHO, V. A., HOPCROFT, J. E., AND ULLMAN, J. D. 1974. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, Mass. Google ScholarGoogle Scholar
  2. ANDREWS, P. B. 1971. Resolution in type theory. J. Symbolic Logic 36, pp. 414-432.Google ScholarGoogle Scholar
  3. ANDREWS, P. B., AND COHEN, E. L. 1977. Theorem proving in type theory. In Proceedings of International Joint Conference on Artificial Intelligence.Google ScholarGoogle Scholar
  4. ANDREWS, P., MILLER, D., COHEN, E., AND PFEN- NING, F. 1984. Automating higher-order logic. Vol. 29. In Automated Theorem Proving: After 25 Years, W. Bledsoe and D. Loveland, Eds. American Mathematical Society, Providence, R.I., Contemporary Mathematics Series.Google ScholarGoogle Scholar
  5. AIT-KACI, H. 1984. A lattice theoretic approach to computation based on a calculus of partially ordered type structures. Ph.D. dissertation. Univ. of Pennsylvania, Philadelphia, Pa. Google ScholarGoogle Scholar
  6. AIT-KACI, H. 1986. An algebraic semantics approach to the effective resolution of type equations. Theor. Comput. Sci. 45. Google ScholarGoogle Scholar
  7. AIT-KACI, H., AND NASR, R. 1986. LOGIN: A logic programming language with built-in inheritance. J. Logic Program. 3. (Also MCC Tech. Rep. AI- 068-85, 1985.) Google ScholarGoogle Scholar
  8. BAADER, F. 1986. The theory of idempotent semigroups is of unification type zero. J. Autom. Reasoning 2, pp. 283-286. Google ScholarGoogle Scholar
  9. BARWlSE, J., AND PERRY, J. 1983. Situations and Attitudes. MIT Press, Cambridge, Mass.Google ScholarGoogle Scholar
  10. BATTANI, G., AND MELONI, H. 1973. Interpreteur du langage de programmation PROLOG. Groupe Intelligence Artificielle, Universit~ Aix-Marseille II.Google ScholarGoogle Scholar
  11. BAXTER, r. 1973. An efficient unification algorithm. Tech. Rep. No. CS-73-23, Univ. of Waterloo, Waterloo, Ontario, Canada.Google ScholarGoogle Scholar
  12. BAXTER, L. 1976. The complexity of unification. Ph.D. dissertation. Univ. of Waterloo, Waterloo, Ontario, Canada. Google ScholarGoogle Scholar
  13. BAXTER, L. 1978. The undecidability of the third order dyadic unification problem. Inf. Control 38, pp. 170-178.Google ScholarGoogle Scholar
  14. BOOK, R. V., AND SIEKMANN, J. 1986. On unification: Equational theories are not bounded. J. Symbolic Comput. 2, pp. 317-324. Google ScholarGoogle Scholar
  15. BOYER, R. S., AND MOORE, J. S. 1972. The sharing of structure in theorem-proving programs. Mach. inteU. 7.Google ScholarGoogle Scholar
  16. BRESNAN, Z., AND KAPLAN, R. 1982. Lexicalfunctional grammar: A formal system for grammatical representation. In The Mental Representation of Grammatical Relations, J. Bresnan, Ed. MIT Press, Cambridge, Mass.Google ScholarGoogle Scholar
  17. BRUYNOOGHE, M., AND PEREIRA, r. M. 1984. Deduction revision by intelligent backtracking. In Prolog Implementation, J. A. Campbell, Ed. Elsevier, North-Holland, New York.Google ScholarGoogle Scholar
  18. CARDELLI, L. 1984. A semantics of multiple inheritance, in Semantics of Data Types, Lecture Notes in Computer Science, No. 173, G. Kahn, D. B. MacQueen, and G. Plotkin, Eds., Springer- Verlag, New York. Google ScholarGoogle Scholar
  19. CHEN, T. Y., LASSEZ, J., AND PORT, G. S. 1986. Maximal unifiable subsets and minimal nonunifiable subsets. New Generation Comput. 4, pp. 133-152. Google ScholarGoogle Scholar
  20. CHURCH, A. 1940. A formulation of the simple theory of types. J. Symbolic Logic 5, pp. 56-68.Google ScholarGoogle Scholar
  21. CLOCKSlN, W. F., AND MELLISH, C. $. 1981. Programming in Prolog. Springer-Verlag, New York. Google ScholarGoogle Scholar
  22. COLMERAUER, A. 1978. Metamorphosis grammars. In Natural Language Communication with Computers, L. Bolc, Ed. Springer-Verlag, New York. Google ScholarGoogle Scholar
  23. COLMERAUER, A. 1982a. An interesting subset of natural language. In Logic Programming, K. L. Clark and S. Tfirnlund, Eds. Academic Press, London.Google ScholarGoogle Scholar
  24. COLMERAUER, A. 1982b. Prolog and infinite trees. In Logic Programming, K. L. Clark and S. T/irnlund, Eds. Academic Press, Orlando, Fla.Google ScholarGoogle Scholar
  25. COLMERAUER, A. 1983. Prolog in ten figures. In Proceedings of the International Joint Conference on Artificial Intelligence.Google ScholarGoogle Scholar
  26. COLMERAUER, A., KANOUI, H., AND VAN CANEGHEM, M. 1973. Un systeme de communication homme-machine en Francais. Research Rep. Groupe Intelligence Artificielle, Universit~ Aix- Marseille II.Google ScholarGoogle Scholar
  27. CORBIN, J., AND BIDOIT, M. 1983. A rehabilitation of Robinson's unification algorithm. Inf. Process. 83, pp. 73-79.Google ScholarGoogle Scholar
  28. COURCELLE, S. 1983. Fundamental properties of infinite trees. Theor. Comput. Sci. 25, pp. 95-169.Google ScholarGoogle Scholar
  29. COX, P. T. 1984. Finding backtrack points for intelligent backtracking. In Prolog Implementation, J. A. Campbell, Ed. Elsevier, North-Holland, New York.Google ScholarGoogle Scholar
  30. DAHL, V. 1984. More on gapping grammars. In Proceedings of the International Conference on Fifth Generation Computer Systems. Sponsored by Institute for New Generation Computer Technology (ICOT).Google ScholarGoogle Scholar
  31. DAHL, V., AND ABRAMSON. 1984. On gapping grammars. in Proceedings of the 2nd International Conference on Logic Programming. Sponsored by Uppsala University, Uppsala, Sweden.Google ScholarGoogle Scholar
  32. DAHL, V., AND SAINT-DIZIER, P., EDS. 1985. Natural Language Understanding and Logic Programming. Elsevier North-Holland, New York. Google ScholarGoogle Scholar
  33. DARLINGTON, J. 1968. Automatic theorem proving with equality substitutions and mathematical induction. Mach. InteU. 3. Elsevier, New York.Google ScholarGoogle Scholar
  34. DARLINGTON, g. 1971. A partial mechanization of second-order logic. Mach. Intell. 6.Google ScholarGoogle Scholar
  35. DARLINGTON, J. 1977. Improving the efficiency of higher order unification. In Proceedings of the International Joint Conference on Artifical Intelligence.Google ScholarGoogle Scholar
  36. DE CHAMPEAUX, D. 1986. About the Paterson- Wegman linear unification algorithm. J. Comput. Syst. Sci. 32, pp. 79-90. Google ScholarGoogle Scholar
  37. DWORK, C., KANELLAKIS, P. C., AND MITCHELL, J. C. 1984. On the sequential nature of unification. J. Logic Program. 1, pp. 35-50. Google ScholarGoogle Scholar
  38. DWORK, C., KANELLAKIS, P. C., AND STOCKMEYER, L. 1986. Parallel algorithms for term matching. In Proceedings of the 8th International Conference on Automated Deduction. Google ScholarGoogle Scholar
  39. EARLEY, J. 1968. An efficient context-free parsing algorithm. Ph.D. dissertation, Computer Science Dept., Carnegie-Mellon Univ., Pittsburgh, Pa. Google ScholarGoogle Scholar
  40. EARLEY, J. 1970. An efficient context-free parsing algorithm. Commun. A CM 6, pp. 94-102. Google ScholarGoogle Scholar
  41. EISELE, A., AND DORRE, J. 1986. A lexical functional grammar system in Prolog. in Proceedings of the International Conference on Computational Linguistics. North-Holland, Amsterdam, New York. Google ScholarGoogle Scholar
  42. EISELE, A., AND DORRE, J. 1988. Unification of disjunctive feature descriptions. In Proceedings of the 26th Annual Meeting of the Association for Computational Linguistics. Google ScholarGoogle Scholar
  43. FAGES, F., AND HUET, G. 1986. Complete sets of unifiers and matchers in equational theories. Theor. Comput. Sci. 43, pp. 189-200. Google ScholarGoogle Scholar
  44. FARMER, W. M. 1987. A unification algorithm for second-order monadic terms. Tech. Rep. (forthcoming). The MITRE Corporation, document MTP-253.Google ScholarGoogle Scholar
  45. FAY, M. 1979. First order unification in an equational theory. In Proceedings of the 4th Workshop on Automated Deduction, Austin, Texas.Google ScholarGoogle Scholar
  46. GALLIER, J. H., AND SNYDER, W. 1988. Complete sets of transformations for general E-unification. Tech. Rep. MS-CIS-88-72-LINCLAB-130. Dept. of Computer and Information Science, Univ. of Pennsylvania, Philadelphia, Pa.Google ScholarGoogle Scholar
  47. GAZDAR, G. 1987. The new grammar formalisms A tutorial survey (abstract). In Proceedings of the International Joint Conference on Artificial Intelligence.Google ScholarGoogle Scholar
  48. GAZDAR, G., AND PULLUM, G. K. 1985. Computationally relevant properties of natural languages and their grammars. New Generation Comput. 3, pp. 273-306.Google ScholarGoogle Scholar
  49. GAZDAR, G., FRANZ, A., OSBORNE, K., AND EVANS, R. 1987. Natural Language Processing in the 1980's--A Bibliography. CSLI Lecture Notes Series, Center for the Study of Language and information, Stanford, California. Google ScholarGoogle Scholar
  50. GOGUEN, J. A., AND MESEGUER, J. 1987. Ordersorted algebra solves the constructor-seleclor multiple representation and coercion problems. Tech. Rep. CSLI-87-92, Center for the Study of Language and Information.Google ScholarGoogle Scholar
  51. GOLDFARB, W. D. 1981. The undecidability of the second order unification problem. J. Theoret. Comput. Sci. 13, pp. 225-230.Google ScholarGoogle Scholar
  52. GOLDSCHLAGER, L. 1978. A unified approach to models of synchronous parallel machines. In Proceedings of the Symposium on the Theory of Computing. Sponsored by ACM Special Interest Group for Automata and Computability Theory (SIGACT). Google ScholarGoogle Scholar
  53. GOULD, W. E. 1966a. A matching procedure for w-order logic. Ph.D. dissertation. Princeton Univ., Princeton, N.J.Google ScholarGoogle Scholar
  54. GOULD, W. E. 1966b. A matching procedure for w-order logic. Scientific Rep. 4, AFCRL 66-78i.Google ScholarGoogle Scholar
  55. GUARD, J. R. 1964. Automated logic for semi-automated mathematics. Scientific Rep. 1, AFCRL 64-411.Google ScholarGoogle Scholar
  56. HARLAND, J., AND JAFFAR, J. 1987. On Parallel Unification for Prolog. New Generation Comput. 5. Google ScholarGoogle Scholar
  57. HASIDA, K. 1986. Conditioned unification for natural language processing. In Proceedings of the International Conference on Computational Linguistics. North-Holland, Amsterdam, New York. Google ScholarGoogle Scholar
  58. HENKIN, L. 1950. Completeness in the theory of types. J. Symbolic Logic 15, pp. 81-91.Google ScholarGoogle Scholar
  59. HERBRAND, J. 1971. Recherches sur la theorie de la demonstration. Ph.D. dissertation. In Logical Writings, W. Goldfarb, Ed. Harvard University Press, Cambridge, Massachusetts.Google ScholarGoogle Scholar
  60. HINDLEY, R. 1969. The principal type-scheme of an object in combinatory logic. Trans. Am. Math. Soc. 146.Google ScholarGoogle Scholar
  61. HIRSH, S. B. 1986. P-PATR: A compiler for unification-based grammars. Center for the Study of Language and information.Google ScholarGoogle Scholar
  62. HUET, G. 1972. Contrained resolution: A complete method for higher order logic. Ph.D. dissertation. Case Western Reserve Univ., Cleveland, OH. Google ScholarGoogle Scholar
  63. HUET, G. 1973a. A mechanization of type theory. In Proceedings of the International Joint Conference on Artificial Intelligence.Google ScholarGoogle Scholar
  64. HURT, G. 1973b. The undecidability of unification in third order logic. Inf. Control 22, pp. 257-267.Google ScholarGoogle Scholar
  65. HUET, G. 1975. A unification algorithm for typed k-calculus. Theoret. Comput. Sci. I, pp. 27-57.Google ScholarGoogle Scholar
  66. HUET, G. 1976. Resolution d'equations dans les langages d'ordre 1, 2 ... w. Ph.D. dissertation. Univ. de Paris VII, France.Google ScholarGoogle Scholar
  67. HUET, G., AND OPPEN, D. 1980. Equations and rewrite rules: A survey. In Formal Language Theory, R. V. Book, Ed. Academic Press, Orlando, Fla.Google ScholarGoogle Scholar
  68. JAFFAR, J. 1984. Efficient unification over infinite terms. New Generation Comput. 2, pp. 207-219.Google ScholarGoogle Scholar
  69. JENSEN, D. C., AND PIETRZYKOWSKI, T. 1976. Mechanizing w-order type theory through unification. Theoret. Comput. Sci. 3, pp. 123-171.Google ScholarGoogle Scholar
  70. KAPUR, D., AND NARENDRAN, P. 1986. NP-completeness of the set unification and matching problems. In Proceedings of the 8th International Conference on Automated Deduction. Springer- Verlag, New York. Google ScholarGoogle Scholar
  71. KAPUR, D., KRISHNAMOORTHY, M. $., AND NAREN- DRAN, P. 1982. A new linear algorithm for unification. Tech. Rep. 82CRD-100, General Electric.Google ScholarGoogle Scholar
  72. KARTTUNEN, r. 1984. Features and values. In Proceedings of the International Conference on Computational Linguistics. Google ScholarGoogle Scholar
  73. KARTTUNEN, L. 1986a. D-PATR: A development environment for unification-based grammars. In Proceedings of the International Conference on Computational Linguistics. North-Holland, Amsterdam, New York. Google ScholarGoogle Scholar
  74. KARTTUNEN, L. 1986b. Radical lexicalism. Tech. Rep. CSLI-86-68, Center for the Study of Language and Information.Google ScholarGoogle Scholar
  75. KARTTUNEN, L., AND KAY, M. 1985. Structure sharing with binary trees. In Proceedings of the 23rd Annual Meeting of the of the Association for Computational Linguistics. Google ScholarGoogle Scholar
  76. KASPER, R. 1987. A unification method for disjunctive feature descriptions. In Proceedings of the 25th Annual Meeting of the Association for Computational Linguistics. Google ScholarGoogle Scholar
  77. KASPER, R., ANn ROUNDS, W. C. 1986. A logical semantics for feature structures. In Proceedings of the 24th Annual Meeting of the Association for Computational Linguistics. Google ScholarGoogle Scholar
  78. KAY, M. 1979. Functional grammar. In 5th Annual Meeting of the Berkeley Linguistic Society. Sponsored by Berkeley Linguistics Society, Berkeley, California.Google ScholarGoogle Scholar
  79. KAY, M. 1984. Functional unification grammar: A formalism for machine translation. In Proceedings of the International Conference on Computational Linguistics. North-Holland, Amsterdam, New York. Google ScholarGoogle Scholar
  80. KAY, M. 1985a. Parsing in functional grammar. In Natural Language Parsing, D. Dowty, L. Karttuhen, and A. Zwicky, Eds. Cambridge Univ. Press, Cambridge.Google ScholarGoogle Scholar
  81. KAY, M. 1985b. Unification in grammar. In Natural Language Understanding and Logic Programming, V. Dahl and P. Saint-Dizier, Eds. Elsevier, North-Holland, New York.Google ScholarGoogle Scholar
  82. KIRCHNER, C. 1986. Computing unification algorithms. In I st Symposium on Logic in Computer Science. Co-sponsored by IEEE Computer Society, Technical Committee on Mathematical Foundations of Computing; ACM Special Interest Group for Automata and Computability Theory (SIGACT); Association for Symbolic Logic; European Association for Theoretical Computer Science.Google ScholarGoogle Scholar
  83. KNUTH, D., AND BENmX, P. B. 1970. Simple word problems in universal algebra. In Computational Problems in Abstract Algebra, J. Leech, Ed. Pergamon Press, Oxford.Google ScholarGoogle Scholar
  84. LEVY, J. 1983. A unification algorithm for concurrent Prolog. In Proceedings of the 2nd Logic Programming Conference. Sponsored by Uppsala University, Uppsala, Sweden.Google ScholarGoogle Scholar
  85. LEWIS, H. R., AND STATMAN, R. 1982. Unifiability is complete for co-NLogSpace, info. Process. Lett. 15, pp. 220-222.Google ScholarGoogle Scholar
  86. LIVESEY, M., SIEKMANN, J., SZABO, P., AND UNVERICHT, E. 1979. Unification problems for combinations of associativity, commutatitivity, distributivity and idempotence axioms. In Proceedings of the 4th Workshop on Automated Deduction, Austin, Texas.Google ScholarGoogle Scholar
  87. LUCCHESI, C. L. 1972. The undecidability of the unification problem for third order languages. Tech. Rep. CSRR 2059, Dept. of Applied Analysis and Computer Science, University of Waterloo, Waterloo, Ontario, Canada.Google ScholarGoogle Scholar
  88. MACQUEEN, D., PLOTKIN, G., AND SETHI, R. 1984. An ideal model for recursive polymorphic types. In Proceedings of the A CM Symposium on Principles of Programming Languages. ACM, New York. Google ScholarGoogle Scholar
  89. MALUSZYNSKI, J., AND KOMOROWSKI, H. J. 1985. Unification-free execution of Horn-clause programs. In Proceedings of the 2nd Logic Programming Symposium. IEEE, New York. (Also, Harvard Univ., Computer Science Dept., Tech. Rep. TR- 10-85, 1985. )Google ScholarGoogle Scholar
  90. MANNILA, H., AND UKKONEN, E. 1986. On the complexity of unification sequences. In Proceedings of the 3rd International Logic Programming Conference. Springer-Verlag, New York. Google ScholarGoogle Scholar
  91. MARTELLI, A., AND MONTANARI, U. 1976. Unification in linear time and space: A structured presentation. Internal Rep. No. B76-16, Ist. di Elaborazione delle Informazione, Consiglio Nazionale delle Ricerche, Pisa, Italy.Google ScholarGoogle Scholar
  92. MARTELLI, A., AND MONTANARI, U. 1977. Theorem proving with structure sharing and efficient unification. In Proceedings of International Joint Conference on Artificial Intelligence. (Also Internal Rep. No. S-77-7, Istituto di Scienze dell'Informazione, Univ. of Pisa, Italy).Google ScholarGoogle Scholar
  93. MARTELLI, A., AND MONTANARI, U. 1982. An efficient unification algorithm. A CM Trans. Prog. Lang. Syst. 4. Google ScholarGoogle Scholar
  94. MATSUMOTO, Y., AND SUGIMURA, R. 1987. A parsing system based on logic programming. In Proceedings of the International Joint Conference on Artificial Intelligence.Google ScholarGoogle Scholar
  95. MATSUMOTO, Y., TANAKA, H., HIRAKAWA, H., MIYOSHI, H., ANO YASUKAWA, H. 1983. BUP: A bottom-up parser embedded in Prolog. New Generation Comput. 1, pp. 145-158.Google ScholarGoogle Scholar
  96. MATWIN, S., AND PIETRZYKOWSKI, T. 1982. Exponential improvement of exhuastive backtracking: Data structure and implementation. In Proceedings of the 6th International Conference on Automated Deduction. Springer-Verlag, New York. Google ScholarGoogle Scholar
  97. MCCORD, M. C. 1980. Slot grammars. Comput. Linguist. 6, pp. 31-43. Google ScholarGoogle Scholar
  98. MCCORD, M. C. 1985. Modular logic grammars. In Proceedings o/the 23rd Annual Meeting of the Association for Computational Linguistics. Google ScholarGoogle Scholar
  99. MESEGUER, J., GOGUEN, J. A., AND SMOLKA, G. 1987. Order-sorted unification. Tech. Rep. CSLI-87-86, Center for the Study of Language and Information.Google ScholarGoogle Scholar
  100. MILLER, D. A., AND NADATHUR, G. 1987. Some use of higher-order logic in computational linguistics. In Proceedings of the 25rd Annual Meeting of the Association for Computational Linguistics. Google ScholarGoogle Scholar
  101. MILNER, R. 1978. A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17, pp. 348-375.Google ScholarGoogle Scholar
  102. MINSKY, M. 1975. A framework for representing knowledge. In The Psychology of Computer Vision, P. Winston, Ed. McGraw-Hill, New York.Google ScholarGoogle Scholar
  103. MITCHELL, T. 1979. Version spaces: An approach to concept learning, Ph.D. dissertation, Stanford Univ., Stanford, Calif. Google ScholarGoogle Scholar
  104. MOSHIER, D., AND ROUNDS, W. C. 1987. A logic for partially specified data structures. In A CM Symposium on Principles of Programming Languages. ACM, New York. Google ScholarGoogle Scholar
  105. MUKAI, K. 1983. A unification algorithm for infinite trees. In Proceedings of the International Joint Conference on Artificial Intelligence.Google ScholarGoogle Scholar
  106. MUKAI, K. 1985a. Horn clause logic with parameterized types for situation semantics programming. Tech. Rep. TR-101, ICOT.Google ScholarGoogle Scholar
  107. MUKAI, K. 1985b. Unification over complex indeterminates in Prolog. Tech. Rep. TR-113, ICOT.Google ScholarGoogle Scholar
  108. MUKAI, K., AND YASUKAWA, H. 1985. Complex indeterminates in Prolog and its application to discourse models. New Generation Comput. 3, pp. 441-466. Google ScholarGoogle Scholar
  109. NILSSON, N. J. 1980. Principles of Artificial InteUigence. Tioga, Palo Alto. Google ScholarGoogle Scholar
  110. PATERSON, M. S., AND WEGMAN, M. N. 1976. Linear unification. In Proceedings of the Symposium on the Theory of Computing. ACM Special Interest Group for Automata and Computability Theory (SIGACT). Google ScholarGoogle Scholar
  111. PATERSON, M. S., AND WF. GMA~, M. N. 1978. Linear unification. J. Comput. Syst. Sci. 16, pp. 158-167.Google ScholarGoogle Scholar
  112. PEREIRA, F. C. N. 1981. Extraposition grammars. Comput. Linguist. 7. Google ScholarGoogle Scholar
  113. PEREIRA, F. C. N. 1985. A structure-sharing representation for unification-based grammar formalisms. In Proceedings of the 23rd Annual Meeting of the Association for Computational Linguistics. Google ScholarGoogle Scholar
  114. PEREIRA, F. C. N. 1987. Grammars and logics of partial information. In Proceedings of the 4th International Conference on Logic Programming. Springer-Verlag, New York.Google ScholarGoogle Scholar
  115. PEREIRA, F. C. N., AND SHIEBER, S. 1984. The semantics of grammar formalisms seen as computer languages. In Proceedings of the International Conference on Computational Linguistics. Google ScholarGoogle Scholar
  116. PEREIRA, F. C. N., AND WARREN, D. H. D. 1980. Definite clause grammars for language analysisa survey of the formalism and a comparison with augmented transition networks. Arti{. Intell. 13, pp. 231-278.Google ScholarGoogle Scholar
  117. PIETRZYKOWSKI, T. 1973. A complete mechanization of second-order type theory. J. ACM, 20, pp. 333-365. (Also Univ. of Waterloo, Research Rep., CSRR 2038, 1971.) Google ScholarGoogle Scholar
  118. PIETRZYKOWSKI, T., AND JENSEN, D. 1972. A complete mechanization of w-order logic. Research Rep. CSRR 2060, Univ. of Waterloo, Waterloo, Ontario, Canada.Google ScholarGoogle Scholar
  119. PIETRZYKOWSKI, T., AND JENSEN, D. 1973. Mechanizing w-order type theory through unification. Tech. Rep. CS-73-16, Univ. of Waterloo, Waterloo, Ontario, Canada.Google ScholarGoogle Scholar
  120. PIETRZYKOWSKI, T., AND MATWIN, S. 1982. Exponential improvement of efficient backtracking: A strategy for plan based deduction. In Proceedings of the 6th International Conference on Automated Deduction. Springer-Verlag, New York. Google ScholarGoogle Scholar
  121. PLAISTED, D. 1984. The occur-check problem in Prolog. New Generation Comput. 2, pp. 309-322.Google ScholarGoogle Scholar
  122. PLOTKIN, G. 1970. A note on inductive generalization. Mach. InteU. 5.Google ScholarGoogle Scholar
  123. PLOTKIN. G. 1972. Building-in equational theories. Mach. Intell. 7.Google ScholarGoogle Scholar
  124. POLLARD, C. 1985. Phrase structure grammar without metarules. In Proceedings of the 4th West Coast Conference on Formal Linguistics.Google ScholarGoogle Scholar
  125. REYLE, U., AND FREY, W. 1983. A PROLOG implementation of lexical functional grammar. In Proceedings of the International Joint Conference on Artificial Intelligence.Google ScholarGoogle Scholar
  126. REYNOLDS, J. C. 1970. Transformational systems and the algebraic structure of atomic formulas. Mach. InteU. 5.Google ScholarGoogle Scholar
  127. RISTAD, E. S. 1987. Revised generalized phrase structure grammar. In Proceedings of the 25th Annual Meeting of the Association for Computational Linguistics. Google ScholarGoogle Scholar
  128. ROBINSON, J. A. 1965. A machine-oriented logic based on the resolution principle. J. ACM 12, pp. 23-41. Google ScholarGoogle Scholar
  129. ROBINSON, J. A. 1968. New directions in mechanical theorem proving. In Proceedings of the International Federation of Information Processing Congress.Google ScholarGoogle Scholar
  130. ROBINSON, J. A. 1969. Mechanizing higher-order logic. Mach. InteU. 4.Google ScholarGoogle Scholar
  131. ROBINSON, J. A. 1970. A note on mechanizing higher order logic. Mach. InteU. 5.Google ScholarGoogle Scholar
  132. ROBINSON, J. A. 1971. Computational logic: The unification computation. Mach. InteU. 6.Google ScholarGoogle Scholar
  133. ROBINSON, P. 1985. The SUM: An AI coprocessor. Byte 10.Google ScholarGoogle Scholar
  134. ROUNDS, W. C., AND KASPER, R. 1986. A complete logical calculus for record structures representing linguistic information. In Proceedings of the 1st Symposium on Logic in Computer Science. Cosponsored by the IEEE Computer Society, Technical Committee on Mathematical Foundations of Computing; ACM Special Interest Group for Automata and Computability Theory (SIGACT); Association for Symbolic Logic; European Association for Theoretical Computer Science.Google ScholarGoogle Scholar
  135. ROUNDS, W. C., AND MANASTER-RAMER, A. 1987. A logical version of functional grammar, in Proceedings of the 25th Annual Meeting of the Association for Computational Linguistics. Google ScholarGoogle Scholar
  136. ROUSSEL, P. 1975. PROLOG, Manuel de reference et d'utilisation. Groupe Intelligence Artificielle, Universit6 Aix-Marseille II.Google ScholarGoogle Scholar
  137. SAG, I. A., AND POLLARD, C. 1987. Head-driven phrase structure grammar: An informal synopsis. Tech. Rep. CSLI-87-79, Center for the Study of Language and Information.Google ScholarGoogle Scholar
  138. SCHMIDT-SCHAUSS, M. 1986. Unification under associativity and idempotence is of type nullary. J. Autom. Reasoning 2, pp. 277-281. Google ScholarGoogle Scholar
  139. SELLS, P. 1985. Lectures on Contemporary Syntactic Theories. Univ. of Chicago, Chicago, Ill. Also, CSLI Lecture Notes Series.Google ScholarGoogle Scholar
  140. SHAPIRO, E. 1983. A subset of concurrent Prolog and its interpreter. Tech. Rep. TR-003, ICOT.Google ScholarGoogle Scholar
  141. SHIEBER, S. 1984. The design of a computer language for linguistic information. In Proceedings of the International Conference on Computational Linguistics. North-Holland, Amsterdam, New York. Google ScholarGoogle Scholar
  142. SHIEBER, S. 1985. Using restriction to extend parsing algorithms for feature-based formalisms. In Proceedings of the 23rd Annual Meeting of the Association for Computational Linguistics. Sponsored by International Joint Conference on Artificial Intelligence. Google ScholarGoogle Scholar
  143. SHIEBER, S. 1986. An Introduction to Unification- Based Approaches to Grammar. CSLI Lecture Notes Series, Center for the study of Language and information, Stanford, California.Google ScholarGoogle Scholar
  144. SIEKMANN, J. 1984. Universal unification. In Proceedings of the 7th International Conference on Automated Deduction. (Newer version to appear in the J. Symbolic Comput. special issue on unification, C. Kirchner, Ed., 1988.) Springer-Verlag, New York. Google ScholarGoogle Scholar
  145. SIEKMANN, J. 1986. Unification theory. In Proceedings of the 7th European Conference on Artificial Intelligence. Sponsored by the European Coordinating Committee for Artificial Intelligence.Google ScholarGoogle Scholar
  146. SMOLKA, G., AND AiT-KACI, H. 1987. Inheritance hierarchies: Semantics and unification. Tech. Rep. AI-057-87, Microelectronics and Computer Technology Corporation (MCC), Austin, Texas. (To appear in the J. Symbolic Comput. special issue on unification, C. Kirchner, Ed., 1988.) Google ScholarGoogle Scholar
  147. STABLER, E. P. 1983. Deterministic and bottom-up parsing in Prolog. In Proceedings of the Conference of the American Association for Artificial Intelligence.Google ScholarGoogle Scholar
  148. STEELE, C. 1984. Common LISP: The Language. Digital Press, Bedford, Mass. Google ScholarGoogle Scholar
  149. STICKEL, M. 1978. Mechanical theorem proving and artificial intelligence languages, Ph.D. dissertation, Computer Science Dept., Carnegie-Mellon Univ., Pittsburgh, Pa. Google ScholarGoogle Scholar
  150. TOMITA, M. 1987. An efficient augmented-contextfree parsing algorithm. Comput. Linguist. 13, pp. 31-46. Google ScholarGoogle Scholar
  151. TOMITA, M. 1985a. An efficient context-free parsing algorithm for natural languages. In Proceedings of the International Joint Conference on Artificial Intelligence.Google ScholarGoogle Scholar
  152. TOMITA, U. 1985b. An efficient context-free parsing algorithm for natural languages and its applications, Ph.D. dissertation, Computer Science Dept., Carnegie-Mellon Univ., Pittsburgh, Pa. Google ScholarGoogle Scholar
  153. TOMITA, M., AND KNIGHT, g. 1988. Full unification and pseudo unification. Tech. Rep. CMU-CMT- 87-MEMO. Center for Machine Translation, Carnegie-Mellon Univ., Pittsburgh, Pa.Google ScholarGoogle Scholar
  154. TRUM, P., AND WINTERSTEIN, G. 1978. Description, implementation, and practical comparison of unification algorithms. Internal Rep. No. 6/78, Fachbereich Informatik, Universitat Kaiserlautern, W. Germany.Google ScholarGoogle Scholar
  155. USZKOREIT, $. 1986. Categorial unification grammars. In Proceedings of the International Conference on Computational Linguistics. (Also CLSI Tech. Rep. CSLI-86-66.) North-Holland, Amsterdam, New York. Google ScholarGoogle Scholar
  156. VAN EMDEN, M. H., AND KOWALSKI, R. A. 1976. The semantics of predicate logic as a programming language. J. ACM 23, pp. 733-742. Google ScholarGoogle Scholar
  157. VENTURINI-ZILLI, M. 1975. Complexity of the unification algorithm for first-order expressions. Res. Rep. Consiglio Nazionale Delle Ricerche Istituto per le applicazioni del calcolo, Rome, Italy.Google ScholarGoogle Scholar
  158. VITTER, J. S., AND SIMONS, R. A. 1984. Parallel algorithms for unification and other complete problems in P. In A CM '84 Conference Proceedings (San Francisco, Calif., Oct. 8-10). ACM, New York. Google ScholarGoogle Scholar
  159. VITTER, Z. S., AND SIMONS, R. A. 1986. New classes for parallel complexity: A study of unification and other complete problems for P. IEEE Trans. Comput. C-35. Google ScholarGoogle Scholar
  160. WALTHER, C. 1986. A classification of many-sorted unification problems. In Proceedings of the 8th International Conference on Automated Deduction. Springer-Verlag, New York. Google ScholarGoogle Scholar
  161. WARREN, D. H. D., PEREIRA, F. C. N., AND PEREIRA, L. M. 1977. Prolog--The language and its implementation compared with LISP. In Symposium on Artificial Intelligence and Programming Systems. Co-sponsored by ACM Special Interest Group on Artificial Intelligence (SIGACI), ACM Special Interest Group on Programming Languages (SIGPL). Google ScholarGoogle Scholar
  162. WINTERSTEIN, G. 1976. Unification in second order logic. Res. Rep. Fachbereich Informatik, Universitat Kaiserslautern, W. Germany.Google ScholarGoogle Scholar
  163. WITTENBURG, K. 1986. Natural language parsing with combinatory categorial grammar in a graphunification-based formalism. Ph.D. dissertation. Univ. of Texas, Austin, Texas.Google ScholarGoogle Scholar
  164. WOODS, W. 1970. Transition network grammars for natural language analysis. Cornmun. ACM 13, pp. 591-606. Google ScholarGoogle Scholar
  165. WROBLEWSKI, D. 1987. Nondestructive graph unification. In Proceedings of the Conference on the American Association for Artificial Intelligence.Google ScholarGoogle Scholar
  166. YASUURA, H. 1984. On the parallel computational complexity of unification. In Fifth Generation Computer Systems. Sponsored by. the Institute for New Generation Computer Technology (ICOT). (Also Yajima Labs, Tech. Rep. ER-83- 01, 1983.)Google ScholarGoogle Scholar
  167. YOKOI, T., MUKAI, K., MIYOSHI, H., TANAKA, Y., AND SUGIMURA, R. 1986. Research activities on natural language processing of the FGCS project. ICOT J. 14, pp. 1-8.Google ScholarGoogle Scholar
  168. ZEEVAT, H., KLEIN, E., AND CALDER, J. 1987. Unification categorial grammar. In Categorial Grammar, Unification Grammar, and Parsing, N. Haddock, E. Klein, and G. Morrill, Eds. Centre for Cognitive Science, University of Edinburgh, Edinburgh, Scotland.Google ScholarGoogle Scholar

Recommendations

Reviews

Alfs T. Berztiss

Surveys generally focus on a problem and examine various techniques for dealing with the problem. Much rarer, and requiring much greater erudition, is a survey that focuses on a technique and examines its uses in various application areas. This survey is of the latter type, and it can be taken as a model for such surveys. The reader will be particularly helped by the author's gift for exposition—he provides easily understood intuitive explanations for many of the harder aspects of unification. The bibliography is extensive (168 items) and, since most sections contain a discussion of current research, the survey can serve not only a novice, but also somebody experienced in one of the application domains who wants a broader appreciation of the topic. Unification is the technique of finding an object that fits two descriptions, and the primary concern with this technique has been in theorem proving by resolution. The successful application of the resolution principle requires a fast unification algorithm, and the first part of the survey deals with the history of unification algorithms, in which their complexity was reduced from exponential to linear time. The survey contains version of an early exponential algorithm and an almost linear algorithm. In all, 4 of the 13 sections of the survey deal with implementation. Seven sections consider applications. The standard applications in theorem proving and logic programming are, of course, covered. The author puts most emphasis on the use of unification in natural language processing (NLP), however. This emphasis is understandable because NLP is the author's research area, but one can question whether the merging of concept structures (view integration in database terminology, see Batini et al. [1]) is really unification. One of the remaining two sections examines unification in the framework of lattice theory, with generalization introduced as a dual of unification. The other section contains a list of the properties of unification and indicates research trends.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM Computing Surveys
    ACM Computing Surveys  Volume 21, Issue 1
    March 1989
    120 pages
    ISSN:0360-0300
    EISSN:1557-7341
    DOI:10.1145/62029
    Issue’s Table of Contents

    Copyright © 1989 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 March 1989
    Published in csur Volume 21, Issue 1

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader