This repository provides a formal verification of the core procedures in the I/O-efficient BDD package Adiar as described in [Sølvsten2021]. The properties of the data structure and the algorithms were specified and proven inside of the Isabelle proof assistant. This work reuses some parts of the formalisation of recursive BDDs in [Michaelis2016].
-
Download the Isabelle proof assistant and open this folder at the root.
-
We are also dependent on [Michaelis2016].
For this, download the entire Archive of Formal Proofs and link Isabelle to it as described here.
Assuming Isabelle has been added to your path, then you can run Isabelle on the entire project (and its dependencies) with the following command.
isabelle build -D cadiar
-
[Michaelis2016] Julius Michaelis, Maximilian Haslbeck, Peter Lammich, and Lars Hupel. “Algorithms for Reduced Ordered Binary Decision Diagrams”. In: Archive of Formal Proofs (2016)
-
[Sølvsten2021] Steffan Christ Sølvsten, Jaco van de Pol, Anna Blume Jakobsen, and Mathias Weller Berg Thomasen. “Efficient Binary Decision Diagram Manipulation in External Memory”. In: arXiv (2021)