diff options
author | Haniel Barbosa <hanielbbarbosa@gmail.com> | 2021-07-29 14:22:10 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-29 17:22:10 +0000 |
commit | 63dfa2730bac42fed9dda6aa5fb3d57e6cadfcc0 (patch) | |
tree | 76cc41180fa96a857aaa6aebe9bf33f8922d6b95 /src/smt/set_defaults.cpp | |
parent | 040c3a7a345f6e76f410793da4c376d225b62162 (diff) |
[proofs] Set BV solver to better proof-producing one when proofs on (#6903)
Since the internal bitblaster can be way slower, the regressions that would have slow runs when --check-proofs is passed now have the command line that forces the use of the default bitblaster.
Diffstat (limited to 'src/smt/set_defaults.cpp')
-rw-r--r-- | src/smt/set_defaults.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/smt/set_defaults.cpp b/src/smt/set_defaults.cpp index c7a2c8916..0a5c399ec 100644 --- a/src/smt/set_defaults.cpp +++ b/src/smt/set_defaults.cpp @@ -411,6 +411,18 @@ void setDefaults(LogicInfo& logic, bool isInternalSubsolver) opts.bv.bvAssertInput = false; } + // If proofs are required and the user did not specify a specific BV solver, + // we make sure to use the proof producing BITBLAST_INTERNAL solver. + if (options::produceProofs() + && options::bvSolver() != options::BVSolver::BITBLAST_INTERNAL + && !opts.bv.bvSolverWasSetByUser + && opts.bv.bvSatSolver == options::SatSolverMode::MINISAT) + { + Notice() << "Forcing internal bit-vector solver due to proof production." + << std::endl; + opts.bv.bvSolver = options::BVSolver::BITBLAST_INTERNAL; + } + // whether we want to force safe unsat cores, i.e., if we are in the default // ASSUMPTIONS mode, since other ones are experimental bool safeUnsatCores = |