| Copyright | (c) 2013-2016 Galois Inc. |
|---|---|
| License | BSD3 |
| Maintainer | cryptol@galois.com |
| Stability | provisional |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Cryptol.Symbolic
Contents
Description
Synopsis
- data ProverCommand = ProverCommand {
- pcQueryType :: QueryType
- pcProverName :: String
- pcVerbose :: Bool
- pcValidate :: Bool
- pcProverStats :: !(IORef ProverStats)
- pcExtraDecls :: [DeclGroup]
- pcSmtFile :: Maybe FilePath
- pcExpr :: Expr
- pcSchema :: Schema
- pcIgnoreSafety :: Bool
- data QueryType
- data SatNum
- data ProverResult
- = AllSatResult [SatResult]
- | ThmResult [Type]
- | CounterExample CounterExampleType SatResult
- | EmptyResult
- | ProverError String
- type ProverStats = NominalDiffTime
- data CounterExampleType
- data FinType
- finType :: TValue -> Maybe FinType
- unFinType :: FinType -> Type
- predArgTypes :: QueryType -> Schema -> Either String [FinType]
Documentation
data ProverCommand Source #
Constructors
| ProverCommand | |
Fields
| |
Constructors
| SatQuery SatNum | |
| ProveQuery | |
| SafetyQuery |
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.
Constructors
| AllSatResult [SatResult] | |
| ThmResult [Type] | |
| CounterExample CounterExampleType SatResult | |
| EmptyResult | |
| ProverError String |
type ProverStats = NominalDiffTime Source #
data CounterExampleType Source #
A :prove command can fail either because some
input causes the predicate to violate a safety assertion,
or because the predicate returns false for some input.
Constructors
| SafetyViolation | |
| PredicateFalsified |