mirror of
https://github.com/Z3Prover/z3
synced 2025-05-11 09:44:43 +00:00
parent
f0451b68f3
commit
44104a5cce
5 changed files with 24 additions and 35 deletions
|
@ -389,6 +389,7 @@ namespace smt {
|
|||
quantifier_manager::quantifier_manager(context & ctx, smt_params & fp, params_ref const & p) {
|
||||
m_imp = alloc(imp, *this, ctx, fp, mk_default_plugin());
|
||||
m_imp->m_plugin->set_manager(*this);
|
||||
|
||||
}
|
||||
|
||||
quantifier_manager::~quantifier_manager() {
|
||||
|
@ -399,11 +400,6 @@ namespace smt {
|
|||
return m_imp->m_context;
|
||||
}
|
||||
|
||||
void quantifier_manager::set_plugin(quantifier_manager_plugin * plugin) {
|
||||
m_imp->m_plugin = plugin;
|
||||
plugin->set_manager(*this);
|
||||
}
|
||||
|
||||
void quantifier_manager::add(quantifier * q, unsigned generation) {
|
||||
m_imp->add(q, generation);
|
||||
}
|
||||
|
@ -564,7 +560,7 @@ namespace smt {
|
|||
}
|
||||
|
||||
void set_manager(quantifier_manager & qm) override {
|
||||
SASSERT(m_qm == 0);
|
||||
SASSERT(m_qm == nullptr);
|
||||
m_qm = &qm;
|
||||
m_context = &(qm.get_context());
|
||||
m_fparams = &(m_context->get_fparams());
|
||||
|
@ -596,6 +592,7 @@ namespace smt {
|
|||
mbqi.id to be instantiated with MBQI. The default value is the
|
||||
empty string, so all quantifiers are instantiated. */
|
||||
void add(quantifier * q) override {
|
||||
TRACE("model_finder", tout << "add " << q->get_id() << ": " << q << " " << m_fparams->m_mbqi << " " << mbqi_enabled(q) << "\n";);
|
||||
if (m_fparams->m_mbqi && mbqi_enabled(q)) {
|
||||
m_active = true;
|
||||
m_model_finder->register_quantifier(q);
|
||||
|
@ -607,25 +604,19 @@ namespace smt {
|
|||
void push() override {
|
||||
m_mam->push_scope();
|
||||
m_lazy_mam->push_scope();
|
||||
if (m_fparams->m_mbqi) {
|
||||
m_model_finder->push_scope();
|
||||
}
|
||||
m_model_finder->push_scope();
|
||||
}
|
||||
|
||||
void pop(unsigned num_scopes) override {
|
||||
m_mam->pop_scope(num_scopes);
|
||||
m_lazy_mam->pop_scope(num_scopes);
|
||||
if (m_fparams->m_mbqi) {
|
||||
m_model_finder->pop_scope(num_scopes);
|
||||
}
|
||||
m_model_finder->pop_scope(num_scopes);
|
||||
}
|
||||
|
||||
void init_search_eh() override {
|
||||
m_lazy_matching_idx = 0;
|
||||
if (m_fparams->m_mbqi) {
|
||||
m_model_finder->init_search_eh();
|
||||
m_model_checker->init_search_eh();
|
||||
}
|
||||
m_model_finder->init_search_eh();
|
||||
m_model_checker->init_search_eh();
|
||||
}
|
||||
|
||||
void assign_eh(quantifier * q) override {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue