cvc5-cvc5-1.2.0.src.options.bv_options.toml Maven / Gradle / Ivy
The newest version!
id = "BV"
name = "Bitvector Theory"
[[option]]
name = "bvSatSolver"
category = "regular"
long = "bv-sat-solver=MODE"
type = "BvSatSolverMode"
default = "CADICAL"
predicates = ["checkBvSatSolver"]
help = "choose which sat solver to use, see --bv-sat-solver=help"
help_mode = "SAT solver for bit-blasting backend."
[[option.mode.MINISAT]]
name = "minisat"
[[option.mode.CRYPTOMINISAT]]
name = "cryptominisat"
[[option.mode.CADICAL]]
name = "cadical"
[[option.mode.KISSAT]]
name = "kissat"
[[option]]
name = "bitblastMode"
category = "regular"
long = "bitblast=MODE"
type = "BitblastMode"
default = "LAZY"
help = "choose bitblasting mode, see --bitblast=help"
help_mode = "Bit-blasting modes."
[[option.mode.LAZY]]
name = "lazy"
help = "Separate Boolean structure and term reasoning between the core SAT solver and the bit-vector SAT solver."
[[option.mode.EAGER]]
name = "eager"
help = "Bitblast eagerly to bit-vector SAT solver."
[[option]]
name = "bitvectorPropagate"
category = "expert"
long = "bv-propagate"
type = "bool"
default = "true"
help = "use bit-vector propagation in the bit-blaster"
[[option]]
name = "bitvectorToBool"
category = "regular"
long = "bv-to-bool"
type = "bool"
default = "false"
help = "lift bit-vectors of size 1 to booleans when possible"
[[option]]
name = "boolToBitvector"
category = "regular"
long = "bool-to-bv=MODE"
type = "BoolToBVMode"
default = "OFF"
help = "convert booleans to bit-vectors of size 1 at various levels of aggressiveness, see --bool-to-bv=help"
help_mode = "BoolToBV preprocessing pass modes."
[[option.mode.OFF]]
name = "off"
help = "Don't push any booleans to width one bit-vectors."
[[option.mode.ITE]]
name = "ite"
help = "Try to turn ITEs into BITVECTOR_ITE when possible. It can fail per-formula if not all sub-formulas can be turned to bit-vectors."
[[option.mode.ALL]]
name = "all"
help = "Force all booleans to be bit-vectors of width one except at the top level. Most aggressive mode."
[[option]]
name = "bitwiseEq"
category = "regular"
long = "bitwise-eq"
type = "bool"
default = "true"
help = "lift equivalence with one-bit bit-vectors to be boolean operations"
[[option]]
name = "bvIntroducePow2"
category = "expert"
long = "bv-intro-pow2"
type = "bool"
default = "false"
help = "introduce bitvector powers of two as a preprocessing pass"
[[option]]
name = "bvGaussElim"
category = "expert"
long = "bv-gauss-elim"
type = "bool"
default = "false"
help = "simplify formula via Gaussian Elimination if applicable"
[[option]]
name = "bvSolver"
category = "regular"
long = "bv-solver=MODE"
type = "BVSolver"
default = "BITBLAST"
help = "choose bit-vector solver, see --bv-solver=help"
help_mode = "Bit-vector solvers."
[[option.mode.BITBLAST]]
name = "bitblast"
help = "Enables bitblasting solver."
[[option.mode.BITBLAST_INTERNAL]]
name = "bitblast-internal"
help = "Enables bitblasting to internal SAT solver with proof support."
[[option]]
name = "bvAssertInput"
category = "expert"
long = "bv-assert-input"
type = "bool"
default = "false"
help = "assert input assertions on user-level 0 instead of assuming them in the bit-vector SAT solver"
[[option]]
name = "rwExtendEq"
category = "expert"
long = "bv-rw-extend-eq"
type = "bool"
default = "false"
help = "enable additional rewrites over zero/sign extend over equalities with constants (useful on BV/2017-Preiner-scholl-smt08)"
[[option]]
name = "bvEqEngine"
category = "expert"
long = "bv-eq-engine"
type = "bool"
default = "true"
help = "enable equality engine when possible in bitvector theory"
[[option]]
name = "bvEagerEval"
category = "regular"
long = "bv-eager-eval"
type = "bool"
default = "false"
help = "perform eager context-dependent evaluation for applications of bv kinds in the equality engine"