summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/decision/justification_heuristic.cpp11
-rw-r--r--test/regress/regress0/decision/Makefile.am4
2 files changed, 11 insertions, 4 deletions
diff --git a/src/decision/justification_heuristic.cpp b/src/decision/justification_heuristic.cpp
index 28d26adb1..6ed331b0a 100644
--- a/src/decision/justification_heuristic.cpp
+++ b/src/decision/justification_heuristic.cpp
@@ -75,7 +75,8 @@ CVC4::prop::SatLiteral JustificationHeuristic::getNext(bool &stopSearch) {
Debug("decision") << "---" << std::endl << d_assertions[i] << std::endl;
// Sanity check: if it was false, aren't we inconsistent?
- Assert( tryGetSatValue(d_assertions[i]) != SAT_VALUE_FALSE);
+ // Commenting out. See bug 374. In short, to do with how CNF stream works.
+ // Assert( tryGetSatValue(d_assertions[i]) != SAT_VALUE_FALSE);
SatValue desiredVal = SAT_VALUE_TRUE;
SatLiteral litDecision;
@@ -84,6 +85,7 @@ CVC4::prop::SatLiteral JustificationHeuristic::getNext(bool &stopSearch) {
if(litDecision != undefSatLiteral) {
d_prvsIndex = i;
+ Trace("decision") << "jh: spliting on " << litDecision << std::endl;
return litDecision;
}
}
@@ -279,8 +281,9 @@ bool JustificationHeuristic::findSplitterRec(TNode node,
Assert(desiredVal != SAT_VALUE_UNKNOWN, "expected known value");
/* Good luck, hope you can get what you want */
- Assert(litVal == desiredVal || litVal == SAT_VALUE_UNKNOWN,
- "invariant violated");
+ // See bug 374
+ // Assert(litVal == desiredVal || litVal == SAT_VALUE_UNKNOWN,
+ // "invariant violated");
/* What type of node is this */
Kind k = node.getKind();
@@ -296,12 +299,12 @@ bool JustificationHeuristic::findSplitterRec(TNode node,
* If not in theory of booleans, check if this is something to split-on.
*/
if(tId != theory::THEORY_BOOL) {
-
// if node has embedded ites, resolve that first
if(handleEmbeddedITEs(node))
return true;
if(litVal != SAT_VALUE_UNKNOWN) {
+ Assert(litVal == desiredVal);
setJustified(node);
return false;
}
diff --git a/test/regress/regress0/decision/Makefile.am b/test/regress/regress0/decision/Makefile.am
index 4bba7b049..42fedd480 100644
--- a/test/regress/regress0/decision/Makefile.am
+++ b/test/regress/regress0/decision/Makefile.am
@@ -27,6 +27,8 @@ TESTS = \
uflia-xs-09-16-3-4-1-5.delta03.smt \
aufbv-fuzz01.smt \
bug347.smt \
+ bug374a.smt \
+ bug374b.smt2 \
error20.smt \
error20.delta01.smt \
error122.smt \
@@ -54,6 +56,8 @@ EXTRA_DIST = $(TESTS) \
quant-Arrays_Q1-noinfer.smt2.expect \
wchains010ue.delta02.smt.expect \
bug347.smt.expect \
+ bug374a.smt.expect \
+ bug374b.smt2.expect \
quant-ex1.disable_miniscope.smt2.expect \
wchains010ue.smt.expect \
just_sat.expect \
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback