sybila / biodivine-lib-bdd

A small library for BDD manipulation in Rust. Part of the BioDivine toolset.
MIT License
20 stars 4 forks source link

Add support for "cubes". #20

Closed daemontus closed 3 years ago

daemontus commented 3 years ago

A cube represents a partial assignment of variables in a Bdd. They are useful alternative to BddValuation, which always needs to fix all variables. In particular, they are useful for quickly building Bdd objects from AND-clauses (e.g. x && !y && z), and for inspecting contents of a Bdd (e.g. min_cube and max_cube).

Before merging, we should make sure the API is ok as is (i.e. we are not missing some obviously useful methods - for example a way to create a BddCube from iterator or something like that) and that everything is properly documented. Also, we should update the branch from master.