summaryrefslogtreecommitdiff
path: root/src/theory/valuation.h
diff options
context:
space:
mode:
authorMathias Preiner <mathias.preiner@gmail.com>2021-05-13 17:29:52 -0700
committerGitHub <noreply@github.com>2021-05-14 00:29:52 +0000
commitb59deea057513448d98f54629c78a38a81f99b27 (patch)
tree4f4458795bc505173710786a932c3babf9a1b5d4 /src/theory/valuation.h
parentd7b74a33e3722dd123ecfb79603538cc5ac889a0 (diff)
bv: Assert input facts on user-level 0. (#6515)
The bitblast solver currently uses solving under assumptions for all facts that are sent to the bit-vector solver. For input facts on user-level 0 we can however assert the fact to the SAT solver, which allows the SAT solver to do more preprocessing. This PR adds the option to assert user-level 0 input facts, which is disabled by default.
Diffstat (limited to 'src/theory/valuation.h')
-rw-r--r--src/theory/valuation.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/theory/valuation.h b/src/theory/valuation.h
index a1a3db706..7438279b1 100644
--- a/src/theory/valuation.h
+++ b/src/theory/valuation.h
@@ -185,6 +185,22 @@ public:
bool isDecision(Node lit) const;
/**
+ * Return the current decision level of `lit`.
+ *
+ * @param lit: The node in question, must have an associated SAT literal.
+ * @return Decision level of the SAT variable of `lit` (phase is disregarded),
+ * or -1 if `lit` has not been assigned yet.
+ */
+ int32_t getDecisionLevel(Node lit) const;
+
+ /**
+ * Return the user-context level when `lit` was introduced..
+ *
+ * @return User-context level or -1 if not yet introduced.
+ */
+ int32_t getIntroLevel(Node lit) const;
+
+ /**
* Get the assertion level of the SAT solver.
*/
unsigned getAssertionLevel() const;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback