Merging the google branch back into master.
authorTim King <taking@google.com>
Thu, 5 Nov 2015 22:56:49 +0000 (14:56 -0800)
committerTim King <taking@google.com>
Thu, 5 Nov 2015 22:56:49 +0000 (14:56 -0800)
1  2 
src/theory/quantifiers/quant_conflict_find.cpp
src/theory/quantifiers_engine.cpp

index ba3dc9fb0450f1b28cab93091b809b6dcaa37988,cfe53dd0f958413793f4bbc9ecabea3150c474fd..aab04c32c8fff4299345fac9d8b73e5258f0970d
@@@ -113,76 -115,6 +113,77 @@@ d_presolve_cache_wic(u)
      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);
@@@ -1447,4 -1462,4 +1448,3 @@@ int EqualityQueryQuantifiersEngine::get
    }
    //return ( d_rep_score.find( n )==d_rep_score.end() ? 100 : 0 ) + getDepth( n );    //term depth
  }
--