@article {IOPORT.04178789, author = {Chen, Wei and Udding, Jan Tijmen}, title = {Program inversion: More than fun!}, year = {1990}, journal = {Science of Computer Programming}, volume = {15}, number = {1}, issn = {0167-6423}, pages = {1-13}, publisher = {Elsevier Science B.V. (North-Holland), Amsterdam}, doi = {10.1016/0167-6423(90)90042-C}, abstract = {Summary: We introduce proof rules for inverting a program. We derive an algorithm to compute the preorder and inorder traversals of a binary tree. Subsequently, we invert this algorithm to arrive at an algorithm to construct a tree from its preorder and inorder traversals. We prove this program correct using the proof rules for inversion rather than directly. Since a proper formulation of a provable invariant of this program appears to be quite awkward, this example reinforces the view that program inversion is a useful technique and more than fun.}, identifier = {04178789}, }