Abstract
We present an approach to inductive synthesis of functional programs based on the detection of recurrence relations. A given term is considered as the k-th unfolding of an unknown recursive program. If a recurrence relations can be identified in the term, it can be folded into a recursive program which: (a) can reproduce the term and (b) generalizes over it. Our approach goes beyond Summers' classical approach (1977) in several aspects: it is language independent and works for terms belonging to an arbitrary term algebra; it allows induction of sets of recursive equations which are in some arbitrary `calls' relation; induced equations can be dependent on more than one input parameters and we can detect interdependencies of variable substitutions in recursive calls; the given input terms can represent incomplete unfoldings of an hypothetical recursive program.
Users
Please
log in to take part in the discussion (add own reviews or comments).