diff options
Diffstat (limited to 'src/theory/theory_inference_manager.cpp')
-rw-r--r-- | src/theory/theory_inference_manager.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/theory/theory_inference_manager.cpp b/src/theory/theory_inference_manager.cpp index bfd23fb23..bad90f061 100644 --- a/src/theory/theory_inference_manager.cpp +++ b/src/theory/theory_inference_manager.cpp @@ -393,7 +393,7 @@ bool TheoryInferenceManager::processInternalFact(TNode atom, Assert(d_ee != nullptr); Trace("infer-manager") << "TheoryInferenceManager::assertInternalFact: " << (pol ? Node(atom) : atom.notNode()) << " from " - << expn << std::endl; + << expn << " / " << iid << " " << id << std::endl; if (Configuration::isAssertionBuild()) { // check that all facts hold in the equality engine, to ensure that we @@ -431,10 +431,10 @@ bool TheoryInferenceManager::processInternalFact(TNode atom, } d_numCurrentFacts++; // Now, assert the fact. How to do so depends on whether proofs are enabled. - // If no proof production, or no proof rule was given bool ret = false; - if (d_pfee == nullptr || id == PfRule::UNKNOWN) + if (d_pfee == nullptr) { + Trace("infer-manager") << "...assert without proofs..." << std::endl; if (atom.getKind() == kind::EQUAL) { ret = d_ee->assertEquality(atom, pol, expn); @@ -453,6 +453,8 @@ bool TheoryInferenceManager::processInternalFact(TNode atom, } else { + Assert(id != PfRule::UNKNOWN); + Trace("infer-manager") << "...assert with proofs..." << std::endl; // Note that we reconstruct the original literal lit here, since both the // original literal is needed for bookkeeping proofs. It is possible to // optimize this so that a few less nodes are created, but at the cost @@ -472,7 +474,8 @@ bool TheoryInferenceManager::processInternalFact(TNode atom, // call the notify fact method with isInternal = true d_theory.notifyFact(atom, pol, expn, true); Trace("infer-manager") - << "TheoryInferenceManager::finished assertInternalFact" << std::endl; + << "TheoryInferenceManager::finished assertInternalFact, ret=" << ret + << std::endl; return ret; } |