diff options
author | Andres Noetzli <andres.noetzli@gmail.com> | 2021-06-02 06:50:51 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-02 13:50:51 +0000 |
commit | c54fe84863ce4257bd466a95ec42d7a6100d3c19 (patch) | |
tree | 33ad856f7687f5faa234093350407e62a7e0e973 /src | |
parent | 66cdf5254bc58ecff335321478e73c8c0d6df296 (diff) |
Make `STRINGS_CTN_DECOMPOSE` an explicit conflict (#6663)
Fixes #6643. The STRINGS_CTN_DECOMPOSE inference is always a conflict
but we sometimes sent it as an inference. To make sure that the
inference manager actually recognizes the inference as a conflict, this
commit ensures that the conclusion is always false and modifies the
explanation accordingly.
Diffstat (limited to 'src')
-rw-r--r-- | src/theory/strings/extf_solver.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/theory/strings/extf_solver.cpp b/src/theory/strings/extf_solver.cpp index 8b5e35023..fc8fb15b0 100644 --- a/src/theory/strings/extf_solver.cpp +++ b/src/theory/strings/extf_solver.cpp @@ -547,7 +547,9 @@ void ExtfSolver::checkExtfInference(Node n, if (d_state.areEqual(conc, d_false)) { // we are in conflict - d_im.sendInference(in.d_exp, conc, InferenceId::STRINGS_CTN_DECOMPOSE); + d_im.addToExplanation(conc, d_false, in.d_exp); + d_im.sendInference( + in.d_exp, d_false, InferenceId::STRINGS_CTN_DECOMPOSE); Assert(d_state.isInConflict()); return; } |