An approach to automatic deductive synthesis of functional programs

  • Authors:
  • Yulia Korukhova

  • Affiliations:
  • Computational Mathematics and Cybernetics Faculty, Lomonosov Moscow State University, Moscow, Russia 119991

  • Venue:
  • Annals of Mathematics and Artificial Intelligence
  • Year:
  • 2007

Quantified Score

Hi-index 0.01

Visualization

Abstract

The work deals with automatic deductive synthesis of functional programs. Formal specification of a program is taken as a mathematical existence theorem and while proving it, we derive a program and simultaneously prove that this program corresponds to given specification. Several problems have to be resolved for automatic synthesis: the choice of synthesis rules that allows us to derive the basic constructions of a functional program, order of rule application and choice of a particular induction rule. The method proposed here is based on the deductive tableau method. The basic method gives rules for functional program construction. To determine the proof strategy we use some external heuristics, including rippling. And for the induction hypothesis formation the combination of rippling and the deductive tableau method became very useful. The proposed techniques are implemented in the system ALISA (Automatic Lisp Synthesizer) and used for automatic synthesis of several functions in the Lisp language.