module OBDD
( module OBDD.Data
, module OBDD.Property
, module OBDD.Operation
, module OBDD.Display
, module OBDD.Make
)
where
import OBDD.Data ( OBDD , size
, null, satisfiable
, number_of_models
, variables, paths, models
, some_model
, fold, foldM
, full_fold, full_foldM
)
import OBDD.Property
import OBDD.Operation
import OBDD.Display
import OBDD.Make
import Prelude hiding (not, null)
instance Ord v => Eq (OBDD v) where
OBDD v
f == :: OBDD v -> OBDD v -> Bool
== OBDD v
g = OBDD v -> Bool
forall v. OBDD v -> Bool
null (OBDD v -> Bool) -> OBDD v -> Bool
forall a b. (a -> b) -> a -> b
$ OBDD v -> OBDD v
forall b. Boolean b => b -> b
not (OBDD v -> OBDD v) -> OBDD v -> OBDD v
forall a b. (a -> b) -> a -> b
$ OBDD v -> OBDD v -> OBDD v
forall v. Ord v => OBDD v -> OBDD v -> OBDD v
equiv OBDD v
f OBDD v
g