SimpleSMT

Basic Solver Interface

data Solver

newSolver

command

stop

ackCommand

simpleCommand

simpleCommandMaybe

S-Expressions

data SExpr

showsSExpr

readSExpr

Logging and Debugging

data Logger

newLogger

withLogLevel

logMessageAt

logIndented

Common SmtLib-2 Commands

setLogic

setLogicMaybe

setOption

setOptionMaybe

push

pushMany

pop

popMany

declare

declareFun

define

defineFun

assert

check

data Result

getExprs

getExpr

getConsts

getConst

data Value

Convenienct Functoins for SmtLib-2 Epxressions

fam

fun

const

Types

tInt

tBool

tReal

tArray

tBits

Literals

int

real

bool

bvBin

bvHex

value

Connectives

not

and

or

xor

implies

If-then-else

ite

Relational Predicates

eq

gt

lt

geq

leq

bvULt

bvULeq

bvSLt

bvSLeq

Arithmetic

add

sub

neg

mul

abs

div

mod

divisible

realDiv

Bit Vectors

concat

extract

bvNot

bvNeg

bvAnd

bvXOr

bvOr

bvAdd

bvSub

bvMul

bvUDiv

bvURem

bvSDiv

bvSRem

bvShl

bvLShr

bvAShr

signExtend

zeroExtend

Arrays

select

store