qlogic-0.9: A Haskell Library for Propositional Logic.

Safe HaskellNone

Qlogic.MemoizedFormula

Documentation

toFormula :: (Eq a, Solver t a) => Memo arg t a b -> SatSolver t a b

memoized :: (Solver s l, Ord arg, Eq l) => (arg -> MemoFormula arg s l) -> arg -> MemoFormula arg s l

liftSat :: (Solver s l, Eq l) => SatSolver s l (PropFormula l) -> MemoFormula arg s l

type MemoFormula arg s l = Memo arg s l (PropFormula l)

data Memo arg s l r

Instances

Monad s => MonadState (MemoState arg l) (Memo arg s l) 
Monad s => Monad (Memo arg s l) 
(Monad s, Eq l) => Boolean (MemoFormula arg s l) 
(Monad s, Eq l, PropAtom a) => NGBoolean (MemoFormula arg s l) a