Efficient Extensional Binary Tries - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles Journal of Automated Reasoning Year : 2023

Efficient Extensional Binary Tries

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.
Fichier principal
Vignette du fichier
extensional.pdf (306.04 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03372247 , version 1 (10-10-2021)
hal-03372247 , version 2 (24-05-2022)
hal-03372247 , version 3 (21-09-2022)
hal-03372247 , version 4 (04-09-2023)

Licence

Attribution - ShareAlike

Identifiers

Cite

Andrew W Appel, Xavier Leroy. Efficient Extensional Binary Tries. Journal of Automated Reasoning, 2023, 67, pp.Article number 8. ⟨10.1007/s10817-022-09655-x⟩. ⟨hal-03372247v4⟩
298 View
266 Download

Altmetric

Share

Gmail Facebook X LinkedIn More