Inorder traversal of a binary tree and its inversion
Formal development programs and proofs
Program inversion in the refinement calculus
Information Processing Letters
Program inversion: more than fun!
Science of Computer Programming
On the synthesis of function inverses
Acta Informatica
Statement inversion and strongest postcondition
Science of Computer Programming
Real-time deques, multihead Turing machines, and purely functional programming
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Science of Computer Programming - Special issue on mathematics of program construction
Algebra of programming
Synthesis of functions by transformations and constraints (poster)
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
Breadth-first numbering: lessons from a small exercise in algorithm design
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
The Science of Programming
Introduction to Algorithms
Polytypic data conversion programs
Science of Computer Programming
Construction of List Homomorphisms by Tupling and Fusion
MFCS '96 Proceedings of the 21st International Symposium on Mathematical Foundations of Computer Science
Elements of a Relational Theory of Datatypes
Proceedings of the IFIP TC2/WG 2.1 State-of-the-Art Report on Formal Program Development
Inorder Traversal of a Binary Heap and its Inversion in Optimal Time and Space
Proceedings of the Second International Conference on Mathematics of Program Construction
Induction and Recursion on Datatypes
MPC '95 Mathematics of Program Construction
The Universal Resolving Algorithm: Inverse Computation in a Functional Language
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
Constructing Tournament Representations: An Exercise in Pointwise Relational Programming
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
Algebraic methods for optimization problems
Algebraic and coalgebraic methods in the mathematics of program construction
Inversion of a Recursive Tree Traversal
Inversion of a Recursive Tree Traversal
Journal of Functional Programming
A library of constructive skeletons for sequential style of parallel programming
InfoScale '06 Proceedings of the 1st international conference on Scalable information systems
Merging Hierarchically-Structured Documents in Workflow Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Algebra of programming in agda: Dependent types for relational program derivation
Journal of Functional Programming
Science of Computer Programming
Hi-index | 0.00 |
This paper is devoted to the proof, applications, and generalisation of a theorem, due to Bird and de Moor, that gave conditions under which a total function can be expressed as a relational fold. The theorem is illustrated with three problems, all dealing with constructing trees with various properties. It is then generalised to give conditions under which the inverse of a partial function can be expressed as a relational hylomorphism. Its proof makes use of Doornbos and Backhouse's theory on well-foundedness and reductivity. Possible applications of the generalised theorem is discussed.