summaryrefslogtreecommitdiff
path: root/src/theory/bv/bv_solver_bitblast.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/bv/bv_solver_bitblast.h')
-rw-r--r--src/theory/bv/bv_solver_bitblast.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/theory/bv/bv_solver_bitblast.h b/src/theory/bv/bv_solver_bitblast.h
index d9b4a26e9..4eec45e4b 100644
--- a/src/theory/bv/bv_solver_bitblast.h
+++ b/src/theory/bv/bv_solver_bitblast.h
@@ -107,8 +107,15 @@ class BVSolverBitblast : public BVSolver
/** CNF stream. */
std::unique_ptr<prop::CnfStream> d_cnfStream;
- /** Facts sent to this solver. */
- context::CDList<Node> d_facts;
+ /**
+ * Bit-blast queue for facts sent to this solver.
+ *
+ * Get populated on preNotifyFact().
+ */
+ context::CDQueue<Node> d_bbFacts;
+
+ /** Corresponds to the SAT literals of the currently asserted facts. */
+ context::CDList<prop::SatLiteral> d_assumptions;
/** Flag indicating whether `d_modelCache` should be invalidated. */
context::CDO<bool> d_invalidateModelCache;
@@ -120,6 +127,17 @@ class BVSolverBitblast : public BVSolver
std::unique_ptr<EagerProofGenerator> d_epg;
BVProofRuleChecker d_bvProofChecker;
+
+ /** Stores the SatLiteral for a given fact. */
+ context::CDHashMap<Node, prop::SatLiteral, NodeHashFunction>
+ d_factLiteralCache;
+
+ /** Reverse map of `d_factLiteralCache`. */
+ context::CDHashMap<prop::SatLiteral, Node, prop::SatLiteralHashFunction>
+ d_literalFactCache;
+
+ /** Option to enable/disable bit-level propagation. */
+ bool d_propagate;
};
} // namespace bv
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback