Machine-checked verification of the correctness and amortized complexity of an efficient union-find implementation

19Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Union-Find is a famous example of a simple data structure whose amortized asymptotic time complexity analysis is non-trivial. We present a Coq formalization of this analysis. Moreover, we implement Union-Find as an OCaml library and formally endow it with a modular specification that offers a full functional correctness guarantee as well as an amortized complexity bound. Reasoning in Coq about imperative OCaml code relies on the CFML tool, which is based on characteristic formulae and Separation Logic, and which we extend with time credits. Although it was known in principle that amortized analysis can be explained in terms of time credits and that time credits can be viewed as resources in Separation Logic, we believe our work is the first practical demonstration of this approach.

Cite

CITATION STYLE

APA

Charguéraud, A., & Pottier, F. (2015). Machine-checked verification of the correctness and amortized complexity of an efficient union-find implementation. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9236, pp. 137–153). Springer Verlag. https://doi.org/10.1007/978-3-319-22102-1_9

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free