mirror of
https://github.com/Z3Prover/z3
synced 2025-06-26 15:53:41 +00:00
parent
04e51ffcb5
commit
de2ad26826
2 changed files with 9 additions and 4 deletions
|
@ -244,6 +244,8 @@ bool bound_manager::is_disjunctive_bound(expr * f, expr_dependency * d) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void bound_manager::operator()(goal const & g) {
|
void bound_manager::operator()(goal const & g) {
|
||||||
|
if (g.proofs_enabled())
|
||||||
|
return;
|
||||||
unsigned sz = g.size();
|
unsigned sz = g.size();
|
||||||
for (unsigned i = 0; i < sz; i++) {
|
for (unsigned i = 0; i < sz; i++) {
|
||||||
operator()(g.form(i), g.dep(i));
|
operator()(g.form(i), g.dep(i));
|
||||||
|
|
|
@ -119,11 +119,14 @@ class normalize_bounds_tactic : public tactic {
|
||||||
|
|
||||||
m_rw.set_substitution(&subst);
|
m_rw.set_substitution(&subst);
|
||||||
expr_ref new_curr(m);
|
expr_ref new_curr(m);
|
||||||
proof_ref new_pr(m);
|
|
||||||
unsigned size = in->size();
|
for (unsigned idx = 0; !in->inconsistent() && idx < in->size(); idx++) {
|
||||||
for (unsigned idx = 0; !in->inconsistent() && idx < size; idx++) {
|
|
||||||
expr * curr = in->form(idx);
|
expr * curr = in->form(idx);
|
||||||
|
proof_ref new_pr(m);
|
||||||
m_rw(curr, new_curr, new_pr);
|
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) {
|
if (produce_proofs) {
|
||||||
proof * pr = in->pr(idx);
|
proof * pr = in->pr(idx);
|
||||||
new_pr = m.mk_modus_ponens(pr, new_pr);
|
new_pr = m.mk_modus_ponens(pr, new_pr);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue