Copyright | (c) 2013-2016 Galois Inc. |
---|---|
License | BSD3 |
Maintainer | cryptol@galois.com |
Stability | provisional |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- type EvalEnv = GenEvalEnv SBool SWord
- proverConfigs :: [(String, SMTConfig)]
- proverNames :: [String]
- lookupProver :: String -> SMTConfig
- type SatResult = [(Type, Expr, Value)]
- data SatNum
- data QueryType
- data ProverCommand = ProverCommand {
- pcQueryType :: QueryType
- pcProverName :: String
- pcVerbose :: Bool
- pcValidate :: Bool
- pcProverStats :: !(IORef ProverStats)
- pcExtraDecls :: [DeclGroup]
- pcSmtFile :: Maybe FilePath
- pcExpr :: Expr
- pcSchema :: Schema
- type ProverStats = NominalDiffTime
- data ProverResult
- satSMTResults :: SatResult -> [SMTResult]
- allSatSMTResults :: AllSatResult -> [SMTResult]
- thmSMTResults :: ThmResult -> [SMTResult]
- proverError :: String -> ModuleCmd (Maybe Solver, ProverResult)
- satProve :: ProverCommand -> ModuleCmd (Maybe Solver, ProverResult)
- satProveOffline :: ProverCommand -> ModuleCmd (Either String String)
- protectStack :: (String -> ModuleCmd a) -> ModuleCmd a -> ModuleCmd a
- parseValues :: [FinType] -> [CV] -> ([Value], [CV])
- parseValue :: FinType -> [CV] -> (Value, [CV])
- allDeclGroups :: ModuleEnv -> [DeclGroup]
- data FinType
- numType :: Integer -> Maybe Int
- finType :: TValue -> Maybe FinType
- unFinType :: FinType -> Type
- predArgTypes :: Schema -> Either String [FinType]
- inBoundsIntMod :: Integer -> SInteger -> SBool
- forallFinType :: FinType -> WriterT [SBool] Symbolic Value
- existsFinType :: FinType -> WriterT [SBool] Symbolic Value
Documentation
proverConfigs :: [(String, SMTConfig)] Source #
proverNames :: [String] Source #
lookupProver :: String -> SMTConfig Source #
data ProverCommand Source #
ProverCommand | |
|
type ProverStats = NominalDiffTime Source #
data ProverResult Source #
A prover result is either an error message, an empty result (eg for the offline prover), a counterexample or a lazy list of satisfying assignments.
satSMTResults :: SatResult -> [SMTResult] Source #
allSatSMTResults :: AllSatResult -> [SMTResult] Source #
thmSMTResults :: ThmResult -> [SMTResult] Source #
proverError :: String -> ModuleCmd (Maybe Solver, ProverResult) Source #
satProve :: ProverCommand -> ModuleCmd (Maybe Solver, ProverResult) Source #
allDeclGroups :: ModuleEnv -> [DeclGroup] Source #