summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorAndres Notzli <andres.noetzli@gmail.com>2016-12-14 21:20:17 -0800
committerAndres Notzli <andres.noetzli@gmail.com>2016-12-16 17:00:05 -0800
commit59c6247bc8b0c9518abbacffa9ba400d4e5a6689 (patch)
tree4ae17aa18bc3370925044ee935057e9b3e449852 /src/smt
parent67fd8cc104ec9861ca234bb3170c7f992eea3868 (diff)
Fix dependency tracing for fewerPreprocessingHoles
Previously, dependency tracing in `ite_removal.cpp` was only done with the `unsatCores` option but `fewerPreprocessingHoles` requires dependencies, too. This lead to errors during proof construction when `fewerPreprocessingHoles` was active. This commit fixes the condition and includes a test case that previously failed. Additionally, it fixes a similar issue in the theory engine. NOTE: this commit might not fix all instances of this problem. `smt_engine.cpp` turns certain flags off with `unsatCores`. Compatibility between those flags and `fewerPreprocessingHoles` needs to be checked separately.
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/ite_removal.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/smt/ite_removal.cpp b/src/smt/ite_removal.cpp
index fcd0c3254..d31d54121 100644
--- a/src/smt/ite_removal.cpp
+++ b/src/smt/ite_removal.cpp
@@ -17,6 +17,7 @@
#include <vector>
+#include "options/proof_options.h"
#include "proof/proof_manager.h"
#include "theory/ite_utilities.h"
@@ -55,7 +56,8 @@ void RemoveITE::run(std::vector<Node>& output, IteSkolemMap& iteSkolemMap, bool
// fixes the bug on clang on Mac OS
Node itesRemoved = run(output[i], output, iteSkolemMap, false);
// In some calling contexts, not necessary to report dependence information.
- if(reportDeps && options::unsatCores()) {
+ if (reportDeps &&
+ (options::unsatCores() || options::fewerPreprocessingHoles())) {
// new assertions have a dependence on the node
PROOF( ProofManager::currentPM()->addDependence(itesRemoved, output[i]); )
while(n < output.size()) {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback