| Copyright | (c) Galois Inc 2015-2020 |
|---|---|
| License | BSD3 |
| Maintainer | Rob Dockins <rdockins@galois.com> |
| Stability | provisional |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
What4.Solver.Z3
Description
Z3-specific tweaks to the basic SMTLib2 solver interface.
Synopsis
- data Z3 = Z3
- z3Adapter :: SolverAdapter st
- z3Path :: ConfigOption (BaseStringType Unicode)
- z3Timeout :: ConfigOption BaseIntegerType
- z3Options :: [ConfigDesc]
- z3Tactic :: ConfigOption (BaseStringType Unicode)
- z3TacticDefault :: Text
- z3Features :: ProblemFeatures
- runZ3InOverride :: ExprBuilder t st fs -> LogData -> [BoolExpr t] -> (SatResult (GroundEvalFn t, Maybe (ExprRangeBindings t)) () -> IO a) -> IO a
- withZ3 :: ExprBuilder t st fs -> FilePath -> LogData -> (Session t Z3 -> IO a) -> IO a
- writeZ3SMT2File :: ExprBuilder t st fs -> Handle -> [BoolExpr t] -> IO ()
- runZ3Horn :: sym ~ ExprBuilder t st fs => sym -> LogData -> [SomeSymFn sym] -> [BoolExpr t] -> IO (SatResult (MapF (SymFnWrapper sym) (SymFnWrapper sym)) ())
- writeZ3HornSMT2File :: sym ~ ExprBuilder t st fs => sym -> Handle -> [SomeSymFn sym] -> [BoolExpr t] -> IO ()
Documentation
Constructors
| Z3 |
Instances
z3Adapter :: SolverAdapter st Source #
z3Path :: ConfigOption (BaseStringType Unicode) Source #
Path to Z3
z3Timeout :: ConfigOption BaseIntegerType Source #
Per-check timeout, in milliseconds (zero is none)
z3Options :: [ConfigDesc] Source #
z3Tactic :: ConfigOption (BaseStringType Unicode) Source #
Z3 tactic
runZ3InOverride :: ExprBuilder t st fs -> LogData -> [BoolExpr t] -> (SatResult (GroundEvalFn t, Maybe (ExprRangeBindings t)) () -> IO a) -> IO a Source #
Arguments
| :: ExprBuilder t st fs | |
| -> FilePath | Path to Z3 executable |
| -> LogData | |
| -> (Session t Z3 -> IO a) | Action to run |
| -> IO a |
Run Z3 in a session. Z3 will be configured to produce models, but otherwise left with the default configuration.
writeZ3SMT2File :: ExprBuilder t st fs -> Handle -> [BoolExpr t] -> IO () Source #
runZ3Horn :: sym ~ ExprBuilder t st fs => sym -> LogData -> [SomeSymFn sym] -> [BoolExpr t] -> IO (SatResult (MapF (SymFnWrapper sym) (SymFnWrapper sym)) ()) Source #
Check the satisfiability of a set of constrained Horn clauses (CHCs).
CHCs are represented as pure SMT-LIB2 implications. For more information, see the Z3 guide.
writeZ3HornSMT2File :: sym ~ ExprBuilder t st fs => sym -> Handle -> [SomeSymFn sym] -> [BoolExpr t] -> IO () Source #