package bdd
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Implementation of BDD
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      0.5.tar.gz
    
    
        
    
  
  
  
    
  
  
    
  
        md5=193cf8d966bbca4d864ac82460a18523
    
    
  sha512=79c3f20fb17236c0f53af7fb42ba82f3e6f776c9e9def8fb3f219936fc5b72961c27a58eee8056cd92ce260b40568c5b16b67709e0bbc943e22f9e49a031aa16
    
    
  Description
Published: 21 May 2025
README
ocaml-bdd
This is a simple implementation of a BDD library for OCaml, mostly for teaching and quick experiment purposes.
Build
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-explanatory
- prop: propositional logic, with a parser, used to test the main library - see- checkfor example
- bench_prop: various ways of generating valid propositional formulae
Many executables:
- test: tests producing graphical output - you'll need the- graphvizand- gvpackages from your distribution
- tiling
- bdd_sat: a propositional tautology checker using- bdd
- quant_elim: simple tests for quantifier elimination
- queen: 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 the- bddlibrary)
- path
- check: a quick check
- bench_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.exeTest
You can run tests using:
make testInstall
make installDependencies (3)
- stdlib-shims
- menhir
- 
  
    dune
  
  
    >= "2.0.0"
Dev Dependencies
None
Used by (1)
Conflicts
None
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page