Logic Program Synthesis as Problem Reduction Using Combining Forms

  • Authors:
  • Andreas Hamfelt;Jørgen Fischer Nilsson;Nikolaj Oldager

  • Affiliations:
  • Department of Information Science, Division of Computer Science, Uppsala University, Box 513, S-751 20 Uppsala, Sweden. Andreas.Hamfelt@dis.uu.se;Department of Information Technology, Technical University of Denmark, DK-2800 Lyngby, Denmark. jfn@it.dtu.dk;Department of Information Technology, Technical University of Denmark, DK-2800 Lyngby, Denmark. sno@it.dtu.dk

  • Venue:
  • Automated Software Engineering
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents an approach to inductive synthesis of logicprograms from examples using problem decomposition and problemreduction principles. This is in contrast to the prevailing logicprogram induction paradigm, which relies on generalization ofprograms from examples. The problem reduction is accomplished as aconstrained top-down search process, which eventually is to reachtrivial problems.Our induction scheme applies a distinguished logic programminglanguage in which programs are combined from elementary predicatesby means of combinators conceived of as problem reduction operatorsincluding list recursion forms. The operator form admits inductivesynthesis as a top-down piecewise composition of semanticallymeaningful program elements according to the compositionalsemantics principle and with appeals neither to specialgeneralization mechanisms nor to alternative forms of resolutionand unification, or predicate invention.The search space is reduced by subjecting the induction processto various constraints concerning syntactical form, modes, datatypes, and computational resources. This is illustrated in thepaper with well-modedness constraints with the aim of synthesisingwell-moded, procedurally acceptable programs.Preliminary experiments with the proposed induction method leadus to tentatively conclude that the presented approach forms aviable alternative to the prevailing inductive logic programmingmethods applying generalization from examples.