mythril.laser.smt.solver package
Submodules
mythril.laser.smt.solver.independence_solver module
- class mythril.laser.smt.solver.independence_solver.DependenceBucket(variables=None, conditions=None)[source]
Bases:
objectBucket object to contain a set of conditions that are dependent on each other
- class mythril.laser.smt.solver.independence_solver.DependenceMap[source]
Bases:
objectDependenceMap object that maintains a set of dependence buckets, used to separate independent smt queries
- class mythril.laser.smt.solver.independence_solver.IndependenceSolver[source]
Bases:
objectAn SMT solver object that uses independence optimization
- add(*constraints: Tuple[Bool]) None[source]
Adds the constraints to this solver.
- Parameters:
constraints – constraints to add
- append(*constraints: Tuple[Bool]) None[source]
Adds the constraints to this solver.
- Parameters:
constraints – constraints to add
- check(**kwargs)
mythril.laser.smt.solver.solver module
This module contains an abstract SMT representation of an SMT solver.
- class mythril.laser.smt.solver.solver.BaseSolver(raw: T)[source]
Bases:
Generic[T]- add(*constraints: List[Bool]) None[source]
Adds the constraints to this solver.
- Parameters:
constraints
- Returns:
- append(*constraints: List[Bool]) None[source]
Adds the constraints to this solver.
- Parameters:
constraints
- Returns:
- check(**kwargs)
- class mythril.laser.smt.solver.solver.Optimize[source]
Bases:
BaseSolver[Optimize]An optimizing smt solver.
- maximize(element: Expression[ExprRef]) None[source]
In solving this solver will try to maximize the passed expression.
- Parameters:
element
- minimize(element: Expression[ExprRef]) None[source]
In solving this solver will try to minimize the passed expression.
- Parameters:
element