Skip to main content
Log in

Logic Program Synthesis as Problem Reduction Using Combining Forms

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

This paper presents an approach to inductive synthesis of logic programs from examples using problem decomposition and problem reduction principles. This is in contrast to the prevailing logic program induction paradigm, which relies on generalization of programs from examples. The problem reduction is accomplished as a constrained top-down search process, which eventually is to reach trivial problems.

Our induction scheme applies a distinguished logic programming language in which programs are combined from elementary predicates by means of combinators conceived of as problem reduction operators including list recursion forms. The operator form admits inductive synthesis as a top-down piecewise composition of semantically meaningful program elements according to the compositional semantics principle and with appeals neither to special generalization mechanisms nor to alternative forms of resolution and unification, or predicate invention.

The search space is reduced by subjecting the induction process to various constraints concerning syntactical form, modes, data types, and computational resources. This is illustrated in the paper with well-modedness constraints with the aim of synthesising well-moded, procedurally acceptable programs.

Preliminary experiments with the proposed induction method lead us to tentatively conclude that the presented approach forms a viable alternative to the prevailing inductive logic programming methods applying generalization from examples.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

References

  • Aha, D.W., Lapointe, S., Ling, C.X., and Matwin, S. 1994. Learning recursive relations with randomly selected small training sets. In W.W. Cohen and H. Hirsh, editors, Proc. of ICML '94, Morgan Kaufmann.

  • Apt, K. and Marchiori, E. 1994. Reasoning about prolog programs: From modes through types to assertions. J. Formal Aspects of Computing, 6A:743–764.

    Google Scholar 

  • Bacon, J. 1985. The completeness of predicate–functor logic. J. Symbolic Logic, 50(4):903–926.

    Google Scholar 

  • Basin, D., Deville, Y., Flener, P., Hamfelt, A., and Nilsson, J.F. Synthesis of programs in computational logic. Submitted for publication.

  • Bird, R. and de Moor, O. 1997. Algebra of Programming. Prentice Hall.

  • Cohen., W.W. 1993. PAC–learning a restricted class of recursive logic programs. In S. Muggleton editor, Proc. of ILP'93, Technical Report IJS–DP–6707. Stefan Institute, Ljubljana, Slovenia, pp. 73–86.

    Google Scholar 

  • Flener, P. Inductive logic program synthesis with Dialogs. In Muggleton, S. editor, 1996, pp. 175–198.

  • Flener, P. 1995. Logic Program Synthesis from Incomplete Information. Kluwer, Boston, Kluwer Academic Publishers.

    Google Scholar 

  • Flener, P. and Yilmaz, S. 1999. Inductive synthesis of recursive logic programs: Achievements and prospects. J. of Logic Programming, 41:141–195.

    Google Scholar 

  • Hamfelt, A. and Fischer Nilsson, J. 1994. Inductive metalogic programming. In S. Wrobel, editor, Procs. Fourth International Workshop on Inductive Logic programming (ILP–94), Bad Honnef/Bonn, GMD–Studien Nr. 237, pp. 85–96.

  • Hamfelt, A. and Fischer Nilsson, J. 1997. Towards a logic programming methodology based on higher–order predicates. J. New Generation Computing, 15(4):421–448.

    Google Scholar 

  • Hamfelt, A. and Fischer Nilsson, J. 1996. Declarative logic programming with primitive recursive relations on lists. In M. Maher, editor, Procs. Joint International Conference and Symposium on Logic Programming 1996, MIT Press, London, pp. 230–242.

    Google Scholar 

  • Hamfelt, A. and Fischer Nilsson, J. 1999a. Inductive synthesis of logic programs by composition of combinatory program schemes. In P. Flener, editor, Procs. Workshop on Logic Based Program Transformation and Synthesis 1998, Springer–Verlag, pp. 143–158. Lecture Notes in Computer Science 1559.

  • Hamfelt, A. and Fischer Nilsson, J. 1999b. Inductive logic programming with well–modedness constraints. In R. Echahed, editor, Proc. Eighth International Workshop on Functional and Logic Programming 1999, Rapport de recherche, RR 1021–I, Laboratoire Leibniz, Institut IMAG.

  • Hamfelt, A., Fischer Nilsson, J., and Vitoria, A. 1999. A combinatory form of pure logic programs and its compositional semantics. Submitted for publication.

  • Idestam–Almquist, P. 1996. Efficient induction of recursive definitions by structural analysis of saturations. In L. De Raedt, editor, Advances in Inductive Logic Programming. IOS Press, pp. 192–205.

  • Lapointe, S., Ling, C., and Matwin, S. 1993. Constructive inductive logic programming. In S. Muggleton, editor. Proc. of ILP'93 Technical Report IJS–DP–6707. Stefan Institute, Ljubljana, Slovenia, pp. 255–264.

    Google Scholar 

  • Lavrač, N. and Džeroski, S. 1994. Inductive Logic Programming. New York: Ellis Horwood, 1994.

    Google Scholar 

  • Muggleton, S., (Ed): 1992. Inductive Logic Programming. London: Academic Press, 1992.

    Google Scholar 

  • Muggleton, S. 1995. Inverse entailment and progol. New Generation Computing, 13:245–286.

    Google Scholar 

  • Muggleton, S. (Ed): 1996. Inductive logic programming. In Proceedings of the 6th International Workshop on Inductive Logic Programming, Springer, 1996. Lecture Notes in Artificial Intelligence, vol 1314.

  • Nienhuys–Cheng, S.–H. and de Wolf, R. 1997. Foundations of inductive logic programming Springer, 1997. Lecture Notes in Artificial Intelligence, vol 1228.

  • Petorossi, A. and Proietti, M. 1998. Transformation of logic programs. In D. M. Gabbay, C. J. Hogger, and J. A. Robinson, editor, Handbook of Logic in Artificial Intelligence and Logic Programming. Oxford, Clarendon Press.

    Google Scholar 

  • Plotkin, G. 1969. A Note on inductive generalization. In B. Meltzer and D. Michie, editors, Machine Intelligence vol. 5. Edinburgh: Edingburgh University Press, pp. 153–161.

    Google Scholar 

  • Quine, W.V. 1971. Predicate–functor Logic. In J.E. Fenstad, editor, Procs. Second Scandinavian Logic Symposium. North–Holland, pp. 309–315.

  • Reade, C. 1989. Elements of Functional Programming. Addison–Wesley, 1989.

  • Shapiro, E. 1991. Inductive inference of theories from facts. In J.–L. Lassez, and G.D. Plotkin, editors, Computational Logic: Essays in Honor of Alan Robinson. The MIT Press: Cambridge, Massachusetts, London England.

    Google Scholar 

  • Warren, D.H.D. 1982. Higher–order extensions to PROLOG: are they needed? In D. Michie, editor, Machine Intelligence vol 10. Ellis Horwood and Edinburgh University Press, pp. 441–454.

  • Wirth, R. and O'Rorke, P. Constraints for predicate invention. In Inductive Logic Programming, S., Muggleton, editor, pp. 299–318.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hamfelt, A., Nilsson, J.F. & Oldager, N. Logic Program Synthesis as Problem Reduction Using Combining Forms. Automated Software Engineering 8, 167–193 (2001). https://doi.org/10.1023/A:1008741507024

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008741507024