Advertisement

Outer narrowing for equational theories based on constructors

  • Jia-Huai You
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 317)

Abstract

We investigate a special narrowing strategy, called outer narrowing, for the purpose of generating complete sets of E-unifiers and E-matchers in equational theories that can be described by a constructor-based term rewriting system. Two results are presented. It is shown that every narrowing derivation in this class is subsumed by an outer narrowing derivation. This result is applied to a matching problem in equational theories, i.e., whether an arbitrary term is E-matchable to a term composed of constructors and a disjoint set of variables. It is shown that outer narrowing yields a procedure that can generate complete sets of minimal E-matchers for this matching problem.

Keywords

Logic Program Logic Programming Function Symbol Equational Theory Match Problem 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [BuHS87]
    Burckert, H., A. Herold and M. Schmidt-Schauβ, “On equational theories, unification and decidability,” in Proc. of RTA'87, LNCS 256, 1987.Google Scholar
  2. [BuSa80]
    Burstall, R.M. and D.T. Sannella,, “HOPE user's manual,” Dept. of Computer Science, University of Edinburgh, 1980.Google Scholar
  3. [DePl85]
    Dershowitz, H. and D. Plaited, “Logic programming cum applicative programming,” in Proc. 1985 International Symposium on Logic Programming, pp. 54–67, Boston, Mass., July, 1985.Google Scholar
  4. [Ders85]
    Dershowitz, H., “Computing with rewrite rules,” Information and Control, Vol. 65 No.2/3, May/June 1985.Google Scholar
  5. [DiHe87]
    Dincbas, M. and P. van Hentenryck, “Extended unification algorithms for the integration of functional programming into logic programming,” Journal of Logic Programming, 1987.Google Scholar
  6. [FaHu83]
    Fages, F and G. Huet, “Unification and matching in equational theories,” in Proc. CAAP '83, LNCS 159, pp. 205–220, 1983.Google Scholar
  7. [Fay79]
    Fay, M.J., “First-order unification in an equational theory,” in 4th Workshop on Automated Deduction, pp. 161–167, 1979.Google Scholar
  8. [Frib85]
    Fribourg, L., “SLOG: A logic programming language interpreter based on clausal superposition and rewriting,” in Proc. 1985 International Symposium on Logic Programming, pp. 172–184, Boston, Mass., July, 1985.Google Scholar
  9. [GaSn87]
    Gallier J.H. and Wayne Snyder, “A general complete E-unification procedure,” in Proc. of RTA '87, LNCS 256, pp. 216–227, 1987.Google Scholar
  10. [GoMe84]
    Goguen, J. and J. Meseguer, “Equality, types, modules and generics for logic programming,” Journal of Logic Programming, Vol 2. 1984, pp 179–210.Google Scholar
  11. [HoOD82]
    Hoffmann, C.M. and M. O'Donnell, “Programming with equations,” ACM TOPLAS, vol. 4, no. 1, pp. 83–112, January, 1982.Google Scholar
  12. [HuLe79]
    Huet, G. and J-J. Levy, “Call by need computations in nonambiguous linear term rewriting systems,” Technical Report, 359, INRIA, Le Chesnay, France, 1979.Google Scholar
  13. [HuOp80]
    Huet, G. and D.C. Oppen, “Equations and rewrite rules: a survey,” in Formal Language Theory: Perspectives and Open Problems, R.V. Book (ed.), pp. 349–405, Academic Press, New York, 1980.Google Scholar
  14. [Hull80]
    Hullot, J.M., “Canonical forms and unification;” in Proc. 5th Conference on Automated Deduction, pp. 318–334, 1980.Google Scholar
  15. [JoKK83]
    Jouannaud, J.P., C. Kirchner and H. Kirchner, “Incremental construction of unification procedures in equational theories,” in Proc. 10th Colloquium on Automata, Languages and Programming, 1983.Google Scholar
  16. [Lank75]
    Lankford, D.S., “Canonical inference,” Technical Report ATP-32, Department of Mathematics and Computer Science, University of Texas at Austin, December, 1975.Google Scholar
  17. [MaMo82]
    Martelli, A., and U. Montanari, “An efficient unification algorithm”, ACM Transaction on Programming Languages and Systems, Vol. 4, No. 2, pp. 258–282, 1982.Google Scholar
  18. [MaMR86]
    Martelli, A., C. Moiso and G.F. Rossi “An algorithm for unification in equational theories”, in Proc. 1986 International Symposium on Logic Programming, pp. 180–186, Salt Lake City, Utah, 1986.Google Scholar
  19. [MiIn84]
    Milner, R., “A proposal for standard ML” in Proc. of 1984 ACM Symposium on Lisp and Functional Programming, pp. 184–197, August 1984.Google Scholar
  20. [NuRS87]
    Nutt, Werner, Rierre Rety and Gert Smolka, “Basic narrowing revisited,” Technical Report SR-87-07, Universitat Kaiserslautern, 1987.Google Scholar
  21. [ODon77]
    O'Donnell, M., “Computing in systems described by equations,” Lecture notes in computer science, vol. 58, Springer-Verlag, New York, 1977.Google Scholar
  22. [ODon85]
    O'Donnell, M., “Equational Logic as a Programming Language,” The MIT Press, Cambridge, Massachusetts, 1985.Google Scholar
  23. [Plot72]
    Plotkin, G., “Building-in equational theories,” in Machine Intelligence 7, pp. 73–90, Edinburgh University Press, 1972.Google Scholar
  24. [Redd85]
    Reddy, U., “Narrowing as the operational semantics of functional languages,” in Proc. 1985 International Symposium on Logic Programming, pp. 138–151, Boston, Mass., July, 1985.Google Scholar
  25. [ReKi85]
    Rety P.,C. Kirchner, H. Kirchner and P. Lescanne, “NARROWER: a new algorithm and its application to logic programming,” in Proc. Rewriting Techniques and Applications, also in Lecture Notes in Computer Science 202, pp. 141–157, 1985.Google Scholar
  26. [Rety87]
    Rety P., “Improving basic narrowing techniques,” in Proc. Rewriting Techniques and Applications, Lecture Notes in Computer Science 256, pp. 228–241, 1987.Google Scholar
  27. [Siek84]
    Siekmann, J., “Universal unification,” in Proc. 7th International Conference on Automated Deduction, pp. 1–42, Napa, California, May, 1984.Google Scholar
  28. [Slag74]
    Slagle, J.R., “Automated theorem proving for theories with simplifier, commutativity, and associativity,” Journal of ACM, Vol. 21, No. 4, October 1974, pp. 622–642.Google Scholar
  29. [Turn80]
    Turner, D.A., “SASL language manual,” University of St. Andrews, 1979.Google Scholar
  30. [YoSu86a]
    You, J.-H. and P.A. Subrahmanyam, “Equational logic programming: an extension to equational programming,” in Proc. ACM 13th POPL, pp. 209–218, St. Petersburg, Florida, January, 1986.Google Scholar
  31. [YoSu86b]
    You, J.-H. and P.A. Subrahmanyam, “A class of confluent term rewriting systems and unification,” in Journal of Automated Reasoning Vol. 2 (1986) 391–418.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Jia-Huai You
    • 1
  1. 1.Department of Computing ScienceUniversity of AlbertaEdmontonCanada

Personalised recommendations