Abstract-In the frame of our previous experiments for proof based synthesis of sorting algorithms for lists and for binary trees, we employed certain special techniques which are able to generate multiple variants of sorting and merging, by investigating all combinations of auxiliary functions available for composing objects (lists, respectively trees). The purpose of this paper is to describe this technique and the results obtained. We present the main principles and the application of this technique to merging of sorted binary trees into a sorted one. Remarkably, merging requires a nested recursion, for which an appropriate induction principle is difficult to guess. Our method is able to find it automatically by using a general Noetherian induction and the combinatorial technique.
The authors apply in REF combinatorial techniques in order to discover from proofs auxiliary algorithms, other than Insert, which are versions of an algorithm that merges two sorted binary trees into a sorted one.
Combinatorial Techniques for Proof-Based Synthesis of Sorting Algorithms
2015 17th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC)
2015 17th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC)
Computer Science