summaryrefslogtreecommitdiff
path: root/src/smt/set_defaults.cpp
diff options
context:
space:
mode:
authorHaniel Barbosa <hanielbbarbosa@gmail.com>2021-07-29 14:22:10 -0300
committerGitHub <noreply@github.com>2021-07-29 17:22:10 +0000
commit63dfa2730bac42fed9dda6aa5fb3d57e6cadfcc0 (patch)
tree76cc41180fa96a857aaa6aebe9bf33f8922d6b95 /src/smt/set_defaults.cpp
parent040c3a7a345f6e76f410793da4c376d225b62162 (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.cpp12
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 =
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback