Safe Haskell | None |
---|
- newtype SatSolver s l r = SatSolver (ErrorT SatError (StateT (State l) s) r)
- class Monad s => Solver s l | s -> l where
- newtype Clause l = Clause {
- clauseToList :: [l]
- class Typeable a => Decoder e a | e -> a, a -> e where
- data SatError
- data a :&: b = a :&: b
- addFormula :: (Show l, Eq l, Solver s l) => PropFormula l -> SatSolver s l ()
- fix :: (Eq l, Solver s l) => l -> PropFormula l -> SatSolver s l ()
- value :: (Ord l, Decoder e a, Solver s l) => SatSolver s l () -> e -> IO (Either SatError e)
- assignment :: (Ord l, Solver s l) => SatSolver s l () -> IO (Either SatError (Assign l))
- checkFormula :: Solver s l => PropFormula l -> SatSolver s l ()
- freshLit :: Solver s l => SatSolver s l l
- getAssign :: (Ord l, Solver s l) => SatSolver s l (Assign l)
- runSolver :: Solver s l => SatSolver s l r -> IO (Either SatError r)
- liftS :: Solver s l => s r -> SatSolver s l r
- liftIO :: MonadIO m => forall a. IO a -> m a
Documentation
newtype SatSolver s l r
newtype Clause l
Clause | |
|
data SatError
addFormula :: (Show l, Eq l, Solver s l) => PropFormula l -> SatSolver s l ()
checkFormula :: Solver s l => PropFormula l -> SatSolver s l ()