Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Seventy-five problems for testing automatic theorem provers
Journal of Automated Reasoning
Journal of the ACM (JACM)
Efficient implementation of a BDD package
DAC '90 Proceedings of the 27th ACM/IEEE Design Automation Conference
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
Structuring and automating hardware proofs in a higher-order theorem-proving environment
Formal Methods in System Design - Special issue on computer-aided verification: special methods II
Papers presented at the second annual Workshop on Logical environments
Abstract models of memory management
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Using Reflection to Build Efficient and Certified Decision Procedures
TACS '97 Proceedings of the Third International Symposium on Theoretical Aspects of Computer Software
Verifying a Garbage Collection Algorithm
Proceedings of the 11th International Conference on Theorem Proving in Higher Order Logics
Implementing a Model Checker for LEGO
FME '97 Proceedings of the 4th International Symposium of Formal Methods Europe on Industrial Applications and Strengthened Foundations of Formal Methods
Verifying the Safety of a Practical Concurrent Garbage Collector
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
PVS: A Prototype Verification System
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
Modelisation of Timed Automata in Coq
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
Experiments with Finite Tree Automata in Coq
TPHOLs '01 Proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics
Verifying BDD Algorithms through Monadic Interpretation
VMCAI '02 Revised Papers from the Third International Workshop on Verification, Model Checking, and Abstract Interpretation
LCF-Style Propositional Simplification with BDDs and SAT Solvers
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Formalizing the Logic-Automaton Connection
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Verification of BDD normalization
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Full reduction at full throttle
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Towards a certified petri net model-checker
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Implementing hash-consed structures in coq
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
We describe an implementation and a proof of correctness of binary decision diagrams (BDDs), completely formalized in Coq. This allows us to run BDD-based algorithms inside Coq and paves the way for a smooth integration of symbolic model checking in the Coq proof assistant by using reflection. It also gives us, by Coq's extraction mechanism, certified BDD algorithms implemented in Caml. We also implement and prove correct a garbage collector for our implementation of BDDs inside Coq. Our experiments show that this approach works in practice, and is able to solve both relatively hard propositional problems and actual industrial hardware verification tasks.