Esempio n. 1
0
 void flush_assertions() const {
     if (m_assertions.empty()) return;
     m_rewriter.updt_params(get_params());
     proof_ref proof(m);
     expr_ref fml1(m), fml(m);
     expr_ref_vector fmls(m);
     for (expr* a : m_assertions) {
         m_th_rewriter(a, fml1, proof);
         m_rewriter(false, fml1, fml, proof);
         m_solver->assert_expr(fml);
     }
     m_rewriter.flush_side_constraints(fmls);
     m_solver->assert_expr(fmls);
     m_assertions.reset();
 }
Esempio n. 2
0
 void updt_params(params_ref const & p) override { solver::updt_params(p); m_rewriter.updt_params(p); m_solver->updt_params(p);  }