yices-0.0.0.4: Haskell programming interface to Yices SMT solver

Portabilityportable
Stabilityprovisional
MaintainerAhn, Ki Yung <kya@pdx.edu>

Math.SMT.Yices.Pipe

Description

Inter-process communication to Yices through pipe.

Synopsis

Documentation

type YicesIPC = (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)Source

type abbrevation for IPC handle quadruple

data ResY Source

To read in the result of the (check) command

Constructors

Sat [ExpY] 
UnSat [Integer] 
InCon [String] 

Instances

createYicesPipe :: FilePath -> [String] -> IO YicesIPCSource

Start yices on a given path with given options. The first argumnet yPath is the path binary file of yices (e.g. homekyagrdyices-1.0.21bin/yices). By default -i and -e options are already present, and yOpts argument appens more options

runCmdsY' :: YicesIPC -> [CmdY] -> IO ()Source

send yices commands without flushing

runCmdsY :: YicesIPC -> [CmdY] -> IO ()Source

send yices commands and flush

checkY :: YicesIPC -> IO ResYSource

send check command and reads the result

exitY :: YicesIPC -> IO ()Source

send exit command and flush

flushY :: YicesIPC -> IO ()Source

flush the input pipe to yices (needed after actions like runCmdsY')