Solvers
This section documents the solver frameworks, constraint solving backends, and SMT-based model checking components used throughout Lotus.
The available backends include BDD (CUDD), SMT (Z3-based), weighted pushdown systems (WPDS), string constraint solving (Stingx), fixed-point equation solving (FPsolve), and experimental solver tooling (SLOT, STAUB, SymAbs, SMTSampler).
- CUDD (Binary Decision Diagrams)
- SMT (Satisfiability Modulo Theories)
- WPDS (Weighted Pushdown Systems)
- SMT Samplers
- SMT Formula Abstraction (SymAbs)
- SMT-LIB to LLVM Translation (SLOT)
- SMT Theory Arbitrage (STAUB)
- Stingx — String Constraint Solver
- E-Graph Quantifier Simplification (EGraphsSimp)
- FPsolve — Fixed-Point Equation Solver
Third-Party Libraries
Additional vendored libraries in third-party/ that are not currently
integrated:
MDE (
third-party/mde/) — Multilevel Deduplication Engine for caching set operations in dataflow analyses. Currently not compiled or linked (commented out inthird-party/CMakeLists.txt).