Example #1
0
 model_converter* local_model_converter() const {
     if (m_rewriter.enum2def().empty() && 
         m_rewriter.enum2bv().empty()) {
         return nullptr;
     }
     generic_model_converter* mc = alloc(generic_model_converter, m, "enum2bv");
     for (auto const& kv : m_rewriter.enum2bv()) 
         mc->hide(kv.m_value);
     for (auto const& kv : m_rewriter.enum2def()) 
         mc->add(kv.m_key, kv.m_value);            
     return mc;
 }
Example #2
0
 void extend_model(model_ref& mdl) {
     extension_model_converter ext(m);
     obj_map<func_decl, expr*>::iterator it = m_rewriter.enum2def().begin(), end = m_rewriter.enum2def().end();
     for (; it != end; ++it) {
         ext.insert(it->m_key, it->m_value);
         
     }
     ext(mdl, 0);
 }