summaryrefslogtreecommitdiff
path: root/src/theory/strings/extf_solver.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-11-14 08:57:39 -0600
committerGitHub <noreply@github.com>2020-11-14 08:57:39 -0600
commita71274b992ea5ddfb930b754f1b705f417f7b4e5 (patch)
tree05c68fa9fe97dae7c09ba1790a8d5ab471ffd293 /src/theory/strings/extf_solver.cpp
parenta017fd12e30cea00a6f1cadd823fbe8c36ef4e0d (diff)
Fix double conflict in extended string solver (#5435)
Fixes #5384. Previously we were not breaking on conflict in all cases.
Diffstat (limited to 'src/theory/strings/extf_solver.cpp')
-rw-r--r--src/theory/strings/extf_solver.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/theory/strings/extf_solver.cpp b/src/theory/strings/extf_solver.cpp
index 531b281a7..7e416d132 100644
--- a/src/theory/strings/extf_solver.cpp
+++ b/src/theory/strings/extf_solver.cpp
@@ -392,11 +392,6 @@ void ExtfSolver::checkExtfEval(int effort)
Inference inf = effort == 0 ? Inference::EXTF : Inference::EXTF_N;
d_im.sendInference(einfo.d_exp, conc, inf, false, true);
d_statistics.d_cdSimplifications << n.getKind();
- if (d_state.isInConflict())
- {
- Trace("strings-extf-debug") << " conflict, return." << std::endl;
- return;
- }
}
}
else
@@ -474,6 +469,11 @@ void ExtfSolver::checkExtfEval(int effort)
has_nreduce = true;
}
}
+ if (d_state.isInConflict())
+ {
+ Trace("strings-extf-debug") << " conflict, return." << std::endl;
+ return;
+ }
}
d_hasExtf = has_nreduce;
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback