Efficient extensional binary tries
From MaRDI portal
Abstract: Lookup tables (finite maps) are a ubiquitous data structure. In pure functional languages they are best represented using trees instead of hash tables. In pure functional languages within constructive logic, without a primitive integer type, they are well represented using binary tries instead of search trees. In this work, we introduce canonical binary tries, an improved binary-trie data structure that enjoys a natural extensionality property, quite useful in proofs, and supports sparseness more efficiently. We provide full proofs of correctness in Coq. We provide microbenchmark measurements of canonical binary tries versus several other data structures for finite maps, in a variety of application contexts; as well as measurement of canonical versus original tries in two big, real systems. The application context of data structures contained in theorem statements imposes unusual requirements for which canonical tries are particularly well suited.
Cites work
- A modular type-checking algorithm for type theory with singleton types and proof irrelevance
- Abstraction and subsumption in modular verification of C programs
- Edinburgh LCF. A mechanized logic of computation
- Program logics for certified compilers
- Programming Languages and Systems
- Verified software toolchain (invited talk)
- Verified software units
- VST-Floyd: a separation logic tool to verify correctness of C programs
This page was built for publication: Efficient extensional binary tries
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q6156636)