We discuss a mechanized correctness proof in KeY of Counting sort and Radix sort. Counting sort is an unusual sorting algorithm in the sense that it is based on arithmetic rather than comparisons. Radix sort is tailored to sorting arrays of large numbers. It uses an auxiliary sorting algorithm, such as Counting sort, to sort the digits of the large numbers one-by-one. The correctness of Radix sort requires the stability of the auxiliary sorting algorithm. Stability here means that the order between different occurrences of the same number is preserved. The correctness proof of Counting sort includes a proof of its stability.
|Title of host publication||Deductive Software Verification - The KeY Book|
|Subtitle of host publication||From Theory to Practice|
|Editors||Wolfgang Ahrendt , Bernhard Beckert , Richard Bubel , Reiner Hähnle , Peter H. Schmitt , Mattias Ulbrich|
|Number of pages||10|
|Publication status||Published - 2016|
|Series||Lecture Notes in Computer Science|
Gouw, S. D., Boer, F. S. D., & Rot, J. (2016). Verification of Counting Sort and Radix Sort. In W. A., B. B., R. B., R. H., P. H. S., & M. U. (Eds.), Deductive Software Verification - The KeY Book: From Theory to Practice (pp. 609-618). Springer. Lecture Notes in Computer Science, Vol.. 10001 https://doi.org/10.1007/978-3-319-49812-6_19