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.
%0 Conference Paper
%1 KiScMuWy02a
%A Kitzelmann, Emanuel
%A Schmid, Ute
%A Mühlpfordt, Martin
%A Wysotzki, Fritz
%B First International IEEE Symposium on Intelligent Systems (IS 2002)
%D 2002
%I IEEE
%K analytical_ip ifp igor1 induction inductive_programming inproceedings program_synthesis recursive_program_schemes
%P 144--149
%T Folding of Finite Program Terms to Recursive Program Schemes
%U http://dx.doi.org/10.1109/IS.2002.1044245
%V 1
%X 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.
@inproceedings{KiScMuWy02a,
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.},
added-at = {2009-06-21T15:26:38.000+0200},
author = {Kitzelmann, Emanuel and Schmid, Ute and M{\"u}hlpfordt, Martin and Wysotzki, Fritz},
biburl = {https://www.bibsonomy.org/bibtex/22a17973c9201d387584351f85c0fe55a/emanuel},
booktitle = {First International {IEEE} Symposium on Intelligent Systems {(IS 2002)}},
interhash = {051ec0a100e59f9527e9585ab55a7319},
intrahash = {2a17973c9201d387584351f85c0fe55a},
keywords = {analytical_ip ifp igor1 induction inductive_programming inproceedings program_synthesis recursive_program_schemes},
pages = {144--149},
pdf = {http://www.cogsys.wiai.uni-bamberg.de/publications/ieeeis02.pdf},
publisher = {IEEE},
timestamp = {2009-06-21T15:26:38.000+0200},
title = {Folding of Finite Program Terms to Recursive Program Schemes},
url = {http://dx.doi.org/10.1109/IS.2002.1044245},
volume = 1,
year = 2002
}