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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
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.
P. Flener and Y. Deville. Logic program synthesis from incomplete specifications. Journal of Symbolic Computation: Special Issue on Automatic Programming, 1993.
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.
T. Gegg-Harrison. Representing logic program schemata in lambdaprolog. Technical report, Dept Computer Science, Winona State University, 1995.
J. Haas and B. Jayaraman. From context-free to definite-clause grammars: A type-theoretic approach. Journal of Logic Programming, 30, 1997.
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.
G. Huet and B. Lang. Proving and applying program transformation expressed with second order patterns. Acta Informatica, 11:31–55, 1978.
I. Kraan. Proof Planning for Logic Program Synthesis. PhD thesis, Department of Artificial Intelligence, University of Edinburgh, 1994.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lacey, D., Richardson, J., Smail, A. (2000). Logic Program Synthesis in a Higher-Order Setting. In: Lloyd, J., et al. Computational Logic — CL 2000. CL 2000. Lecture Notes in Computer Science(), vol 1861. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44957-4_6
Download citation
DOI: https://doi.org/10.1007/3-540-44957-4_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67797-0
Online ISBN: 978-3-540-44957-7
eBook Packages: Springer Book Archive