1# smt-tools23Various self-contained programs for working with [SMT-LIB] files.4Lousy research-grade code without documentation and lots of limitations and bugs.5Without modifications, they will likely not work for your use-case.67## The Tools89* `smt-analyze`: Analyzes the composition of `QF_BV` SMT-LIB files10* `smt-normalize`: Normalizes SMT-LIB expression (e.g. removing incremental solving)11* `smt-depth`: Calculates the maximum nesting depth as a complexity metric12* `smt-simplify`: Simplifies selected expressions (e.g. all `bvadd`) using [Z3]1314## See also1516Some other tools I found useful:1718* [`smtfmt`]: Formats SMT-LIB expressions for human readability19* [`diff-sexp`]: A tool for diffing SMT-LIB expressions20* [`ddSMT`]: A delta debugger for SMT-LIB, can minimize SMT-LIB expressions21* …2223[SMT-LIB]: https://smt-lib.org24[`smtfmt`]: https://github.com/symflower/smtfmt25[`diff-sexp`]: https://github.com/yav/simple-smt/blob/1.0.1/exe/DiffSExp.hs26[`ddSMT`]: https://github.com/ddsmt/ddSMT27[Z3]: https://github.com/Z3Prover/z3