Implementing Hash-Consed Structures in Coq

  • Thomas Braibant
  • Jacques-Henri Jourdan
  • David Monniaux
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7998)


We report on three different approaches to use hash-consing in programs certified with the Coq system, using binary decision diagrams (BDD) as running example. The use cases include execution inside Coq, or execution of the extracted OCaml code. There are 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.


Global State Hash Table Garbage Collection Decision Node Garbage Collector 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Armand, M., Grégoire, B., Spiwack, A., Théry, L.: Extending Coq with imperative features and its application to SAT verification. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 83–98. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  2. 2.
    Conchon, S., Filliâtre, J.-C.: Type-safe modular hash-consing. In: ACM SIGPLAN Workshop on ML, Portland, Oregon (September 2006)Google Scholar
  3. 3.
    Knuth, D.E.: The Art of Computer Programming, Binary decision diagrams, vol. 4A, ch. 7.1.4. Addison-Wesley (2011)Google Scholar
  4. 4.
    Verma, K.N., Goubault-Larrecq, J.: Reflecting BDDs in Coq. Rapport de recherche RR-3859, INRIA (2000)Google Scholar
  5. 5.
    Verma, K.N., Goubault-Larrecq, J., Prasad, S., Arun-Kumar, S.: Reflecting BDDs in Coq. In: Kleinberg, R.D., Sato, M. (eds.) ASIAN 2000. LNCS, vol. 1961, pp. 162–181. Springer, Heidelberg (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Thomas Braibant
    • 1
  • Jacques-Henri Jourdan
    • 1
  • David Monniaux
    • 2
  1. 1.InriaFrance
  2. 2.CNRS / VERIMAGFrance

Personalised recommendations