Implementing Hash-Consed Structures in Coq
نویسندگان
چکیده
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.
منابع مشابه
Dependent Types for Enforcement of Information Flow Policies in Data Structures
Information flow policies specify how sensitive information should be contained in a system, while information erasure policies specify when such information should be removed from the system entirely. An insight of recent work is that erasure can be understood as an information flow concept: to erase is to place bounds on the information flowing from the erased data to the rest of the system. ...
متن کاملModular Enforcement of Information Flow Policies in Data Structures
Standard implementations of common data structures such as hash tables can leak information, e.g. the operation history, to attackers with later access to a machine’s memory. This leakage is particularly damaging whenever the history of operations performed on a data structure must remain secret, such as in voting machines. We show how unique representation—the requirement that a data structure...
متن کاملWhat can one learn from implementing common knowledge logic in a higher order proof assistant?
This paper presents experiments on common knowledge logic, conducted with the help of the proof assistant COQ. The main feature of common knowledge logic is the eponymous modality that says that a group of agents shares a knowledge about a certain proposition in a inductive way. This modality is specified by using a fixpoint approach. Furthermore, from these experiments, we discuss and compare ...
متن کاملExperience Implementing a Performant Category-Theory Library in Coq
We describe our experience implementing a broad categorytheory library in Coq. Category theory and computational performance are not usually mentioned in the same breath, but we have needed substantial engineering effort to teach Coq to cope with large categorical constructions without slowing proof script processing unacceptably. In this paper, we share the lessons we have learned about how to...
متن کاملCategory Theory in Coq 8.5
We report on our experience implementing category theory in Coq 8.5 . The repository of this development can be found at https://bitbucket.org/amintimany/ categories/. This implementation most notably makes use of features primitive projections for records and universe polymorphism that are new to Coq 8.5. The latter provides relative smallness and largeness in the development. This will be ela...
متن کامل