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* …2122[SMT-LIB]: https://smt-lib.org23[`smtfmt`]: https://github.com/symflower/smtfmt24[`diff-sexp`]: https://github.com/yav/simple-smt/blob/1.0.1/exe/DiffSExp.hs25[Z3]: https://github.com/Z3Prover/z3