d_quant_rel = NULL;
}
+ d_qcf = NULL;
+ d_sg_gen = NULL;
+ d_inst_engine = NULL;
+ d_i_cbqi = NULL;
+ d_model_engine = NULL;
+ d_bint = NULL;
+ d_rr_engine = NULL;
+ d_ceg_inst = NULL;
+ d_lte_part_inst = NULL;
+ d_alpha_equiv = NULL;
+ d_fun_def_engine = NULL;
+ d_uee = NULL;
+ d_fs = NULL;
+ d_rel_dom = NULL;
+ d_builder = NULL;
+
+ d_total_inst_count_debug = 0;
+ d_ierCounter = 0;
+ d_ierCounter_lc = 0;
+ //if any strategy called only on last call, use phase 3
+ d_inst_when_phase = options::cbqi() ? 3 : 2;
+}
+
+QuantifiersEngine::~QuantifiersEngine(){
++ delete d_alpha_equiv;
+ delete d_builder;
+ delete d_rr_engine;
+ delete d_bint;
+ delete d_model_engine;
+ delete d_inst_engine;
+ delete d_qcf;
+ delete d_quant_rel;
+ delete d_rel_dom;
+ delete d_model;
+ delete d_tr_trie;
+ delete d_term_db;
+ delete d_eq_query;
+ delete d_sg_gen;
+ delete d_ceg_inst;
+ delete d_lte_part_inst;
+ delete d_fun_def_engine;
+ delete d_uee;
+ delete d_fs;
+ delete d_i_cbqi;
+}
+
+EqualityQueryQuantifiersEngine* QuantifiersEngine::getEqualityQuery() {
+ return d_eq_query;
+}
+
+context::Context* QuantifiersEngine::getSatContext(){
+ return d_te->theoryOf( THEORY_QUANTIFIERS )->getSatContext();
+}
+
+context::UserContext* QuantifiersEngine::getUserContext(){
+ return d_te->theoryOf( THEORY_QUANTIFIERS )->getUserContext();
+}
+
+OutputChannel& QuantifiersEngine::getOutputChannel(){
+ return d_te->theoryOf( THEORY_QUANTIFIERS )->getOutputChannel();
+}
+/** get default valuation for the quantifiers engine */
+Valuation& QuantifiersEngine::getValuation(){
+ return d_te->theoryOf( THEORY_QUANTIFIERS )->getValuation();
+}
+
+void QuantifiersEngine::finishInit(){
+ context::Context * c = getSatContext();
+ Trace("quant-engine-debug") << "QuantifiersEngine : finishInit " << std::endl;
+ bool needsBuilder = false;
+ bool needsRelDom = false;
//add quantifiers modules
if( options::quantConflictFind() || options::quantRewriteRules() ){
d_qcf = new quantifiers::QuantConflictFind( this, c);
}
//return ( d_rep_score.find( n )==d_rep_score.end() ? 100 : 0 ) + getDepth( n ); //term depth
}
--