hasmtlib-1.1.0: A monad for interfacing with external SMT solvers
Safe HaskellSafe-Inferred
LanguageGHC2021

Language.Hasmtlib.Solver.Common

Synopsis

Documentation

newtype ProcessSolver Source #

A newtype-wrapper for Config which configures a solver via external process.

Constructors

ProcessSolver 

Fields

debug :: MonadIO m => ProcessSolver -> Solver SMT m Source #

Creates a debugging Solver from a ProcessSolver

interactiveSolver :: MonadIO m => ProcessSolver -> m (Solver, Handle) Source #

Creates an interactive session with a solver by creating and returning an alive process-handle Handle.

data Debugger Source #

A type holding actions to execute for debugging SMT solving.

Constructors

Debugger 

Instances

Instances details
Default Debugger Source # 
Instance details

Defined in Language.Hasmtlib.Solver.Common

Methods

def :: Debugger #

processSolver :: MonadIO m => Config -> Maybe Debugger -> Solver SMT m Source #

A Solver which holds an external process with a SMT-Solver. This will:

  1. Encode the SMT-problem,
  2. Start a new external process for the SMT-Solver,
  3. Send the problem to the SMT-Solver,
  4. Wait for an answer and parse it and
  5. close the process and clean up all resources.