module Language.SMTLib2.Solver where
import Language.SMTLib2
import Language.SMTLib2.Pipe
import Control.Monad.Trans (MonadIO)
withZ3 :: MonadIO m => SMT' m a -> m a
withZ3 = withPipe "z3" ["-smt2","-in"]
withMathSat :: MonadIO m => SMT' m a -> m a
withMathSat = withPipe "mathsat" []
withCVC4 :: MonadIO m => SMT' m a -> m a
withCVC4 = withPipe "cvc4" ["--lang smt2"]
withSMTInterpol :: MonadIO m => SMT' m a -> m a
withSMTInterpol = withPipe "java" ["-jar","/usr/local/share/java/smtinterpol.jar","-q"]