Skip to main content

Implicit Program Synthesis by a Reversible Metainterpreter

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1463))

Abstract

Synthesis of logic programs is considered as a special instance of logic programming. We describe experience made within a logical metaprogramming environment whose central component is a reversible metainterpreter, in the sense that it is equally well suited for generating object programs as well as for executing them. Requirements telling that certain goals should be provable in a program sought can be integrated with additional sideconditions expressed by the developer at the metalevel, and the resulting specifications tend to be quite concise and declarative. For problems up to a certain degree of complexity, this provides a mode of working characterized by experimentation and an ability to combine different methods which is uncommon in most other systems for program synthesis. Reversibility in the metainterpreter is obtained using constraint logic techniques.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barker-Plummer, D. Cliche programming in Prolog. Bruynooghe, M. (ed.), Proc. of the Second Workshop on Meta-programming in Logic. April 4–6, 1990, Leuven, Belgium. pp. 247–256, 1990.

    Google Scholar 

  2. Bergadano, F., Gunetti, D., Inductive logic programming, From machine learning to software engineering. MIT Press, 1996.

    Google Scholar 

  3. Bibel, W., Korn, D., Kreitz, C., Kuruc, F., Otten, J., Schmitt, S., Stopmann, G., A multilevel approach to program synthesis. In: Fuchs, N.E. (ed), Proc. of. LOPSTR’97 (this volume).

    Google Scholar 

  4. Bowers, A.F., Gurr, C.A., Towards fast and declarative meta-programming, In: Apt, K.A., Turini, F. (eds), Meta-Logics and Logic Programming, MIT Press, pp. 137–166, 1995.

    Google Scholar 

  5. Büyükyıldız, H., Flener, P., Generalized logic program transformation schemas. In: Fuchs, N.E. (ed), Proc. of LOPSTR’97 (this volume).

    Google Scholar 

  6. Chasseur, E., Deville, Y. Logic program schemas, constraints and semi-unification. In: Fuchs, N.E. (ed), Proc. of LOPSTR’97 (this volume).

    Google Scholar 

  7. Christiansen, H., A complete resolution method for logical meta-programming languages. In: Pettorossi, A. (ed.), Meta-Programming in Logic, Lecture Notes in Computer Science 649, pp. 205–219, 1992.

    Google Scholar 

  8. Christiansen, H., Automated reasoning with a constraint-based metainterpreter. To appear in: Journal of Logic Programming, 1998.

    Google Scholar 

  9. Flach, P. Simply logical, Intelligent reasoning by example. Wiley, 1994.

    Google Scholar 

  10. Flener, P. Logic program synthesis from incomplete information. Kluwer, 1995.

    Google Scholar 

  11. Flener, P. Inductive logic program synthesis with DIALOGS. In: Muggleton, S. (ed), Proc. of ILP’96. Lecture Notes in Artificial Intelligence 1314, Springer-Verlag, pp. 175–198, 1997.

    Google Scholar 

  12. Flener, P., Deville, Y. Logic program transformation through generalization schemata. In: Proietti, M. (ed), Proc. of LOPSTR’95. Lecture Notes in Computer Science 1048, Springer-Verlag, pp. 171–173, 1996.

    Google Scholar 

  13. Flener, P., Lau, K.-K., Ornaghi, M. On correct program schemas. In: Fuchs, N.E. (ed), Proc. of LOPSTR’97 (this volume).

    Google Scholar 

  14. Fuchs, N.E., Fromherz, M.P.J, Schema-based transformation of logic programs. In: Clement, P., Lau, K.-K. (eds.), Proc. of LOPSTR’91, Springer-Verlag, pp. 111–125, 1992.

    Google Scholar 

  15. Gallagher, J.P., A system for specialising logic programs. Technical Report TR-91-32, University of Bristol, Department of Computer Science, 1991.

    Google Scholar 

  16. Gallagher, J.P., Tutorial on specialisation of logic programs. Proc. of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM’93), Copenhagen, pp. 88–98, 1993.

    Google Scholar 

  17. Gegg-Harrison, T.S. Learning Prolog in a schema-based environment. Instructional Science 20, pp. 173–192, 1991.

    Article  Google Scholar 

  18. Gegg-Harrison, T.S. Representing logic program schemata in γProlog. Sterling, L. (ed.). Proc. of ICLP’95, MIT Press, pp. 467–481, 1995.

    Google Scholar 

  19. Hamfelt, A., Nilsson, J.F. Inductive metalogic programming. In: S. Wrobel (ed), Proc. of ILP’94, pp. 85–96. GMD-Studien Nr. 237, Sankt Augustin (Germany), 1994.

    Google Scholar 

  20. Hamfelt, A., Nilsson, J.F. Declarative logic programming with primitive recursive relations on lists. Maher, M. (ed.). Proc. of JISCLP’96, MIT Press, pp. 230–243, 1996.

    Google Scholar 

  21. Hamfelt, A., Nilsson, J.F. Towards a logic programming methodology based on higher-order predicates. New generation Computing 15, pp. 421–228, 1997.

    Article  Google Scholar 

  22. Hannan, J., Miller, D. Uses of higher-order unification for implementing program transformers. Kowalski, R.A., Bowen, K.A. (eds). Proc. of ICLP’88, MIT Press, pp. 942–959, 1988.

    Google Scholar 

  23. Hill, P.M., Gallagher, J.P., Meta-programming in Logic Programming. To be published in Volume V of Handbook of Logic in Artificial Intelligence and Logic Programming, Oxford University Press. Currently available as Research Report Series 94.22, University of Leeds, School of Computer Studies, 1994.

    Google Scholar 

  24. Hill, P.M. and Lloyd, J.W., Analysis of meta-programs. Meta-programming in Logic Programming. Abramson, H., and Rogers, M.H. (eds.), MIT Press, pp. 23–51, 1989.

    Google Scholar 

  25. Jaffar, J., Maher, M.J., Constraint logic programming: A survey. Journal of logic programming, vol. 19,20, pp. 503–581, 1994.

    Article  MathSciNet  Google Scholar 

  26. Kakas, A.A., Kowalski, R.A., Toni, F., Abductive logic programming. Journal of Logic and Computation 2, pp. 719–770, 1993.

    Article  MathSciNet  Google Scholar 

  27. Kfoury, A.J., Tiuryn, J., and Urcyczyn, P., The undecidability of the semiunification problem. Proc. 22nd Annual ACM Symposium on Theory of Computing, pp. 468–476, 1990.

    Google Scholar 

  28. Kowalski, R., Logic for problem solving. North-Holland, 1979.

    Google Scholar 

  29. Lamma, E., Mello, P., Milano, M., Riguzzi, F. A hybrid extensional/intensional system for learning multiple predicates and normal logic programs. In: Fuchs, N.E. (ed.), Proc. of LOPSTR’97, (this volume).

    Google Scholar 

  30. Mitchell, T.M., Keller, R.M., Kedar-Cabelli, S.T. Explanation-based generalization: A unifying view. Machine Learning 1, pp. 47–80, 1986.

    Google Scholar 

  31. Muggleton, S., de Raedt, L. Inductive logic programming: Theory and methods. Journal of Logic Programming 19/20, pp. 669–679, 1994.

    Article  Google Scholar 

  32. Nienhuys-Cheng, S.-H., de Wolf, R., Foundations of Inductive Logic Programming. Lecture Notes in Artificial Intelligence 1228, Springer-Verlag, 1997.

    Google Scholar 

  33. Richardson, J., Fuchs, N.E., Development of correct transformation schemata for Prolog programs. In: Fuchs, N.E. (ed.), Proc. of LOPSTR’97, (this volume).

    Google Scholar 

  34. Numao, M., Shimura, M. Inductive program synthesis using a reversible metainterpreter. In: Bruynooghe, M. (ed.), Proc. of the Second Workshop on Meta-programming in Logic. April 4–6, 1990, Leuven, Belgium. pp. 123–136, 1991.

    Google Scholar 

  35. Sato, T., Meta-programming through a truth predicate. Logic Programming, Proc. of the Joint International Conference and Symposium on Logic Programming, ed. Apt, K., pp. 526–540, MIT Press, 1992.

    Google Scholar 

  36. SICStus Prolog user’s manual. Version 3#5, SICS, Swedish Institute of Computer Science, 1996. See also http://www.sics.se/isl/sicstus/sicstus_toc.html.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Christiansen, H. (1998). Implicit Program Synthesis by a Reversible Metainterpreter. In: Fuchs, N.E. (eds) Logic Program Synthesis and Transformation. LOPSTR 1997. Lecture Notes in Computer Science, vol 1463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49674-2_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-49674-2_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-49674-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics