summaryrefslogtreecommitdiff
path: root/src/theory/bv/theory_bv.h
diff options
context:
space:
mode:
authorDejan Jovanović <dejan.jovanovic@gmail.com>2012-06-11 18:54:38 +0000
committerDejan Jovanović <dejan.jovanovic@gmail.com>2012-06-11 18:54:38 +0000
commitd54c761087af01874ea6674111888cb94ffa4ee6 (patch)
tree2f196940df9b488a1298ccfdee9bf1b54a70ccac /src/theory/bv/theory_bv.h
parente148b0a99917b21499b2f596aa22403559baf677 (diff)
fixing bitvector bugs
* clauses shouldn't be erased when they could be a reason for outside propagation * propagation of p and !p is ignored as this must lead to a conflict in the subtheory internally
Diffstat (limited to 'src/theory/bv/theory_bv.h')
-rw-r--r--src/theory/bv/theory_bv.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/theory/bv/theory_bv.h b/src/theory/bv/theory_bv.h
index f79b7ab71..a2cf39049 100644
--- a/src/theory/bv/theory_bv.h
+++ b/src/theory/bv/theory_bv.h
@@ -91,11 +91,6 @@ private:
/** Index of the next literal to propagate */
context::CDO<unsigned> d_literalsToPropagateIndex;
- enum SubTheory {
- SUB_EQUALITY = 1,
- SUB_BITBLAST = 2
- };
-
/**
* Keeps a map from nodes to the subtheory that propagated it so that we can explain it
* properly.
@@ -127,12 +122,16 @@ private:
return indentStr;
}
- void setConflict(Node conflict) {
+ void setConflict(Node conflict = Node::null()) {
d_conflict = true;
- d_conflictNode = conflict;
+ d_conflictNode = conflict;
}
- bool inConflict() { return d_conflict == true; }
+ bool inConflict() {
+ return d_conflict;
+ }
+
+ void sendConflict();
friend class Bitblaster;
friend class BitblastSolver;
@@ -142,6 +141,7 @@ private:
}/* CVC4::theory::bv namespace */
}/* CVC4::theory namespace */
+
}/* CVC4 namespace */
#endif /* __CVC4__THEORY__BV__THEORY_BV_H */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback