Skip to main content

The Synthesis of Logic Programs from Inductive Proofs

  • Conference paper
Computational Logic

Part of the book series: ESPRIT Basic Research Series ((ESPRIT BASIC))

Abstract

We describe a technique for synthesising logic (Prolog) programs from non-executable specifications. This technique is adapted from one for synthesising functional programs as total functions. Logic programs, on the other hand, define predicates. They can be run in different input modes, they sometimes produce multiple outputs and sometimes none. They may not terminate. The key idea of the adaptation is that a predicate is a total function in the all-ground mode, i.e. when all its arguments are inputs (pred(+,...,+) in Prolog notation). The program is synthesised as a function in this mode and then run in other modes. To make the technique work it is necessary to synthesise pure logic programs, without the closed world assumption, and then compile these into Prolog programs. The technique has been tested on the OYSTER (functional) program development system.

The Synthesis of Logic Programs from Inductive Proofs

The research reported in this paper was supported by Esprit BRA grant 3012, and an SERC Senior Fellowship to the first author. We are grateful for feedback from Frank van Harmelen, David Basin and an anonymous referee on earlier drafts. Seán Matthews helped us defeat TEX.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. M. Bruynooghe, D. de Schreye, and B. Krekels. Compiling control. Journal of Logic Programming, 135–162, 1989.

    Google Scholar 

  2. A. Bundy. A broader interpretation of logic in logic programming. In Proceedings of the Fifth International Logic Programming Conference/ Fifth Symposium on Logic Programming, pages 1624–1648, MIT Press, 1988. Also available from Edinburgh as Research Paper No. 388.

    Google Scholar 

  3. A. Bundy. Proposal for a Recursive Techniques Editor for Prolog. Research Paper 394, Dept. of Artificial Intelligence, Edinburgh, 1988. Submitted to the special issue of Instructional Science on Learning Prolog: Tools and Related Issues.

    Google Scholar 

  4. R.L. Constable, S.F. Allen, H.M. Bromley, et al. Implementing Mathematics with the Nuprl Proof Development System. Prentice Hall, 1986.

    Google Scholar 

  5. C.J. Hogger. Derivation of logic programs. JACM, 28(2):372–392, April 1981.

    Article  MathSciNet  MATH  Google Scholar 

  6. C. Horn. The Nurprl Proof Development System. Working paper 214, Dept. of Artificial Intelligence, Edinburgh, 1988. The Edinburgh version of Nurprl has been renamed Oyster.

    Google Scholar 

  7. J.W. Lloyd. Foundations of Logic Programs. Symbolic Computation, Springer-Verlag, 1987. Second, extended edition.

    Google Scholar 

  8. Z. Manna and R. Waldinger. The origin of a binary-search paradigm. Science of Computer Programming, 9:37–83, 1987.

    Article  MathSciNet  MATH  Google Scholar 

  9. Per Martin-Löf. Constructive mathematics and computer programming. In 6th International Congress for Logic, Methodology and Philosophy of Science, pages 153–175, Hanover, August 1979. Published by North Holland, Amsterdam. 1982.

    Chapter  Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1990 ECSC — EEC — EAEC, Brussels — Luxembourg

About this paper

Cite this paper

Bundy, A., Smaill, A., Wiggins, G. (1990). The Synthesis of Logic Programs from Inductive Proofs. In: Lloyd, J.W. (eds) Computational Logic. ESPRIT Basic Research Series. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-76274-1_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-76274-1_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-76276-5

  • Online ISBN: 978-3-642-76274-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics