obdd-0.3.3: Ordered Reduced Binary Decision Diagrams

Safe HaskellNone
LanguageHaskell98

OBDD.Operation

Synopsis

Documentation

(&&) :: Ord v => OBDD v -> OBDD v -> OBDD v Source #

(||) :: Ord v => OBDD v -> OBDD v -> OBDD v Source #

not :: Ord v => OBDD v -> OBDD v Source #

FIXME this is a silly implementation. Negation should be done by switching values in Leaves (?)

and :: Ord v => [OBDD v] -> OBDD v Source #

or :: Ord v => [OBDD v] -> OBDD v Source #

unary :: Ord v => (Bool -> Bool) -> OBDD v -> OBDD v Source #

binary :: Ord v => (Bool -> Bool -> Bool) -> OBDD v -> OBDD v -> OBDD v Source #

instantiate :: Ord v => v -> Bool -> OBDD v -> OBDD v Source #

replace variable by value

exists :: Ord v => v -> OBDD v -> OBDD v Source #

remove variable existentially TODO: needs better implementation

exists_many :: Ord v => Set v -> OBDD v -> OBDD v Source #

remove variables existentially TODO: needs better implementation

fold :: Ord v => (Bool -> a) -> (v -> a -> a -> a) -> OBDD v -> a Source #

foldM :: (Monad m, Ord v) => (Bool -> m a) -> (v -> a -> a -> m a) -> OBDD v -> m a Source #