diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-01-30 14:05:06 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-30 14:05:06 -0600 |
commit | 164e5274e3135b245b8ce5576841bb6c329eecfe (patch) | |
tree | 6a3c6f1072a1a7b61babda01d0f1e89ed039463b /src/theory/decision_strategy.cpp | |
parent | 04f95f314db1c9fd8ac1ef475cab90c1709e6e47 (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.cpp | 9 |
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( |