{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,4]],"date-time":"2026-10-04T01:21:34Z","timestamp":1791076894510,"version":"4.1.0"},"publisher-location":"Berlin\/Heidelberg","reference-count":46,"publisher":"Springer-Verlag","isbn-type":[{"value":"354053590X","type":"print"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"DOI":"10.1007\/bfb0038699","type":"book-chapter","created":{"date-parts":[[2006,1,25]],"date-time":"2006-01-25T14:16:05Z","timestamp":1138198565000},"page":"283-309","source":"Crossref","is-referenced-by-count":9,"title":["Logic programming, functional programming, and inductive definitions"],"prefix":"10.1007","author":[{"given":"Lawrence C.","family":"Paulson","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Andrew W.","family":"Smith","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","reference":[{"key":"10_CR1","unstructured":"Harold Abelson and Gerald J. Sussman. Structure and Interpretation of Computer Programs. MIT Press, 1985."},{"key":"10_CR2","doi-asserted-by":"crossref","unstructured":"Peter Aczel. An introduction to inductive definitions. In J. Barwise, editor, Handbook of Mathematical Logic, pages 739\u2013782. North-Holland, 1977.","DOI":"10.1016\/S0049-237X(08)71120-0"},{"key":"10_CR3","doi-asserted-by":"crossref","first-page":"841","DOI":"10.1145\/322326.322339","volume":"29","author":"K. R. Apt","year":"1982","unstructured":"K. R. Apt and M. H. van Emden. Contributions to the theory of logic programming. Journal of the ACM, 29:841\u2013862, 1982.","journal-title":"Journal of the ACM"},{"key":"10_CR4","doi-asserted-by":"crossref","first-page":"381","DOI":"10.1007\/BF03037453","volume":"7","author":"M. Aronsson","year":"1990","unstructured":"Martin Aronsson, Lars-Henrik Eriksson, Anette G\u00e4redal, Lars Halln\u00e4s, and Peter Olin. The programming language GCLA \u2014 a definitional approach to logic programming. New Generation Computing, 7:381\u2013404, 1990.","journal-title":"New Generation Computing"},{"key":"10_CR5","doi-asserted-by":"crossref","unstructured":"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\u2013393. Springer-Verlag, 1987. LNCS 258.","DOI":"10.1007\/3-540-17943-7_140"},{"key":"10_CR6","doi-asserted-by":"crossref","first-page":"217","DOI":"10.1016\/0743-1066(86)90014-2","volume":"3","author":"M. Bellia","year":"1986","unstructured":"Marco Bellia and Giorgio Levi. The relation between logic and functional languages: A survey. Journal of Logic Programming, 3:217\u2013236, 1986.","journal-title":"Journal of Logic Programming"},{"key":"10_CR7","unstructured":"Richard Bird and Philip Wadler. Introduction to Functional Programming. Prentice-Hall International, 1988."},{"key":"10_CR8","doi-asserted-by":"crossref","unstructured":"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\u2013432. Springer-Verlag, 1989. LNCS 365.","DOI":"10.1007\/3540512845_54"},{"key":"10_CR9","unstructured":"P. G. Bosco and E. Giovannetti. Ideal: An Ideal DEductive Applicative Language. In Symposium on Logic Programming, pages 89\u201394. ieee Computer Society Press, 1986."},{"key":"10_CR10","first-page":"421","volume":"10","author":"K. A. Bowen","year":"1982","unstructured":"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\u2013440. Ellis Horwood Ltd, 1982.","journal-title":"Machine Intelligence"},{"key":"10_CR11","unstructured":"D. Cl\u00e9ment, J. Despeyroux, Th. Despeyroux, L. Hascoet, and G. Kahn. Natural semantics on the computer. Technical Report Research Report 416, INRIA Sophia-Antipolis, 1985."},{"key":"10_CR12","doi-asserted-by":"crossref","first-page":"386","DOI":"10.1093\/comjnl\/30.5.386","volume":"30","author":"W. F. Clocksin","year":"1987","unstructured":"W. F. Clocksin. Principles of the DelPhi parallel inference machine. Computer Journal, 30:386\u2013392, 1987.","journal-title":"Computer Journal"},{"key":"10_CR13","doi-asserted-by":"crossref","unstructured":"W. F. Clocksin and C. S. Mellish. Programming in Prolog. Springer-Verlag, 3rd edition, 1987.","DOI":"10.1007\/978-3-642-97005-4"},{"key":"10_CR14","unstructured":"Doug DeGroot and Gary Lindstrom, editors. Logic Programming: Functions, Relations and Equations. Prentice-Hall International, 1986."},{"key":"10_CR15","doi-asserted-by":"crossref","first-page":"199","DOI":"10.1016\/0743-1066(87)90002-1","volume":"4","author":"M. Dincbas","year":"1987","unstructured":"Mehmet Dincbas and Pascal van Hentenryck. Extended unification algorithms for the integration of functional programming into logic programming. Journal of Logic Programming, 4:199\u2013227, 1987.","journal-title":"Journal of Logic Programming"},{"key":"10_CR16","unstructured":"Lars-Henrik Eriksson and Lars Halln\u00e4s. 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."},{"key":"10_CR17","unstructured":"Melvin Fitting. Computability Theory, Semantics, and Logic Programming. Oxford University Press, 1987."},{"key":"10_CR18","unstructured":"Laurent Fribourg. SLOG: A logic programming language interpreter based on clausal superposition and rewriting. In Symposium on Logic Programming, pages 172\u2013184. ieee Computer Society Press, 1985."},{"key":"10_CR19","unstructured":"Laurent Fribourg. Prolog with simplification. In K. Fuchi and M. Nivat, editors, Programming of Future Generation Computers, pages 161\u2013183. Elsevier Science Publishers, 1988."},{"key":"10_CR20","doi-asserted-by":"crossref","first-page":"319","DOI":"10.1016\/0743-1066(84)90029-3","volume":"4","author":"D. M. Gabbay","year":"1984","unstructured":"D. M. Gabbay and U. Reyle. N-PROLOG: An extension of PROLOG with hypothetical implications. I. Journal of Logic Programming, 4:319\u2013355, 1984.","journal-title":"Journal of Logic Programming"},{"key":"10_CR21","unstructured":"J. H. Gallier. Logic for Computer Science: Foundations of Automatic Theorem Proving. Harper & Row, 1986."},{"key":"10_CR22","unstructured":"Joseph A. Goguen and Jos\u00e9 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\u2013364. Prentice-Hall International, 1986."},{"key":"10_CR23","doi-asserted-by":"crossref","first-page":"59","DOI":"10.1007\/BF03037052","volume":"2","author":"M. Hagiya","year":"1984","unstructured":"Masami Hagiya and Takafumi Sakurai. Foundation of logic programming based on inductive definition. New Generation Computing, 2:59\u201377, 1984.","journal-title":"New Generation Computing"},{"key":"10_CR24","unstructured":"Lars Halln\u00e4s. Partial inductive definitions. Theoretical Computer Science. in press."},{"key":"10_CR25","unstructured":"Lars Halln\u00e4s and Peter Schroeder-Heister. A proof-theoretic approach to logic programming I. Generalized Horn clauses. Technical Report R88005, Swedish Institute of Computer Science, 1988."},{"key":"10_CR26","unstructured":"C. J. Hogger. Introduction to Logic Programming. Academic Press, 1984."},{"key":"10_CR27","unstructured":"Heinrich Hussmann. Rapid prototyping for algebraic specifications \u2014 R A P system user's manual. Technical Report MIP-8504, Fakult\u00e4t f\u00fcr Mathematik und Informatik, Universit\u00e4t Passau, Germany, March 1985."},{"key":"10_CR28","unstructured":"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\u201327. Prentice-Hall International, 1985."},{"key":"10_CR29","doi-asserted-by":"crossref","unstructured":"J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1984.","DOI":"10.1007\/978-3-642-96826-6"},{"key":"10_CR30","doi-asserted-by":"crossref","first-page":"266","DOI":"10.1016\/0022-0000(87)90027-4","volume":"34","author":"J. A. Makowsky","year":"1987","unstructured":"J. A. Makowsky. Why Horn formulas matter in computer science: Initial structures and generic examples. Journal of Computer and System Sciences, 34:266\u2013292, 1987.","journal-title":"Journal of Computer and System Sciences"},{"key":"10_CR31","unstructured":"A. Martelli, C. Moiso, and G. F. Rossi. An algorithm for unification in equational theories. In Symposium on Logic Programming, pages 180\u2013186. ieee Computer Society Press, 1986."},{"key":"10_CR32","doi-asserted-by":"crossref","unstructured":"John McCarthy, Paul W. Abrahams, Daniel J. Edwards, Timothy P. Hart, and Michael I. Levin. LISP 1.5 Programmer's Manual. MIT Press, 1962.","DOI":"10.21236\/AD0406138"},{"key":"10_CR33","unstructured":"Dale Miller. A theory of modules for logic programming. In Symposium on Logic Programming, pages 106\u2013114. ieee Computer Society Press, 1986."},{"key":"10_CR34","unstructured":"Jack Minker, editor. Foundations of Deductive Databases and Logic Programming. Morgan Kaufmann, 1988."},{"key":"10_CR35","doi-asserted-by":"crossref","first-page":"295","DOI":"10.1016\/0004-3702(84)90017-1","volume":"23","author":"A. Mycroft","year":"1984","unstructured":"Alan Mycroft and Richard A. O'Keefe. A polymorphic type system for Prolog. Artificial Intelligence, 23:295\u2013307, 1984.","journal-title":"Artificial Intelligence"},{"key":"10_CR36","doi-asserted-by":"crossref","first-page":"237","DOI":"10.1016\/0743-1066(86)90015-4","volume":"3","author":"L. C. Paulson","year":"1986","unstructured":"Lawrence C. Paulson. Natural deduction as higher-order resolution. Journal of Logic Programming, 3:237\u2013258, 1986.","journal-title":"Journal of Logic Programming"},{"key":"10_CR37","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1145\/321250.321253","volume":"12","author":"J. A. Robinson","year":"1965","unstructured":"J. A. Robinson. A machine-oriented logic based on the resolution principle. Journal of the ACM, 12:23\u201341, 1965.","journal-title":"Journal of the ACM"},{"key":"10_CR38","unstructured":"J. A. Robinson. Beyond loglisp: combining functional and relational programming in a reduction setting. Technical report, Syracuse University, 1985."},{"key":"10_CR39","unstructured":"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\u2013419. Ellis Horwood Ltd, 1982."},{"key":"10_CR40","doi-asserted-by":"crossref","unstructured":"John C. Shepherson. Negation in logic programming. In Jack Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 19\u201388. Morgan Kaufmann, 1988.","DOI":"10.1016\/B978-0-934613-40-8.50005-1"},{"key":"10_CR41","doi-asserted-by":"crossref","first-page":"353","DOI":"10.1007\/BF00297245","volume":"4","author":"M. E. Stickel","year":"1988","unstructured":"Mark E. Stickel. A Prolog technology theorem prover: Implementation by an extended Prolog compiler. Journal of Automated Reasoning, 4:353\u2013380, 1988.","journal-title":"Journal of Automated Reasoning"},{"key":"10_CR42","unstructured":"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\u201354. Prentice-Hall International, 1985."},{"key":"10_CR43","doi-asserted-by":"crossref","first-page":"733","DOI":"10.1145\/321978.321991","volume":"23","author":"M. H. Emden van","year":"1976","unstructured":"M. H. van Emden and R. A. Kowalski. The semantics of predicate logic as a programming language. Journal of the ACM, 23:733\u2013742, 1976.","journal-title":"Journal of the ACM"},{"key":"10_CR44","doi-asserted-by":"crossref","unstructured":"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\u2013176. Morgan Kaufmann, 1988.","DOI":"10.1016\/B978-0-934613-40-8.50007-5"},{"key":"10_CR45","doi-asserted-by":"crossref","unstructured":"Jia-Huai You. Solving equations in an equational language. In J. Grabowski, P. Lescanne, and W. Wechler, editors, Algebraic and Logic Programming, pages 245\u2013254. Springer-Verlag, 1988. LNCS 343.","DOI":"10.1007\/3-540-50667-5_77"},{"key":"10_CR46","doi-asserted-by":"crossref","first-page":"319","DOI":"10.1016\/S0747-7171(89)80015-X","volume":"7","author":"J. You","year":"1989","unstructured":"Jia-Huai You. Enumerating outer narrowing derivations for constructor-based term rewriting systems. Journal of Symbolic Computation, 7:319\u2013342, 1989.","journal-title":"Journal of Symbolic Computation"}],"container-title":["Lecture Notes in Computer Science","Extensions of Logic Programming"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/BFb0038699.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,12,9]],"date-time":"2020-12-09T22:23:44Z","timestamp":1607552624000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/BFb0038699"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[null]]},"ISBN":["354053590X"],"references-count":46,"URL":"https:\/\/doi.org\/10.1007\/bfb0038699","relation":{},"subject":[]}}