definition: |
checkSat :: SMT SMTResult checkSat = do errMsg <- getDelimited -- check for syntactic errors, type mismatches etc. case parseCmdRsps errMsg of Left msg -> return $ Error [ParserError msg] Right rs | not (null rs) -> return $ Error (map rsp2Msg rs) | otherwise -> do sendCmds [SMT.CheckSat] satMsg <- getDelimited -- check satisfiability case parseCmdRsps satMsg of Left msg -> return $ Error [ParserError msg] Right [SMT.CheckSatRsp SMT.Unknown] -> return $ Unknown Right [SMT.CheckSatRsp SMT.Unsat] -> return $ Unsat Right [SMT.CheckSatRsp SMT.Sat] -> return $ Sat Right rsps -> return $ Error $ map rsp2Msg rsps |
demand: |
no demanded arguments |
deterministic: |
deterministic operation |
documentation: |
--- Check for syntactic errors as well as for satisfiability of the assertions |
failfree: |
<FAILING> |
indeterministic: |
referentially transparent operation |
infix: |
no fixity defined |
iotype: |
{() |-> _} |
name: |
checkSat |
precedence: |
no precedence defined |
result-values: |
_ |
signature: |
SMT SMTResult |
solution-complete: |
operation might suspend on free variables |
terminating: |
possibly non-terminating |
totally-defined: |
possibly non-reducible on same data term |