Skip to main content

Solving equations in an equational language

  • Submitted Papers
  • Conference paper
  • First Online:
Algebraic and Logic Programming (ALP 1988)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 343))

Included in the following conference series:

Abstract

The problem of solving equations is a key and challenging problem in many formalisms of integrating logic and functional programming, while narrowing is now a widely used mechanism for generating solutions. In this paper, we continue to investigate the problem of solving equations in O'Donnell's equational language. We define a restricted equality theory which we argue adequately captures the notion of first-order functional programming and permits an efficient implementation. In particular, we show that there exists a special class of narrowing derivations which generates complete and minimal sets of solutions.

Work supported by the Natural Sciences and Engineering Research Council of Canada.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Cartwright, R. and J. McCarthy, “Recursive programs as functions in a first order theory,” in Mathematical Studies of Information Processing, E.K. Blum et al. (eds.) LNCS 75.

    Google Scholar 

  2. Dershowitz, H. and D. Plaisted, “Logic programming cum applicative programming,” in Proc. 1985 Symposium on Logic Programming, Boston, Mass., July, 1985.

    Google Scholar 

  3. 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 

  4. van Emden, M.H. and K. Yukawa, “Logic programming with equality,” J. of Logic Programming, 4:265–288, 1986.

    Article  MATH  Google Scholar 

  5. Fages, F and G. Huet, “Unification and matching in equational theories,” in Proc. CAAP '83, LNCS 159, pp. 205–220, 1983.

    Article  MathSciNet  MATH  Google Scholar 

  6. Fribourg, L., “SLOG: A logic programming language interpreter based on clausal superposition and rewriting,” in Proc. 1985 Symposium on Logic Programming, Boston, Mass.

    Google Scholar 

  7. Gallier J.H. and S. Raatz, “SLD-Resolution methods for Hom clauses with equality based on E-unification E-unification procedure,” in Proc. of 1986 Symposium on Logic Programming, SLC, Utah, pp. 168–179, 1986.

    Google Scholar 

  8. Gallier J.H. and W. Snyder, “A general complete E-unification procedure,” in Proc. of RTA '87, LNCS 256, pp. 216–227, 1987.

    MathSciNet  MATH  Google Scholar 

  9. Goguen, J.A. and J.J. Tardo, “An introduction to OBJ: a language for writing and testing formal algebraic program specifications,” in Specification of Reliable Software, IEEE, pp 170–189, 1979.

    Google Scholar 

  10. Goguen, J.A. and J. Meseguer, “Equality, types, modules and generics for logic programming,” Journal of Logic Programming, Vol 2. 1984, pp 179–210.

    Article  MathSciNet  MATH  Google Scholar 

  11. Huet, G. and J-J. Lévy, “Call by need computations in nonambiguous linear term rewriting systems,” Technical Report, 359, INRIA, Le Chesnay, France, 1979.

    Google Scholar 

  12. 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 

  13. Hullot, J.M., “Canonical forms and unification,” in Proc. 5th Conference on Automated Deduction, pp. 318–334, 1980.

    Google Scholar 

  14. Jaffar, J., J-L. Lassez and M. Maher, “A logic programming scheme,” in Logic Programming: Functions, Relations, and Equations, D. DeGroot and G. Lindstrom (eds.), Prentice-Hall, 1986.

    Google Scholar 

  15. Jaffar, J., J-L. Lassez and M. Maher, “Constraint logic programming,” in Proc. 14th POPL, pp. 111–119, Munich, West Germany, 1987.

    Google Scholar 

  16. Levi, G., C. Palamidessi, P. Bosco, E. Giovannetti and C. Moiso, “A complete semantic characterization of K-LEAF”, in Proc. 1987 Symposium on Logic Programming, pp. 318–327. San Francisco, California, September 1987.

    Google Scholar 

  17. Lloyd, J.W., Foundations of Logic Programming, Springer-Verlag, New York, 1984.

    Book  MATH  Google Scholar 

  18. Martelli, A., and U. Montanari, “An efficient unification algorithm,” ACM Transaction on Programming Languages and Systems, Vol. 4, No. 2, pp. 258–282, 1982.

    Article  MATH  Google Scholar 

  19. 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 

  20. Mishra, P. and U. Reddy, “Declaration-free type checking” in Proc. of 12th POPL, pp. 7–21, 1985.

    Google Scholar 

  21. O'Donnell, M., “Computing in systems described by equations,” Lecture notes in computer science, vol. 58, Springer-Verlag, New York, 1977.

    Google Scholar 

  22. O'Donnell, M., “Equational Logic as a Programming Language,” The MIT Press, Cambridge, Massachusetts, 1985.

    MATH  Google Scholar 

  23. Plotkin, G., “Building-in equational theories,” in Machine Intelligence 7, pp. 73–90, Edinburgh University Press, 1972.

    MathSciNet  MATH  Google Scholar 

  24. Reddy, U., “Narrowing as the operational semantics of functional languages,” in Proc. 1985 Symposium on Logic Programming, pp. 138–151, Boston, Mass., July, 1985.

    Google Scholar 

  25. Réty 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.

    Article  MathSciNet  MATH  Google Scholar 

  26. Réty P., “Improving basic narrowing techniques,” in Proc. Rewriting Techniques and Applications, Lecture Notes in Computer Science 256, pp. 228–241, 1987.

    Article  MathSciNet  MATH  Google Scholar 

  27. Siekmann, J., “Universal unification,” in Proc. 7th International Conference on Automated Deduction, pp. 1–42, Napa, California, May, 1984.

    Google Scholar 

  28. Stickel, M., “Automated deduction by theory resolution,” J. of Automated Reasoning, Vol. 2 1986. Short version in Proc. IJCAI-85, pp. 1181–1186, Aug. 18–23, Los Angeles, CA, 1985.

    Google Scholar 

  29. You, J-H. “Logic programming for artificial intelligence: an approach based on building-in theories,” Dept. of Computing Science, Univ. of Alberta, (a proposal), 1986.

    Google Scholar 

  30. 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. 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.

    Article  MathSciNet  MATH  Google Scholar 

  32. You, J-H. “Outer narrowing for equational theories based on constructors,” in Proc. 15th ICALP, Tampere, Finland, July, 1988.

    Google Scholar 

  33. Yukawa, K., “Amalgamating functional and relational programming through the use of equality axioms,” Ph.D. Thesis, Dept. of Computer Science, Univ. of Waterloo, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. Grabowski P. Lescanne W. Wechler

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Akademie-Verlag Berlin

About this paper

Cite this paper

You, JH. (1988). Solving equations in an equational language. In: Grabowski, J., Lescanne, P., Wechler, W. (eds) Algebraic and Logic Programming. ALP 1988. Lecture Notes in Computer Science, vol 343. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-50667-5_77

Download citation

  • DOI: https://doi.org/10.1007/3-540-50667-5_77

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-50667-6

  • Online ISBN: 978-3-540-46063-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics