Expand description
Interface to interact with SMT solvers
The module mostly reuses the easy-smt crate to interact with the SMT solvers. Easy-smt starts SMT solvers by starting the SMT solver as a subprocess in interactive mode. This crate provides a higher-level interface to encode boolean expressions and utility functions to start and configure popular SMT solvers.
Modulesยง
- expression_
encoding - Encoding of expressions into
SMTExpr
Structsยง
- SMTSolver
Builder - Builder to create new
SMTSolverinstances - SMTSolver
Builder Cfg - Configuration for a
SMTSolverBuilder
Enumsยง
- GetVersion
Error ๐ - Error that can occur when constructing a new SMT solver builder
- SMTSolution
- Result of an SMT query
- SMTSolver
Builder Error - Error that can occur when creating a new
SMTSolverBuilder - SMTSolver
Option - Type for options that can be supplied to an SMT solver
Constantsยง
- CVC5_
ARGS - Option to set CVC5 in quiet mode, use SMT-LIB2 language and force logic to LIA
- CVC5_
PRG - cvc5 command
- Z3_ARGS
- Option to set Z3 in SMT-LIB2 language and interactive mode
- Z3_PRG
- Z3 command
Traitsยง
- ProvidesSMT
Solver Builder - Trait for structures provide
SMTSolverBuilders - ProvidesSMT
Solver Builder Cfg - Trait for types that can provide an
SMTSolverBuilderCfg - SMTSolver
Context - Trait indicating that the a type holds an
SMTSolver
Functionsยง
- default_
set_ ๐lia - Function to get the default value for the
set_liafield - get_
smt_ ๐solver_ version - Calls solver and attempts to parse the version of the SMT solver that is used
- parse_
smt_ ๐solver_ version - This function attempts to parse the version number from the output of the
--versioncommand.
Type Aliasesยง
- Compatibility
Check ๐ - Type for functions that check the compatibility of the SMT solver version
- SMTExpr
- SMT expression
- SMTSolver
- Interface to interact with SMT solver