Copyright | (c) Galois Inc 2015-2020 |
---|---|
License | BSD3 |
Maintainer | Rob Dockins <rdockins@galois.com> |
Stability | provisional |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- data SolverAdapter st = SolverAdapter {
- solver_adapter_name :: !String
- solver_adapter_config_options :: ![ConfigDesc]
- solver_adapter_check_sat :: !(forall t fs a. ExprBuilder t st fs -> LogData -> [BoolExpr t] -> (SatResult (GroundEvalFn t, Maybe (ExprRangeBindings t)) () -> IO a) -> IO a)
- solver_adapter_write_smt2 :: !(forall t fs. ExprBuilder t st fs -> Handle -> [BoolExpr t] -> IO ())
- defaultWriteSMTLIB2Features :: ProblemFeatures
- defaultSolverAdapter :: ConfigOption (BaseStringType Unicode)
- solverAdapterOptions :: [SolverAdapter st] -> IO ([ConfigDesc], IO (SolverAdapter st))
- data LogData = LogData {}
- logCallback :: LogData -> String -> IO ()
- defaultLogData :: LogData
- smokeTest :: ExprBuilder t st fs -> SolverAdapter st -> IO (Maybe SomeException)
Documentation
data SolverAdapter st Source #
The main interface for interacting with a solver in an "offline" fashion, which means that a new solver process is started for each query.
SolverAdapter | |
|
Instances
Eq (SolverAdapter st) Source # | |
Defined in What4.Solver.Adapter (==) :: SolverAdapter st -> SolverAdapter st -> Bool # (/=) :: SolverAdapter st -> SolverAdapter st -> Bool # | |
Ord (SolverAdapter st) Source # | |
Defined in What4.Solver.Adapter compare :: SolverAdapter st -> SolverAdapter st -> Ordering # (<) :: SolverAdapter st -> SolverAdapter st -> Bool # (<=) :: SolverAdapter st -> SolverAdapter st -> Bool # (>) :: SolverAdapter st -> SolverAdapter st -> Bool # (>=) :: SolverAdapter st -> SolverAdapter st -> Bool # max :: SolverAdapter st -> SolverAdapter st -> SolverAdapter st # min :: SolverAdapter st -> SolverAdapter st -> SolverAdapter st # | |
Show (SolverAdapter st) Source # | |
Defined in What4.Solver.Adapter showsPrec :: Int -> SolverAdapter st -> ShowS # show :: SolverAdapter st -> String # showList :: [SolverAdapter st] -> ShowS # |
defaultWriteSMTLIB2Features :: ProblemFeatures Source #
Default featues to use for writing SMTLIB2 files.
solverAdapterOptions :: [SolverAdapter st] -> IO ([ConfigDesc], IO (SolverAdapter st)) Source #
A collection of operations for producing output from solvers.
Solvers can produce messages at varying verbosity levels that
might be appropriate for user output by using the logCallbackVerbose
operation. If a logHandle
is provided, the entire interaction
sequence with the solver will be mirrored into that handle.
smokeTest :: ExprBuilder t st fs -> SolverAdapter st -> IO (Maybe SomeException) Source #
Test the ability to interact with a solver by peforming a check-sat query on a trivially unsatisfiable problem.