mirror of
https://github.com/Z3Prover/z3
synced 2025-07-20 11:22:04 +00:00
fix for #291. The root issue is that the set of antecedents is recycled as a fixed object between routines. Antecedents that were already allocated for a Gomory cut got reset by the internalizer. This causes unsound bounds axioms to be created
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
d6cb778365
commit
fc592fc856
14 changed files with 206 additions and 148 deletions
|
@ -399,6 +399,18 @@ namespace smt {
|
|||
out << "\n";
|
||||
}
|
||||
|
||||
template<typename Ext>
|
||||
std::ostream& theory_arith<Ext>::antecedents_t::display(theory_arith& th, std::ostream & out) const {
|
||||
th.get_context().display_literals_verbose(out, lits().size(), lits().c_ptr());
|
||||
if (!lits().empty()) out << "\n";
|
||||
ast_manager& m = th.get_manager();
|
||||
for (unsigned i = 0; i < m_eqs.size(); ++i) {
|
||||
out << mk_pp(m_eqs[i].first->get_owner(), m) << " ";
|
||||
out << mk_pp(m_eqs[i].second->get_owner(), m) << "\n";
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
template<typename Ext>
|
||||
void theory_arith<Ext>::display_deps(std::ostream & out, v_dependency* dep) {
|
||||
ptr_vector<void> bounds;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue