Intrinsically Correct Sorting in Cubical Agda

Cass Alexandru,Vikraman Choudhury,Jurriaan Rot,Niels van der Weide
DOI: https://doi.org/10.1145/3703595.3705873
2024-12-11
Abstract:The paper "Sorting with Bialgebras and Distributive Laws" by Hinze et al. uses the framework of bialgebraic semantics to define sorting algorithms. From distributive laws between functors they construct pairs of sorting algorithms using both folds and unfolds. Pairs of sorting algorithms arising this way include insertion/selection sort and quick/tree sort. We extend this work to define intrinsically correct variants in cubical Agda. Our key idea is to index our data types by multisets, which concisely captures that a sorting algorithm terminates with an ordered permutation of its input list. By lifting bialgebraic semantics to the indexed setting, we obtain the correctness of sorting algorithms purely from the distributive law.
Logic in Computer Science,Combinatorics,Category Theory
What problem does this paper attempt to address?