文摘
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.