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.
Description
Welcome to IEEE Xplore 2.0: Folding of finite program terms to recursive program schemes
%0 Conference Paper
%1 Kitzelmann02b
%A Kitzelmann, Emanuel
%A Schmid, Ute
%A Mühlpfordt, Martin
%A Wysotzki, Fritz
%B Intelligent Systems, 2002. Proceedings. 2002 First International IEEE Symposium
%D 2002
%K 2002 automatic_programming functional_programming igor1 induction inductive inductive_functional_programming inductive_inference inductive_program_synthesis inductive_programming inproceedings myown programming published recursive_program_schemes
%P 144--149 vol.1
%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.
%@ 0-7803-7134-8
@inproceedings{Kitzelmann02b,
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 = {2007-10-17T15:28:39.000+0200},
author = {Kitzelmann, Emanuel and Schmid, Ute and M{\"u}hlpfordt, Martin and Wysotzki, Fritz},
biburl = {https://www.bibsonomy.org/bibtex/21c72408b0c6508f935658d38c3889425/mh},
booktitle = {Intelligent Systems, 2002. Proceedings. 2002 First International IEEE Symposium},
description = {Welcome to IEEE Xplore 2.0: Folding of finite program terms to recursive program schemes},
interhash = {051ec0a100e59f9527e9585ab55a7319},
intrahash = {1c72408b0c6508f935658d38c3889425},
isbn = {0-7803-7134-8},
keywords = {2002 automatic_programming functional_programming igor1 induction inductive inductive_functional_programming inductive_inference inductive_program_synthesis inductive_programming inproceedings myown programming published recursive_program_schemes},
pages = {144--149 vol.1},
timestamp = {2007-10-17T15:28:41.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
}