This is a simple implementation of a BDD library for OCaml, mostly for teaching and quick experiment purposes.
You need dune on your system. If you don't have it, install opam then try opam install dune.
To build everything:
makeIt will build these libraries:
bdd: the main library -lib/bdd.mlishould be self-explanatoryprop: propositional logic, with a parser, used to test the main library - seecheckfor examplebench_prop: various ways of generating valid propositional formulae
Many executables:
test: tests producing graphical output - you'll need thegraphvizandgvpackages from your distributiontilingbdd_sat: a propositional tautology checker usingbddquant_elim: simple tests for quantifier eliminationqueen: computes the number of solutions to the n-queens problem, using a propositional formula (this is not an efficient way to solve this problem, simply another way to test thebddlibrary)pathcheck: a quick checkbench_prop_cli: generate valide propositional formulae from command line
To run any of them, let's say check, do:
dune exec test/check.exeYou can combine some of them, e.g.:
dune exec test/bench_prop_cli -pigeon-p 7 | dune exec test/bdd_sat.exeYou can run tests using:
make testmake install