Advertisement

Logic Program Synthesis in a Higher-Order Setting

  • David Lacey
  • Julian Richardson
  • Alan Smail
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1861)

Abstract

We describe a system for the synthesis of logic programs from specifications based on higher-order logical descriptions of appropriate refinement operations. The system has been implemented within the proof planning system λClam. The generality of the approach is such that its extension to allow synthesis of higher-order logic programs was straightforward. Some illustrative examples are given. The approach is extensible to further classes of synthesis.

Keywords

Logic Program Parameterised Synthesis Horn Clause Symbolic Evaluation Derivation Rule 
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. 1.
    David Basin, Alan Bundy, Ina Kraan, and Sean Matthews. A framework for program development based on schematic proof. In Proceedings of the 7th International Workshop on Software Specification and Design (IWSSD-93), 1993. Also available as Max-Planck-Institut für Informatik Report MPI-I-93-231 and Edinburgh DAI Research Report 654.Google Scholar
  2. 2.
    A. Bundy, A. Smaill, and J. Hesketh. Turning eureka steps into calculations in automatic program synthesis. In S. L.H. Clarke, editor, Proceedings of UK IT 90, pages 221–6. IEE, 1990. Also available from Edinburgh as DAI Research Paper 448.Google Scholar
  3. 3.
    A. Bundy, A. Stevens, F. van Harmelen, A. Ireland, and A. Smaill. Rippling: A heuristic for guiding inductive proofs. Artificial Intelligence, 62:185–253, 1993. Also available from Edinburgh as DAI Research Paper No. 567.zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    A. Felty. A logic programming approach to implementing higher-order term rewriting. In L-H Eriksson et al., editors, Second International Workshop on Extensions to Logic Programming, volume 596 of Lecture Notes in Artificial Intelligence, pages 135–61. Springer-Verlag, 1992.Google Scholar
  5. 5.
    Bernd Fischer and Jon Whittle. An integration of deductive retrieval into deductive synthesis. In Proceedings of the 14th IEEE International Conference on Automated Software Engineering (ASE’99), pages 52–61, Cocoa Beach, Florida, USA, October 1999.Google Scholar
  6. 6.
    P. Flener and Y. Deville. Logic program synthesis from incomplete specifications. Journal of Symbolic Computation: Special Issue on Automatic Programming, 1993.Google Scholar
  7. 7.
    P. Flener and J. D. C. Richardson. A unified view of programming schemas and proof methods. In LOPSTR’ 99: Preproceedings of the Ninth International Workshop on Logic Program Synthesis and Transformation, Venice, Italy, September 1999, 1999.Google Scholar
  8. 8.
    T. Gegg-Harrison. Representing logic program schemata in lambdaprolog. Technical report, Dept Computer Science, Winona State University, 1995.Google Scholar
  9. 9.
    J. Haas and B. Jayaraman. From context-free to definite-clause grammars: A type-theoretic approach. Journal of Logic Programming, 30, 1997.Google Scholar
  10. 10.
    J. Hannan and D. Miller. Uses of higher-order unification for implementing program transformers. In R. A. Kowalski and K. A. Bowen, editors, Proceedings of the Fifth International Conference and Symposium, pages 942–59. MIT Press, 1988.Google Scholar
  11. 11.
    G. Huet and B. Lang. Proving and applying program transformation expressed with second order patterns. Acta Informatica, 11:31–55, 1978.zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    I. Kraan. Proof Planning for Logic Program Synthesis. PhD thesis, Department of Artificial Intelligence, University of Edinburgh, 1994.Google Scholar
  13. 13.
    I. Kraan, D. Basin, and A. Bundy. Logic program synthesis via proof planning. In K. K. Lau and T. Clement, editors, Logic Program Synthesis and Transformation, pages 1–14. Springer-Verlag, 1993. Also available as Max-Planck-Institut für Informatik Report MPI-I-92-244 and Edinburgh DAI Research Report 603.Google Scholar
  14. 14.
    I. Kraan, D. Basin, and A. Bundy. Middle-out reasoning for logic program synthesis. In D. S. Warren, editor, Proceedings of the Tenth International Conference on Logic Programming. MIT Press, 1993. Also available as Max-Planck-Institut für Informatik Report MPI-I-93-214 and Edinburgh DAI Research Report 638.Google Scholar
  15. 15.
    K.-K. Lau and M. Ornaghi. Forms of logic specifications. A preliminary study. In J. Gallagher, editor, LOPSTR’ 96, number 1207 in Lecture Notes in Computer Science, pages 295–312. Springer-Verlag, 1996.Google Scholar
  16. 16.
    K.-K. Lau and S.D. Prestwich. Top-down synthesis of recursive logic procedures from first-order logic specifications. In D.H.D. Warren and P. Szeredi, editors, Proc. 7 th Int. Conf. on Logic Programming, pages 667–684. MIT Press, 1990.Google Scholar
  17. 17.
    K.-K. Lau and S.D. Prestwich. Synthesis of a family of recursive sorting procedures. In V. Saraswat and K. Ueda, editors, Proc. 1991 Int. Logic Programming Symposium, pages 641–658. MIT Press, 1991.Google Scholar
  18. 18.
    D. Miller. A logic programming language with lambda abstraction, function variables and simple unification. Technical Report MS-CIS-90-54, Department of Computer and Information Science, University of Pennsylvania, 1990. Appeared in Extensions of Logic Programming, edited by P. Schröder-Heister, Lecture Notes in Artificial Intelligence, Springer-Verlag.Google Scholar
  19. 19.
    D. Miller and G. Nadathur. An overview of λProlog. In R. Bowen, K. & Kowalski, editor, Proceedings of the Fifth International Logic Programming Conference/Fifth Symposium on Logic Programming. MIT Press, 1988.Google Scholar
  20. 20.
    J.D.C Richardson, A. Smaill, and Ian Green. System description: proof planning in higher-order logic with lambdaclam. In Claude Kirchner and Héléne Kirchner, editors, 15th International Conference on Automated Deduction, volume 1421 of Lecture Notes in Artificial Intelligence, Lindau, Germany, July 1998.Google Scholar
  21. 21.
    W. W. Vasconcelos and N.E. Fuchs. An opportunistic approach for logic program analysis and optimisation using enhanced schema-based transformations. In Proceedings of LoPSTr’95, Fifth International Workshop on Logic Program Synthesis and Transformation, Utrecht, Netherlands, volume 1048 of Lecture Notes in Computer Science, pages 175–188. Springer Verlag, 1996.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • David Lacey
    • 1
  • Julian Richardson
    • 2
  • Alan Smail
    • 1
  1. 1.Division of InformaticsUniversity of EdinburghUK
  2. 2.Dept. of Computing & Electrical EngineeringHeriot-Watt UniversityEdinburgh

Personalised recommendations