Automatic Partial Inversion of Inductively Sequential Functions

Jesús Almendros and Germán Vidal
Implementation and Application of Functional Languages (Revised selected papers from IFL'06), Springer LNCS 4449, pp. 253-270, 2007.

We introduce a new partial inversion technique for first-order functional programs. Our technique is simple, fully automatic, and (when it succeeds) returns a program that belongs to the same class of the original program, namely the class of inductively sequential programs (i.e., typical functional programs). To ease the definition, our method proceeds in a stepwise manner: normalization (introduction of let expressions), proper inversion, and removal of let expressions. Furthermore, it can easily be implemented. Therefore, it forms an appropriate basis for developing a practically applicable transformation tool. Preliminary experiments with a prototype implementation of the partial inverter demonstrates the usefulness and viability of our approach.

Available: PDF BibTeX-Entry


Germán Vidal