SSoelvsten / cadiar

Formal verification of the Adiar BDD package

Home Page:https://github.com/ssoelvsten/adiar

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cadiar : Certified Adiar

Build

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].

Usage

  1. Download the Isabelle proof assistant and open this folder at the root.

  2. 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

References

  • [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)

About

Formal verification of the Adiar BDD package

https://github.com/ssoelvsten/adiar

License:MIT License


Languages

Language:Isabelle 98.9%Language:Dockerfile 1.1%