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:
parent
361b55edfd
commit
96676efeb6
30 changed files with 18 additions and 1819 deletions
|
@ -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());
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue