| | |
Summary: Reflecting BDDs in Coq
Kumar Neeraj Verma 1 , Jean GoubaultLarrecq 1 , Sanjiva Prasad 2 , and S.
ArunKumar 2
1 GIE Dyade and INRIA Rocquencourt
2 IIT Delhi
Abstract. We describe an implementation and a proof of correctness
of binary decision diagrams (BDDs), completely formalized in Coq. This
allows us to run BDDbased algorithms inside Coq and paves the way for
a smooth integration of symbolic model checking in the Coq proof assis
tant 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.
1 Introduction
Binary Decision Diagrams (BDDs for short) [9] are a compact and canonical rep
resentation of propositional formulae up to propositional equivalence, or equiv
alently of Boolean functions. BDDs and related data structures are at the heart
of modern automated verification systems, based on modelchecking [24] or on
|