}
+ConjectureGenerator::~ConjectureGenerator()
+{
+ for (std::map<Node, EqcInfo*>::iterator i = d_eqc_info.begin(),
+ iend = d_eqc_info.end();
+ i != iend;
+ ++i)
+ {
+ EqcInfo* current = (*i).second;
+ Assert(current != nullptr);
+ delete current;
+ }
+}
+
void ConjectureGenerator::eqNotifyNewClass( TNode t ){
Trace("thm-ee-debug") << "UEE : new equivalence class " << t << std::endl;
d_upendingAdds.push_back( t );
d_status_child_num++;
return getNextTerm( s, depth );
}else{
+ Trace("sg-gen-tg-debug2")
+ << "...remove child from context " << std::endl;
+ s->changeContext(false);
d_children.pop_back();
d_status_child_num--;
return getNextTerm( s, depth );
d_status_num = -1;
return getNextTerm( s, depth );
}else{
- //clean up
Assert( d_children.empty() );
- Trace("sg-gen-tg-debug2") << "...remove from context " << this << std::endl;
- s->changeContext( false );
- Assert( d_id==s->d_tg_id );
return false;
}
}
}else{
return true;
}
- }else{
- return false;
}
+ Trace("sg-gen-tg-debug2") << "...remove from context " << std::endl;
+ changeContext(false);
+ return false;
}
//reset matching
unsigned flushWaitingConjectures( unsigned& addedLemmas, int ldepth, int rdepth );
public:
ConjectureGenerator( QuantifiersEngine * qe, context::Context* c );
+ ~ConjectureGenerator();
/* needs check */
bool needsCheck(Theory::Effort e) override;