Hsmtlib-0.2.0.6: Haskell library for easy interaction with SMT-LIB 2 compliant solvers.

Safe HaskellSafe-Inferred

Hsmtlib.Solver

Description

This module has most types,data and functions that a user might need to utilize the library.

Synopsis

Documentation

data Logic Source

Logics that can be passed to the start of the solver

Instances

data Solvers Source

Solvers that are currently supported.

Constructors

Z3 
Cvc4 
Yices 
Mathsat 
Altergo 
Boolector 

data GenResult Source

Response from most commands that do not demand a feedback from the solver, e.g: setLogic,push,pop...

Constructors

Success

The command was successfully sent to the solver.

Unsupported

The solver does not support the command.

Error String

Some error occurred in the solver. | Some error occurred parsing the response from the solver.

GUError String 

data SatResult Source

Response from the command checkSat.

Constructors

Sat

The solver has found a model.

Unsat

The solver has established there is no model.

Unknown

The search for a model was inconclusive. Some error occurred parsing the response from the solver.

SUError String 

Instances

data GValResult Source

Response from the command getValue

Constructors

Res String Value

Name of the variable or function and result.

VArrays Arrays

The result of arrays

Results [GValResult]

Multiple results from multiple requestes.

GVUError String

Some error occurred parsing the response from the solver.

Instances

type Arrays = Map String (Map String Integer)Source

When the value of an array or several values from diferent arrays are requested with getValue then the value returned is a Map where the value ís the name of the array, and the value is also a map. This inner map has as value the position of the array and returned value. Only integers are supported as values of arrays.

data Value Source

The type returned by getValue on constants or functions.

Instances

data Mode Source

Avaliable modes to use a solver.

Constructors

Online 
Script 
Batch 

data SolverConfig Source

Alternative configuration of a solver which can be passed in the function startSolver in Main

Constructors

Config 

Fields

path :: String
 
args :: [String]