summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/bv_inverter.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-06-15 13:28:45 -0500
committerGitHub <noreply@github.com>2018-06-15 13:28:45 -0500
commit06f9525d675048ba7d945c8d9acdf84896eb5fbb (patch)
tree1c324cf2a07cf573129c37aa7bc211d94afdc2a0 /src/theory/quantifiers/bv_inverter.h
parentea24eec6b7914550c84cb09c569b7fc80304d8e7 (diff)
Disable solving non-linear BV literals by default (#2070)
Diffstat (limited to 'src/theory/quantifiers/bv_inverter.h')
-rw-r--r--src/theory/quantifiers/bv_inverter.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/theory/quantifiers/bv_inverter.h b/src/theory/quantifiers/bv_inverter.h
index 59dc543ae..2d9e04281 100644
--- a/src/theory/quantifiers/bv_inverter.h
+++ b/src/theory/quantifiers/bv_inverter.h
@@ -59,9 +59,16 @@ class BvInverter
* pvs (if pvs is non-null). If return value R is non-null, then :
* lit.path = pv R.path = sv
* R.path' = pvs for all lit.path' = pv, where path' != path
+ *
+ * If the flag projectNl is false, we return the null node if the
+ * literal lit is non-linear with respect to pv.
*/
- Node getPathToPv(
- Node lit, Node pv, Node sv, Node pvs, std::vector<unsigned>& path);
+ Node getPathToPv(Node lit,
+ Node pv,
+ Node sv,
+ Node pvs,
+ std::vector<unsigned>& path,
+ bool projectNl);
/**
* Same as above, but does not linearize lit for pv.
@@ -69,7 +76,7 @@ class BvInverter
*/
Node getPathToPv(Node lit, Node pv, std::vector<unsigned>& path)
{
- return getPathToPv(lit, pv, pv, Node::null(), path);
+ return getPathToPv(lit, pv, pv, Node::null(), path, false);
}
/** solveBvLit
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback