Implementing and reasoning about hash-consed data structures in Coq

25 Sep 2015  ·  Braibant Thomas Gallium, Jourdan Jacques-Henri Gallium, Monniaux David ·

We report on four different approaches to implementing hash-consing in Coq programs. The use cases include execution inside Coq, or execution of the extracted OCaml code. We explore the different trade-offs between faithful use of pristine extracted code, and code that is fine-tuned to make use of OCaml programming constructs not available in Coq. We discuss the possible consequences in terms of performances and guarantees. We use the running example of binary decision diagrams and then demonstrate the generality of our solutions by applying them to other examples of hash-consed data structures.

PDF Abstract
No code implementations yet. Submit your code now

Categories


Logic in Computer Science Data Structures and Algorithms

Datasets


  Add Datasets introduced or used in this paper