summaryrefslogtreecommitdiff
path: root/src/theory/bv/bv_solver_bitblast.h
diff options
context:
space:
mode:
authorMathias Preiner <mathias.preiner@gmail.com>2021-07-02 15:13:17 -0700
committerGitHub <noreply@github.com>2021-07-02 22:13:17 +0000
commitde0401e53e4baab30a5e78d5bd51048348b1e1ce (patch)
tree0f1697a82a4c839b5fd7a365ce3c5777c741c70f /src/theory/bv/bv_solver_bitblast.h
parentf83a753ad62a005085c47a7c0f4ba2e406d9acd7 (diff)
Fix bv assert input reset assertions (#6820)
If reset-assertions was called it will now reset the SAT solver and the CNF stream if clauses were permanently added to the SAT solver via option --bv-assert-input.
Diffstat (limited to 'src/theory/bv/bv_solver_bitblast.h')
-rw-r--r--src/theory/bv/bv_solver_bitblast.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/theory/bv/bv_solver_bitblast.h b/src/theory/bv/bv_solver_bitblast.h
index c5134c6fc..1fb721deb 100644
--- a/src/theory/bv/bv_solver_bitblast.h
+++ b/src/theory/bv/bv_solver_bitblast.h
@@ -33,6 +33,7 @@ namespace cvc5 {
namespace theory {
namespace bv {
+class NotifyResetAssertions;
class BBRegistrar;
/**
@@ -70,6 +71,9 @@ class BVSolverBitblast : public BVSolver
const std::set<Node>& termSet) override;
private:
+ /** Initialize SAT solver and CNF stream. */
+ void initSatSolver();
+
/**
* Get value of `node` from SAT solver.
*
@@ -153,6 +157,9 @@ class BVSolverBitblast : public BVSolver
/** Option to enable/disable bit-level propagation. */
bool d_propagate;
+
+ /** Notifies when reset-assertion was called. */
+ std::unique_ptr<NotifyResetAssertions> d_resetNotify;
};
} // namespace bv
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback