Verification of Counting Sort and Radix Sort

Stijn de Gouw, Frank S. de Boer, Jurriaan Rot

Research output: Chapter in Book/Report/Conference proceedingChapterAcademicpeer-review

Abstract

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.
Original languageEnglish
Title of host publicationDeductive Software Verification - The KeY Book
Subtitle of host publicationFrom Theory to Practice
EditorsWolfgang Ahrendt , Bernhard Beckert , Richard Bubel , Reiner Hähnle , Peter H. Schmitt , Mattias Ulbrich
PublisherSpringer
Pages609-618
Number of pages10
ISBN (Electronic)978-3-319-49812-6
ISBN (Print)978-3-319-49811-9
DOIs
Publication statusPublished - 2016

Publication series

NameLecture Notes in Computer Science
PublisherSpringer
Volume10001
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Fingerprint

Sort
Counting
Sorting algorithm
Correctness
Proof of correctness
Digit
Sorting

Cite this

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). (Lecture Notes in Computer Science; Vol. 10001). Springer. https://doi.org/10.1007/978-3-319-49812-6_19
Gouw, Stijn de ; Boer, Frank S. de ; Rot, Jurriaan. / Verification of Counting Sort and Radix Sort. Deductive Software Verification - The KeY Book: From Theory to Practice. editor / Wolfgang Ahrendt ; Bernhard Beckert ; Richard Bubel ; Reiner Hähnle ; Peter H. Schmitt ; Mattias Ulbrich. Springer, 2016. pp. 609-618 (Lecture Notes in Computer Science).
@inbook{310e7fe01c7247bcbad5bdf98e8b918e,
title = "Verification of Counting Sort and Radix Sort",
abstract = "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.",
author = "Gouw, {Stijn de} and Boer, {Frank S. de} and Jurriaan Rot",
year = "2016",
doi = "10.1007/978-3-319-49812-6_19",
language = "English",
isbn = "978-3-319-49811-9",
series = "Lecture Notes in Computer Science",
publisher = "Springer",
pages = "609--618",
editor = "{Wolfgang Ahrendt} and {Bernhard Beckert} and {Richard Bubel} and {Reiner H{\"a}hnle} and {Peter H. Schmitt} and {Mattias Ulbrich}",
booktitle = "Deductive Software Verification - The KeY Book",

}

Gouw, SD, Boer, FSD & Rot, J 2016, Verification of Counting Sort and Radix Sort. in WA, BB, RB, RH, PHS & MU (eds), Deductive Software Verification - The KeY Book: From Theory to Practice. Lecture Notes in Computer Science, vol. 10001, Springer, pp. 609-618. https://doi.org/10.1007/978-3-319-49812-6_19

Verification of Counting Sort and Radix Sort. / Gouw, Stijn de; Boer, Frank S. de; Rot, Jurriaan.

Deductive Software Verification - The KeY Book: From Theory to Practice. ed. / Wolfgang Ahrendt; Bernhard Beckert; Richard Bubel; Reiner Hähnle; Peter H. Schmitt; Mattias Ulbrich. Springer, 2016. p. 609-618 (Lecture Notes in Computer Science; Vol. 10001).

Research output: Chapter in Book/Report/Conference proceedingChapterAcademicpeer-review

TY - CHAP

T1 - Verification of Counting Sort and Radix Sort

AU - Gouw, Stijn de

AU - Boer, Frank S. de

AU - Rot, Jurriaan

PY - 2016

Y1 - 2016

N2 - 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.

AB - 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.

UR - https://link.springer.com/book/10.1007/978-3-319-49812-6

U2 - 10.1007/978-3-319-49812-6_19

DO - 10.1007/978-3-319-49812-6_19

M3 - Chapter

SN - 978-3-319-49811-9

T3 - Lecture Notes in Computer Science

SP - 609

EP - 618

BT - Deductive Software Verification - The KeY Book

A2 - , Wolfgang Ahrendt

A2 - , Bernhard Beckert

A2 - , Richard Bubel

A2 - , Reiner Hähnle

A2 - , Peter H. Schmitt

A2 - , Mattias Ulbrich

PB - Springer

ER -

Gouw SD, Boer FSD, Rot J. Verification of Counting Sort and Radix Sort. In WA, BB, RB, RH, PHS, MU, editors, Deductive Software Verification - The KeY Book: From Theory to Practice. Springer. 2016. p. 609-618. (Lecture Notes in Computer Science). https://doi.org/10.1007/978-3-319-49812-6_19