3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-19 10:52:02 +00:00

mising files

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-08-26 01:55:03 -07:00
parent 9b53646a34
commit e3e965883f
2 changed files with 6 additions and 24 deletions

View file

@ -84,7 +84,6 @@ asserted_formulas_new::~asserted_formulas_new() {
void asserted_formulas_new::push_assertion(expr * e, proof * pr, vector<justified_expr>& result) { void asserted_formulas_new::push_assertion(expr * e, proof * pr, vector<justified_expr>& result) {
if (inconsistent()) { if (inconsistent()) {
SASSERT(!result.empty());
return; return;
} }
expr* e1 = 0; expr* e1 = 0;
@ -106,15 +105,10 @@ void asserted_formulas_new::push_assertion(expr * e, proof * pr, vector<justifie
for (unsigned i = 0; i < to_app(e1)->get_num_args(); ++i) { for (unsigned i = 0; i < to_app(e1)->get_num_args(); ++i) {
expr* arg = to_app(e1)->get_arg(i), *e2; expr* arg = to_app(e1)->get_arg(i), *e2;
proof_ref _pr(m.mk_not_or_elim(pr, i), m); proof_ref _pr(m.mk_not_or_elim(pr, i), m);
if (m.is_not(arg, e2)) { expr_ref narg(mk_not(m, arg), m);
push_assertion(e2, _pr, result);
}
else {
expr_ref narg(m.mk_not(arg), m);
push_assertion(narg, _pr, result); push_assertion(narg, _pr, result);
} }
} }
}
else { else {
result.push_back(justified_expr(m, e, pr)); result.push_back(justified_expr(m, e, pr));
} }
@ -154,7 +148,6 @@ void asserted_formulas_new::assert_expr(expr * e, proof * _in_pr) {
} }
void asserted_formulas_new::assert_expr(expr * e) { void asserted_formulas_new::assert_expr(expr * e) {
if (!inconsistent())
assert_expr(e, m.mk_asserted(e)); assert_expr(e, m.mk_asserted(e));
} }
@ -220,7 +213,7 @@ void asserted_formulas_new::reduce() {
if (!m_params.m_preprocess) if (!m_params.m_preprocess)
return; return;
if (m_macro_manager.has_macros()) if (m_macro_manager.has_macros())
expand_macros(); invoke(m_find_macros);
TRACE("before_reduce", display(tout);); TRACE("before_reduce", display(tout););
CASSERT("well_sorted", check_well_sorted()); CASSERT("well_sorted", check_well_sorted());
@ -313,11 +306,6 @@ void asserted_formulas_new::swap_asserted_formulas(vector<justified_expr>& formu
m_formulas.append(formulas); m_formulas.append(formulas);
} }
void asserted_formulas_new::find_macros_fn::operator()() {
TRACE("before_find_macros", af.display(tout););
af.find_macros_core();
TRACE("after_find_macros", af.display(tout););
}
void asserted_formulas_new::find_macros_core() { void asserted_formulas_new::find_macros_core() {
vector<justified_expr> new_fmls; vector<justified_expr> new_fmls;
@ -327,12 +315,6 @@ void asserted_formulas_new::find_macros_core() {
reduce_and_solve(); reduce_and_solve();
} }
void asserted_formulas_new::expand_macros() {
IF_IVERBOSE(10, verbose_stream() << "(smt.expand-macros)\n";);
find_macros_core();
}
void asserted_formulas_new::apply_quasi_macros() { void asserted_formulas_new::apply_quasi_macros() {
TRACE("before_quasi_macros", display(tout);); TRACE("before_quasi_macros", display(tout););
vector<justified_expr> new_fmls; vector<justified_expr> new_fmls;

View file

@ -87,7 +87,7 @@ class asserted_formulas_new {
class find_macros_fn : public simplify_fmls { class find_macros_fn : public simplify_fmls {
public: public:
find_macros_fn(asserted_formulas_new& af): simplify_fmls(af, "find-macros") {} find_macros_fn(asserted_formulas_new& af): simplify_fmls(af, "find-macros") {}
virtual void operator()(); virtual void operator()() { af.find_macros_core(); }
virtual bool should_apply() const { return af.m_params.m_macro_finder && af.has_quantifiers(); } virtual bool should_apply() const { return af.m_params.m_macro_finder && af.has_quantifiers(); }
virtual void simplify(justified_expr const& j, expr_ref& n, proof_ref& p) { UNREACHABLE(); } virtual void simplify(justified_expr const& j, expr_ref& n, proof_ref& p) { UNREACHABLE(); }
}; };