Skip to main content

Logic programming, functional programming, and inductive definitions

  • Conference paper
  • First Online:
Extensions of Logic Programming (ELP 1989)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 475))

Included in the following conference series:

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Harold Abelson and Gerald J. Sussman. Structure and Interpretation of Computer Programs. MIT Press, 1985.

    Google Scholar 

  2. Peter Aczel. An introduction to inductive definitions. In J. Barwise, editor, Handbook of Mathematical Logic, pages 739–782. North-Holland, 1977.

    Google Scholar 

  3. K. R. Apt and M. H. van Emden. Contributions to the theory of logic programming. Journal of the ACM, 29:841–862, 1982.

    Google Scholar 

  4. Martin Aronsson, Lars-Henrik Eriksson, Anette Gäredal, Lars Hallnäs, and Peter Olin. The programming language GCLA — a definitional approach to logic programming. New Generation Computing, 7:381–404, 1990.

    Google Scholar 

  5. M. Bellia, P. G. Bosco, E. Giovannetti, G. Levi, C. Moiso, and C. Palamidessi. A two-level approach to logic plus functional programming integration. In J. W. de Bakker, A. J. Nijman, and P. C. Treleaven, editors, PARLE: Parallel Architectures and Languages Europe, volume I, pages 374–393. Springer-Verlag, 1987. LNCS 258.

    Google Scholar 

  6. Marco Bellia and Giorgio Levi. The relation between logic and functional languages: A survey. Journal of Logic Programming, 3:217–236, 1986.

    Google Scholar 

  7. Richard Bird and Philip Wadler. Introduction to Functional Programming. Prentice-Hall International, 1988.

    Google Scholar 

  8. P. G. Bosco, C. Cecchi, and C. Moiso. IDEAL & K-LEAF implementation: A progress report. In E. Odijk, M. Rem, and J.-C. Syre, editors, PARLE: Parallel Architectures and Languages Europe, volume I, pages 413–432. Springer-Verlag, 1989. LNCS 365.

    Google Scholar 

  9. P. G. Bosco and E. Giovannetti. Ideal: An Ideal DEductive Applicative Language. In Symposium on Logic Programming, pages 89–94. ieee Computer Society Press, 1986.

    Google Scholar 

  10. K. A. Bowen. Programming with full first-order logic. In J. E. Hayes, D. Michie, and Y.-H. Pao, editors, Machine Intelligence 10, pages 421–440. Ellis Horwood Ltd, 1982.

    Google Scholar 

  11. D. Clément, J. Despeyroux, Th. Despeyroux, L. Hascoet, and G. Kahn. Natural semantics on the computer. Technical Report Research Report 416, INRIA Sophia-Antipolis, 1985.

    Google Scholar 

  12. W. F. Clocksin. Principles of the DelPhi parallel inference machine. Computer Journal, 30:386–392, 1987.

    Google Scholar 

  13. W. F. Clocksin and C. S. Mellish. Programming in Prolog. Springer-Verlag, 3rd edition, 1987.

    Google Scholar 

  14. Doug DeGroot and Gary Lindstrom, editors. Logic Programming: Functions, Relations and Equations. Prentice-Hall International, 1986.

    Google Scholar 

  15. Mehmet Dincbas and Pascal van Hentenryck. Extended unification algorithms for the integration of functional programming into logic programming. Journal of Logic Programming, 4:199–227, 1987.

    Google Scholar 

  16. Lars-Henrik Eriksson and Lars Hallnäs. A programming calculus based on partial inductive definitions, with an introduction to the theory of partial inductive definitions. Technical Report R88013, Swedish Institute of Computer Science, 1988.

    Google Scholar 

  17. Melvin Fitting. Computability Theory, Semantics, and Logic Programming. Oxford University Press, 1987.

    Google Scholar 

  18. Laurent Fribourg. SLOG: A logic programming language interpreter based on clausal superposition and rewriting. In Symposium on Logic Programming, pages 172–184. ieee Computer Society Press, 1985.

    Google Scholar 

  19. Laurent Fribourg. Prolog with simplification. In K. Fuchi and M. Nivat, editors, Programming of Future Generation Computers, pages 161–183. Elsevier Science Publishers, 1988.

    Google Scholar 

  20. D. M. Gabbay and U. Reyle. N-PROLOG: An extension of PROLOG with hypothetical implications. I. Journal of Logic Programming, 4:319–355, 1984.

    Google Scholar 

  21. J. H. Gallier. Logic for Computer Science: Foundations of Automatic Theorem Proving. Harper & Row, 1986.

    Google Scholar 

  22. Joseph A. Goguen and José Meseguer. Eqlog: Equality, types, and generic modules for logic programming. In Doug DeGroot and Gary Lindstrom, editors, Logic Programming: Functions, Relations and Equations, pages 295–364. Prentice-Hall International, 1986.

    Google Scholar 

  23. Masami Hagiya and Takafumi Sakurai. Foundation of logic programming based on inductive definition. New Generation Computing, 2:59–77, 1984.

    Google Scholar 

  24. Lars Hallnäs. Partial inductive definitions. Theoretical Computer Science. in press.

    Google Scholar 

  25. Lars Hallnäs and Peter Schroeder-Heister. A proof-theoretic approach to logic programming I. Generalized Horn clauses. Technical Report R88005, Swedish Institute of Computer Science, 1988.

    Google Scholar 

  26. C. J. Hogger. Introduction to Logic Programming. Academic Press, 1984.

    Google Scholar 

  27. Heinrich Hussmann. Rapid prototyping for algebraic specifications — R A P system user's manual. Technical Report MIP-8504, Fakultät für Mathematik und Informatik, Universität Passau, Germany, March 1985.

    Google Scholar 

  28. R. Kowalski. The relation between logic programming and logic specification. In C. A. R. Hoare and J. C. Shepherdson, editors, Mathematical Logic and Programming Languages, pages 11–27. Prentice-Hall International, 1985.

    Google Scholar 

  29. J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1984.

    Google Scholar 

  30. J. A. Makowsky. Why Horn formulas matter in computer science: Initial structures and generic examples. Journal of Computer and System Sciences, 34:266–292, 1987.

    Google Scholar 

  31. A. Martelli, C. Moiso, and G. F. Rossi. An algorithm for unification in equational theories. In Symposium on Logic Programming, pages 180–186. ieee Computer Society Press, 1986.

    Google Scholar 

  32. John McCarthy, Paul W. Abrahams, Daniel J. Edwards, Timothy P. Hart, and Michael I. Levin. LISP 1.5 Programmer's Manual. MIT Press, 1962.

    Google Scholar 

  33. Dale Miller. A theory of modules for logic programming. In Symposium on Logic Programming, pages 106–114. ieee Computer Society Press, 1986.

    Google Scholar 

  34. Jack Minker, editor. Foundations of Deductive Databases and Logic Programming. Morgan Kaufmann, 1988.

    Google Scholar 

  35. Alan Mycroft and Richard A. O'Keefe. A polymorphic type system for Prolog. Artificial Intelligence, 23:295–307, 1984.

    Google Scholar 

  36. Lawrence C. Paulson. Natural deduction as higher-order resolution. Journal of Logic Programming, 3:237–258, 1986.

    Google Scholar 

  37. J. A. Robinson. A machine-oriented logic based on the resolution principle. Journal of the ACM, 12:23–41, 1965.

    Google Scholar 

  38. J. A. Robinson. Beyond loglisp: combining functional and relational programming in a reduction setting. Technical report, Syracuse University, 1985.

    Google Scholar 

  39. J. A. Robinson and E. E. Sibert. LOGLISP: an alternative to PROLOG. In J. E. Hayes, D. Michie, and Y.-H. Pao, editors, Machine Intelligence 10, pages 399–419. Ellis Horwood Ltd, 1982.

    Google Scholar 

  40. John C. Shepherson. Negation in logic programming. In Jack Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 19–88. Morgan Kaufmann, 1988.

    Google Scholar 

  41. Mark E. Stickel. A Prolog technology theorem prover: Implementation by an extended Prolog compiler. Journal of Automated Reasoning, 4:353–380, 1988.

    Google Scholar 

  42. D. A. Turner. Functional programs as executable specifications. In C. A. R. Hoare and J. C. Shepherdson, editors, Mathematical Logic and Programming Languages, pages 29–54. Prentice-Hall International, 1985.

    Google Scholar 

  43. M. H. van Emden and R. A. Kowalski. The semantics of predicate logic as a programming language. Journal of the ACM, 23:733–742, 1976.

    Google Scholar 

  44. Allen Van Gelder. Negation as failure using tight derivations for general logic programs. In Jack Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 149–176. Morgan Kaufmann, 1988.

    Google Scholar 

  45. Jia-Huai You. Solving equations in an equational language. In J. Grabowski, P. Lescanne, and W. Wechler, editors, Algebraic and Logic Programming, pages 245–254. Springer-Verlag, 1988. LNCS 343.

    Google Scholar 

  46. Jia-Huai You. Enumerating outer narrowing derivations for constructor-based term rewriting systems. Journal of Symbolic Computation, 7:319–342, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Peter Schroeder-Heister

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Paulson, L.C., Smith, A.W. (1991). Logic programming, functional programming, and inductive definitions. In: Schroeder-Heister, P. (eds) Extensions of Logic Programming. ELP 1989. Lecture Notes in Computer Science, vol 475. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0038699

Download citation

  • DOI: https://doi.org/10.1007/BFb0038699

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53590-4

  • Online ISBN: 978-3-540-46879-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics