summaryrefslogtreecommitdiff
path: root/src/theory/decision_strategy.cpp
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2020-01-30 14:05:06 -0600
committerGitHub <noreply@github.com>2020-01-30 14:05:06 -0600
commit164e5274e3135b245b8ce5576841bb6c329eecfe (patch)
tree6a3c6f1072a1a7b61babda01d0f1e89ed039463b /src/theory/decision_strategy.cpp
parent04f95f314db1c9fd8ac1ef475cab90c1709e6e47 (diff)
Ensure literals in FMF decision strategies are in the CNF stream (#3669)
Diffstat (limited to 'src/theory/decision_strategy.cpp')
-rw-r--r--src/theory/decision_strategy.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/theory/decision_strategy.cpp b/src/theory/decision_strategy.cpp
index b14936ee9..504cafc16 100644
--- a/src/theory/decision_strategy.cpp
+++ b/src/theory/decision_strategy.cpp
@@ -114,11 +114,16 @@ Node DecisionStrategyFmf::getLiteral(unsigned n)
if (!lit.isNull())
{
lit = Rewriter::rewrite(lit);
- lit = d_valuation.ensureLiteral(lit);
}
d_literals.push_back(lit);
}
- return d_literals[n];
+ Node ret = d_literals[n];
+ if (!ret.isNull())
+ {
+ // always ensure it is in the CNF stream
+ ret = d_valuation.ensureLiteral(ret);
+ }
+ return ret;
}
DecisionStrategySingleton::DecisionStrategySingleton(
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback