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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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.
Bergadano, F., Gunetti, D., Inductive logic programming, From machine learning to software engineering. MIT Press, 1996.
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).
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.
Büyükyıldız, H., Flener, P., Generalized logic program transformation schemas. In: Fuchs, N.E. (ed), Proc. of LOPSTR’97 (this volume).
Chasseur, E., Deville, Y. Logic program schemas, constraints and semi-unification. In: Fuchs, N.E. (ed), Proc. of LOPSTR’97 (this volume).
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.
Christiansen, H., Automated reasoning with a constraint-based metainterpreter. To appear in: Journal of Logic Programming, 1998.
Flach, P. Simply logical, Intelligent reasoning by example. Wiley, 1994.
Flener, P. Logic program synthesis from incomplete information. Kluwer, 1995.
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.
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.
Flener, P., Lau, K.-K., Ornaghi, M. On correct program schemas. In: Fuchs, N.E. (ed), Proc. of LOPSTR’97 (this volume).
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.
Gallagher, J.P., A system for specialising logic programs. Technical Report TR-91-32, University of Bristol, Department of Computer Science, 1991.
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.
Gegg-Harrison, T.S. Learning Prolog in a schema-based environment. Instructional Science 20, pp. 173–192, 1991.
Gegg-Harrison, T.S. Representing logic program schemata in γProlog. Sterling, L. (ed.). Proc. of ICLP’95, MIT Press, pp. 467–481, 1995.
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.
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.
Hamfelt, A., Nilsson, J.F. Towards a logic programming methodology based on higher-order predicates. New generation Computing 15, pp. 421–228, 1997.
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.
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.
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.
Jaffar, J., Maher, M.J., Constraint logic programming: A survey. Journal of logic programming, vol. 19,20, pp. 503–581, 1994.
Kakas, A.A., Kowalski, R.A., Toni, F., Abductive logic programming. Journal of Logic and Computation 2, pp. 719–770, 1993.
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.
Kowalski, R., Logic for problem solving. North-Holland, 1979.
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).
Mitchell, T.M., Keller, R.M., Kedar-Cabelli, S.T. Explanation-based generalization: A unifying view. Machine Learning 1, pp. 47–80, 1986.
Muggleton, S., de Raedt, L. Inductive logic programming: Theory and methods. Journal of Logic Programming 19/20, pp. 669–679, 1994.
Nienhuys-Cheng, S.-H., de Wolf, R., Foundations of Inductive Logic Programming. Lecture Notes in Artificial Intelligence 1228, Springer-Verlag, 1997.
Richardson, J., Fuchs, N.E., Development of correct transformation schemata for Prolog programs. In: Fuchs, N.E. (ed.), Proc. of LOPSTR’97, (this volume).
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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