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:
parent
9b53646a34
commit
e3e965883f
2 changed files with 6 additions and 24 deletions
|
@ -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;
|
||||||
|
|
|
@ -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(); }
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue