mirror of
https://github.com/Z3Prover/z3
synced 2025-04-06 09:34:08 +00:00
Bugfixes in UFBV-related tactics.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
This commit is contained in:
parent
6c2ef9e70c
commit
bf27090641
|
@ -80,12 +80,9 @@ class macro_finder_tactic : public tactic {
|
|||
|
||||
mf(forms.size(), forms.c_ptr(), proofs.c_ptr(), new_forms, new_proofs);
|
||||
|
||||
unsigned i = 0;
|
||||
for (; i < g->size(); i++)
|
||||
g->update(i, new_forms.get(i), produce_proofs ? new_proofs.get(i) : 0, 0);
|
||||
|
||||
for (; i < new_forms.size(); i++)
|
||||
g->assert_expr(new_forms.get(i), new_proofs.get(i), 0);
|
||||
g->reset();
|
||||
for (unsigned i = 0; i < new_forms.size(); i++)
|
||||
g->assert_expr(new_forms.get(i), produce_proofs ? new_proofs.get(i) : 0, 0);
|
||||
|
||||
extension_model_converter * evmc = alloc(extension_model_converter, mm.get_manager());
|
||||
unsigned num = mm.get_num_macros();
|
||||
|
|
|
@ -91,12 +91,9 @@ class quasi_macros_tactic : public tactic {
|
|||
proofs.swap(new_proofs);
|
||||
}
|
||||
|
||||
unsigned i = 0;
|
||||
for (; i < g->size(); i++)
|
||||
g->update(i, new_forms.get(i), produce_proofs ? new_proofs.get(i) : 0, 0);
|
||||
|
||||
for (; i < new_forms.size(); i++)
|
||||
g->assert_expr(new_forms.get(i), new_proofs.get(i), 0);
|
||||
g->reset();
|
||||
for (unsigned i = 0; i < new_forms.size(); i++)
|
||||
g->assert_expr(new_forms.get(i), produce_proofs ? new_proofs.get(i) : 0, 0);
|
||||
|
||||
extension_model_converter * evmc = alloc(extension_model_converter, mm.get_manager());
|
||||
unsigned num = mm.get_num_macros();
|
||||
|
|
|
@ -66,12 +66,9 @@ class ufbv_rewriter_tactic : public tactic {
|
|||
|
||||
dem(forms.size(), forms.c_ptr(), proofs.c_ptr(), new_forms, new_proofs);
|
||||
|
||||
unsigned i = 0;
|
||||
for (; i < g->size(); i++)
|
||||
g->update(i, new_forms.get(i), produce_proofs ? new_proofs.get(i) : 0, g->dep(i));
|
||||
|
||||
for (; i < new_forms.size(); i++)
|
||||
g->assert_expr(new_forms.get(i), new_proofs.get(i), 0);
|
||||
g->reset();
|
||||
for (unsigned i = 0; i < new_forms.size(); i++)
|
||||
g->assert_expr(new_forms.get(i), produce_proofs ? new_proofs.get(i) : 0, 0);
|
||||
|
||||
mc = 0; // CMW: Remark: The demodulator could potentially remove all references to a variable.
|
||||
|
||||
|
|
Loading…
Reference in a new issue