Crate boolean_expression [] [src]

boolean_expression expression manipulation / BDD library

This crate provides for the manipulation and evaluation of Boolean expressions and Binary Decision Diagrams (BDDs), and the construction of BDDs from Boolean expressions. It also has a very simple Boolean expression simplifier, though this simplifier does not find minterms (i.e., cancel redundant terms), so should not be considered complete. This crate may eventually be expanded with more elaborate simplifiers.

Structs

BDD

A BDD is a Binary Decision Diagram, an efficient way to represent a Boolean function in a canonical way. (It is actually a "Reduced Ordered Binary Decision Diagram", which gives it its canonicity assuming terminals are ordered consistently.)

Enums

Expr

An Expr is a simple Boolean logic expression. It may contain terminals (i.e., free variables), constants, and the following fundamental operations: AND, OR, NOT.

Constants

BDD_ONE

A special terminal BDDFunc which is constant true (one).

BDD_ZERO

A special terminal BDDFunc which is constant false (zero).

Type Definitions

BDDFunc

A BDDFunc is a function index within a particular BDD index. It must only be used with the BDD instance which produced it.