Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module defines types and operations for parsing results from SMTLIB2.
It does not depend on the rest of What4 so that it can be used directly by clients interested in generating SMTLIB without depending on the What4 formula interface. All the type constructors are exposed so that clients can generate new values that are not exposed through this interface.
Synopsis
- data CheckSatResponse
- readCheckSatResponse :: Handle -> IO CheckSatResponse
- type GetModelResponse = [ModelResponse]
- readGetModelResponse :: Handle -> IO GetModelResponse
- data ModelResponse
- data DefineFun = DefineFun {}
- data Symbol
- data Sort
- pattern Bool :: Sort
- pattern Int :: Sort
- pattern Real :: Sort
- pattern RoundingMode :: Sort
- pattern Array :: Sort -> Sort -> Sort
- data Term
CheckSatResponse
data CheckSatResponse Source #
Result of check-sat and check-sat-assuming
readCheckSatResponse :: Handle -> IO CheckSatResponse Source #
Read the results of a (check-sat)
request.
GetModelResonse
type GetModelResponse = [ModelResponse] Source #
The parsed declarations and definitions returned by "(get-model)"
readGetModelResponse :: Handle -> IO GetModelResponse Source #
This reads the model response from a "(get-model)" request.
data ModelResponse Source #
A line in the model response
An SMT symbol
Sorts
An SMT sort.
pattern RoundingMode :: Sort Source #
Terms
This denotes an SMTLIB term over a fixed vocabulary.
SymbolTerm !Symbol | |
AsConst !Sort !Term | |
BVTerm !Integer !Integer | |
IntTerm !Integer |
|
RatTerm !Rational |
|
StoreTerm !Term !Term !Term |
|
IfEqTerm !Symbol !Term !Term !Term |
|