3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-27 19:05:51 +00:00

had to nuke mip_tactic, it was based on the smt_solver_exp (experimental), that depends on assertion_sets. This change will affect Z3's performance on QF_LIA and QF_LRA benchmarks. The new mcsat should fix that.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
Leonardo de Moura 2012-10-24 13:58:24 -07:00
parent 361b55edfd
commit 96676efeb6
30 changed files with 18 additions and 1819 deletions

View file

@ -17,7 +17,6 @@ Notes:
--*/
#include"aig.h"
#include"assertion_set.h" // TODO delete
#include"goal.h"
#include"ast_smt2_pp.h"
#include"cooperate.h"
@ -1006,39 +1005,6 @@ struct aig_manager::imp {
r = invert(r);
}
void operator()(aig_lit const & l, assertion_set & s) {
#if 1
s.reset();
sbuffer<aig_lit> roots;
roots.push_back(l);
while (!roots.empty()) {
aig_lit n = roots.back();
roots.pop_back();
if (n.is_inverted()) {
s.assert_expr(invert(process_root(n.ptr())));
continue;
}
aig * p = n.ptr();
if (m.is_ite(p)) {
s.assert_expr(process_root(p));
continue;
}
if (is_var(p)) {
s.assert_expr(m.var2expr(p));
continue;
}
roots.push_back(left(p));
roots.push_back(right(p));
}
#else
s.reset();
expr_ref r(ast_mng);
naive(l, r);
s.assert_expr(r);
#endif
}
void operator()(aig_lit const & l, expr_ref & r) {
naive(l, r);
}
@ -1574,11 +1540,6 @@ public:
return r;
}
void to_formula(aig_lit const & r, assertion_set & s) {
aig2expr proc(*this);
proc(r, s);
}
void to_formula(aig_lit const & r, goal & g) {
aig2expr proc(*this);
proc(r, g);
@ -1745,10 +1706,6 @@ aig_ref aig_manager::mk_aig(expr * n) {
return aig_ref(*this, m_imp->mk_aig(n));
}
aig_ref aig_manager::mk_aig(assertion_set const & s) {
return aig_ref(*this, m_imp->mk_aig(s));
}
aig_ref aig_manager::mk_aig(goal const & s) {
return aig_ref(*this, m_imp->mk_aig(s));
}
@ -1779,10 +1736,6 @@ void aig_manager::max_sharing(aig_ref & r) {
r = aig_ref(*this, m_imp->max_sharing(aig_lit(r)));
}
void aig_manager::to_formula(aig_ref const & r, assertion_set & s) {
return m_imp->to_formula(aig_lit(r), s);
}
void aig_manager::to_formula(aig_ref const & r, goal & g) {
SASSERT(!g.proofs_enabled());
SASSERT(!g.unsat_core_enabled());

View file

@ -22,7 +22,6 @@ Notes:
#include"ast.h"
#include"tactic_exception.h"
class assertion_set;
class goal;
class aig_lit;
class aig_manager;
@ -62,7 +61,6 @@ public:
~aig_manager();
void set_max_memory(unsigned long long max);
aig_ref mk_aig(expr * n);
aig_ref mk_aig(assertion_set const & s); // TODO delete
aig_ref mk_aig(goal const & g);
aig_ref mk_not(aig_ref const & r);
aig_ref mk_and(aig_ref const & r1, aig_ref const & r2);
@ -70,7 +68,6 @@ public:
aig_ref mk_iff(aig_ref const & r1, aig_ref const & r2);
aig_ref mk_ite(aig_ref const & r1, aig_ref const & r2, aig_ref const & r3);
void max_sharing(aig_ref & r);
void to_formula(aig_ref const & r, assertion_set & s); // TODO delete
void to_formula(aig_ref const & r, expr_ref & result);
void to_formula(aig_ref const & r, goal & result);
void to_cnf(aig_ref const & r, goal & result);