obdd-0.2.7: Ordered Reduced Binary Decision Diagrams

Safe HaskellNone

OBDD.Operation

Synopsis

Documentation

(&&) :: Ord v => OBDD v -> OBDD v -> OBDD vSource

(||) :: Ord v => OBDD v -> OBDD v -> OBDD vSource

not :: Ord v => OBDD v -> OBDD vSource

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

and :: Ord v => [OBDD v] -> OBDD vSource

or :: Ord v => [OBDD v] -> OBDD vSource

unary :: Ord v => (Bool -> Bool) -> OBDD v -> OBDD vSource

binary :: Ord v => (Bool -> Bool -> Bool) -> OBDD v -> OBDD v -> OBDD vSource

instantiate :: Ord v => v -> Bool -> OBDD v -> OBDD vSource

replace variable by value

exists :: Ord v => v -> OBDD v -> OBDD vSource

remove variable existentially TODO: needs better implementation

exists_many :: Ord v => Set v -> OBDD v -> OBDD vSource

remove variables existentially TODO: needs better implementation

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

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