Publication View

To my grandmother, Mrs. Mao-Qian Chen. A Calculational Approach to Program Inversion (2003)

Abstract
Many problems in computation can be specified in terms of computing the inverse of an easily constructed function. However, studies on how to derive an algorithm from a problem specification involving inverse functions are relatively rare. The aim of this thesis is to demonstrate, in an example-driven style, a number of techniques to do the job. The techniques are based on the framework of relational, algebraic program derivation. Simple program inversion can be performed by just taking the converse of the program, sometimes known as to “run a program backwards”. The approach, however, does not match the pattern of some more advanced algorithms. Previous results, due to Bird and de Moor, gave conditions under which the inverse of a total function can be written as a fold. In this thesis, a generalised theorem stating the conditions for the inverse of a partial function to be a hylomorphism is presented and proved. The theorem is applied to many examples, including the classical problem of rebuilding a binary tree from its preorder and inorder traversals. This thesis also investigates into the interplay between the above theorem and previous

Publication details
Download http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.79.688
Source http://www.ipl.t.u-tokyo.ac.jp/~scm/pub/thesis.pdf
Contributors CiteSeerX
Repository CiteSeerX - Scientific Literature Digital Library and Search Engine (United States)
Type text
Language English