d_wasSharedTermFact = false;
d_factsHead = d_factsHead + 1;
Debug("theory") << "Theory::get() => " << fact
- << " (" << d_facts.size() << " left)" << std::endl;
+ << " (" << d_facts.size() - d_factsHead << " left)" << std::endl;
d_out->newFact(fact);
return fact;
}
* @param node the assertion
*/
inline void assertFact(TNode node) {
- Debug("theory") << "TheoryEngine::assertFact(" << node << ")" << std::endl<<d_logic<<std::endl;
+ Debug("theory") << "TheoryEngine::assertFact(" << node << ")" << std::endl;
// Mark it as asserted in this context
//
// Again, equality is a special case
if (atom.getKind() == kind::EQUAL) {
if(d_logic == "QF_AX") {
- //Debug("theory")<< "TheoryEngine::assertFact QF_AX logic; everything goes to Arrays \n";
+ Debug("theory") << "TheoryEngine::assertFact QF_AX logic; everything goes to Arrays" << std::endl;
d_theoryTable[theory::THEORY_ARRAY]->assertFact(node);
} else {
theory::Theory* theory = theoryOf(atom);
TNode atom = node.getKind() == kind::NOT ? node[0] : node;
if (atom.getKind() == kind::EQUAL) {
if(d_logic == "QF_AX") {
- //Debug("theory")<< "TheoryEngine::assertFact QF_AX logic; everything goes to Arrays \n";
+ Debug("theory") << "TheoryEngine::assertFact QF_AX logic; everything goes to Arrays" << std::endl;
d_theoryTable[theory::THEORY_ARRAY]->explain(node);
} else {
theoryOf(atom[0])->explain(node);