3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 16:45:31 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-03-30 13:51:45 -07:00
parent 04e51ffcb5
commit de2ad26826
2 changed files with 9 additions and 4 deletions

View file

@ -244,6 +244,8 @@ bool bound_manager::is_disjunctive_bound(expr * f, expr_dependency * d) {
}
void bound_manager::operator()(goal const & g) {
if (g.proofs_enabled())
return;
unsigned sz = g.size();
for (unsigned i = 0; i < sz; i++) {
operator()(g.form(i), g.dep(i));

View file

@ -84,7 +84,7 @@ class normalize_bounds_tactic : public tactic {
bool produce_proofs = in->proofs_enabled();
tactic_report report("normalize-bounds", *in);
m_bm(*in);
m_bm(*in);
if (!has_lowers()) {
result.push_back(in.get());
@ -119,11 +119,14 @@ class normalize_bounds_tactic : public tactic {
m_rw.set_substitution(&subst);
expr_ref new_curr(m);
proof_ref new_pr(m);
unsigned size = in->size();
for (unsigned idx = 0; !in->inconsistent() && idx < size; idx++) {
for (unsigned idx = 0; !in->inconsistent() && idx < in->size(); idx++) {
expr * curr = in->form(idx);
proof_ref new_pr(m);
m_rw(curr, new_curr, new_pr);
std::cout << new_curr << "\n";
std::cout << new_pr << "\n";
std::cout << expr_ref(in->pr(idx), m) << "\n";
if (produce_proofs) {
proof * pr = in->pr(idx);
new_pr = m.mk_modus_ponens(pr, new_pr);