Scroll to navigation

BITWUZLA(1) User Commands BITWUZLA(1)

NAME

bitwuzla - SMT solver for bit vectors and arrays

DESCRIPTION

Usage:

bitwuzla [<options>] [<input>]

OPTIONS

<input>
[<stdin>] input file
print this message and exit
print version and exit
print copyright and exit
print formula in smt2 format
print unsat core in smt2 format
print model in smt2 format
do not letify expressions when printing
[false] only parse input without calling check-sat
[false] exit after preprocessing
[2] output number format for bit-vector values {2, 10, 16}
[0] time limit in milliseconds
[smt2] input language {smt2, btor2}
[0] log level
[false] model production
[false] unsat assumptions production
[false] unsat core production
[27644437] seed for the random number generator
[0] verbosity level
[0] time limit in milliseconds per satisfiability check
[0] set maximum memory limit in MB per satisfiability check
[1] set number of threads to utilize in parallel (currently, this only configures parallel threads in the CryptoMiniSat back end)
[bitblast] bv solver engine {preprop, prop, bitblast}
[2] rewrite level
[cadical] backend SAT solver {kissat, cms, cadical}
[] write bv abstraction as AIGER to filename
[] write bv abstraction as CNF to filename
[true] use constant bits propagation
[true] infer inequality bounds for invertibility conditions and inverse value computation
[0] number of propagation steps used as a limit for propagation-based local search engine
[0] number of model value updates used as a limit for propagation-based local search engine
[false] optimization for inverse value computation of inequalities over concat and sign extension operands
[essential] propagation path selection mode for propagation-based local search engine {random, essential}
[10] probability for selecting a random input instead of an essential input (interpreted as <n>/1000)
[990] probability for producing inverse rather than consistent values (interpreted as <n>/1000)
[true] use sign_extend nodes for concats that represent sign_extend nodes for propagation-based local search engine
[true] enable abstraction module
[33] enable abstraction for bit-vector terms of given minimum size
[false] add all violated abstraction lemmas at once
[8] value instantiation limit bv-size/<n> until adding original term as refinement
[false] only add value instantiations
[false] assertion abstraction
[100] number of assertion refinements per check
[false] use initial lemma refinements only
[false] incrementally bit-blast bvmul and bvadd
[false] term abstraction for bvadd
[true] term abstraction for bvmul
[true] term abstraction for bvudiv
[true] term abstraction for bvurem
[false] term abstraction for =
[false] term abstraction for ite
[true] enable preprocessing
[false] enable contradicting ands preprocessing pass
[false] eliminate extract on BV constants
[false] eliminate bvudiv and bvurem
[true] enable embedded constraint preprocessing pass
[true] enable AND flattening preprocessing pass
[true] enable normalization pass
[true] enable skeleton preprocessing pass
[true] enable variable substitution preprocessing pass
[true] enable equality normalization via Gaussian elimination if variable substitution preprocessing pass is enabled
[false] enable disequality normalization if variable substitution preprocessing pass is enabled
[false] enable bit-vector unsigned inequality normalization if variable substitution preprocessing pass is enabled
[0] warn threshold [#] for new nodes created through rewriting steps
[0] warn threshold [%] for new nodes created through preprocessing in total
[false] check model for each satisfiable query
[false] check unsat core for each unsatisfiable query

SEE ALSO

The full documentation for bitwuzla is maintained as a Texinfo manual. If the info and bitwuzla programs are properly installed at your site, the command

info bitwuzla

should give you access to the complete manual.

March 2026 bitwuzla 0.8.2