obdd-0.3.2: 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