Safe Haskell | None |
---|---|
Language | Haskell98 |
- class (MonadFix m, Applicative m, Monad m) => MonadSAT m where
- data Boolean
- type Booleans = [Boolean]
- boolean :: MonadSAT m => m Boolean
- exists :: MonadSAT m => m Boolean
- forall :: MonadSAT m => m Boolean
- constant :: MonadSAT m => Bool -> m Boolean
- not :: Boolean -> Boolean
- monadic :: Monad m => ([a] -> m b) -> [m a] -> m b
- assertOr :: MonadSAT m => [Boolean] -> m ()
- assertAnd :: MonadSAT m => [Boolean] -> m ()
- assert :: MonadSAT m => [Boolean] -> m ()
- constant :: MonadSAT m => Bool -> m Boolean
- and :: MonadSAT m => [Boolean] -> m Boolean
- or :: MonadSAT m => [Boolean] -> m Boolean
- xor :: MonadSAT m => [Boolean] -> m Boolean
- equals2 :: MonadSAT m => Boolean -> Boolean -> m Boolean
- equals :: MonadSAT m => [Boolean] -> m Boolean
- implies :: MonadSAT m => Boolean -> Boolean -> m Boolean
- (||) :: MonadSAT m => Boolean -> Boolean -> m Boolean
- (&&) :: MonadSAT m => Boolean -> Boolean -> m Boolean
- fun2 :: MonadSAT m => (Bool -> Bool -> Bool) -> Boolean -> Boolean -> m Boolean
- fun3 :: MonadSAT m => (Bool -> Bool -> Bool -> Bool) -> Boolean -> Boolean -> Boolean -> m Boolean
- ifThenElse :: MonadSAT m => Boolean -> m Boolean -> m Boolean -> m Boolean
- ifThenElseM :: MonadSAT m => m Boolean -> m Boolean -> m Boolean -> m Boolean
- assert_fun2 :: MonadSAT m => (Bool -> Bool -> Bool) -> Boolean -> Boolean -> m ()
- assert_fun3 :: MonadSAT m => (Bool -> Bool -> Bool -> Bool) -> Boolean -> Boolean -> Boolean -> m ()
- monadic :: Monad m => ([a] -> m b) -> [m a] -> m b
Documentation
class (MonadFix m, Applicative m, Monad m) => MonadSAT m where Source
fresh, fresh_forall :: m Literal Source
emit some note (could be printed by the backend)
decode_variable :: Variable -> Decoder m Bool Source
fun2 :: MonadSAT m => (Bool -> Bool -> Bool) -> Boolean -> Boolean -> m Boolean Source
implement the function by giving a full CNF that determines the outcome
fun3 :: MonadSAT m => (Bool -> Bool -> Bool -> Bool) -> Boolean -> Boolean -> Boolean -> m Boolean Source
implement the function by giving a full CNF that determines the outcome