English

A Verified Cost Analysis of Joinable Red-Black Trees

Programming Languages 2023-09-26 v2 Data Structures and Algorithms

Abstract

Ordered sequences of data, specified with a join operation to combine sequences, serve as a foundation for the implementation of parallel functional algorithms. This abstract data type can be elegantly and efficiently implemented using balanced binary trees, where a join operation is provided to combine two trees and rebalance as necessary. In this work, we present a verified implementation and cost analysis of joinable red-black trees in calf\textbf{calf}, a dependent type theory for cost analysis. We implement red-black trees and auxiliary intermediate data structures in such a way that all correctness invariants are intrinsically maintained. Then, we describe and verify precise cost bounds on the operations, making use of the red-black tree invariants. Finally, we implement standard algorithms on sequences using the simple join-based signature and bound their cost in the case that red-black trees are used as the underlying implementation. All proofs are formally mechanized using the embedding of calf\textbf{calf} in the Agda theorem prover.

Keywords

Cite

@article{arxiv.2309.11056,
  title  = {A Verified Cost Analysis of Joinable Red-Black Trees},
  author = {Runming Li and Harrison Grodin and Robert Harper},
  journal= {arXiv preprint arXiv:2309.11056},
  year   = {2023}
}