diff options
author | guykatzz <katz911@gmail.com> | 2016-10-05 23:39:48 -0700 |
---|---|---|
committer | guykatzz <katz911@gmail.com> | 2016-10-05 23:39:48 -0700 |
commit | edce1662b001dd6f229a25685fb4de6789ff008d (patch) | |
tree | 29e1c0dfcaf1994182a8b7f086f23fe83cc1274f /src | |
parent | d19a95344fde1ea1ff7d784b2c4fc6d09f459899 (diff) |
Added an option that allow empty dependencies when attempting to minimize preprocessing holes
Diffstat (limited to 'src')
-rw-r--r-- | src/options/proof_options | 5 | ||||
-rw-r--r-- | src/proof/proof_manager.cpp | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/options/proof_options b/src/options/proof_options index 322ef5a9c..789513334 100644 --- a/src/options/proof_options +++ b/src/options/proof_options @@ -12,6 +12,9 @@ option aggressiveCoreMin --aggressive-core-min bool :default false turns on aggressive unsat core minimization (experimental) option fewerPreprocessingHoles --fewer-preprocessing-holes bool :default false :read-write - try to eliminate preprocessing holes in proofs + try to eliminate preprocessing holes in proofs + +option allowEmptyDependencies --allow-empty-dependencies bool :default false + if unable to track the dependencies of a rewritten/preprocessed assertion, fail silently endmodule diff --git a/src/proof/proof_manager.cpp b/src/proof/proof_manager.cpp index 1c9bb0ff0..5ce615366 100644 --- a/src/proof/proof_manager.cpp +++ b/src/proof/proof_manager.cpp @@ -272,6 +272,10 @@ void ProofManager::traceDeps(TNode n, ExprSet* coreAssertions) { } else { Debug("cores") << " -- NOT IN INPUT CORE LIST!" << std::endl; if(d_deps.find(n) == d_deps.end()) { + if (options::allowEmptyDependencies()) { + Debug("cores") << " -- Could not track cause assertion. Failing silently." << std::endl; + return; + } InternalError("Cannot trace dependence information back to input assertion:\n`%s'", n.toString().c_str()); } Assert(d_deps.find(n) != d_deps.end()); |