mirror of
https://github.com/Z3Prover/z3
synced 2025-05-07 15:55:46 +00:00
track assumptions when parsing into a solver. This enables solver.from_file/solver.from_string to support assumptions/cores #6587
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
3dc91de531
commit
9ce5fe707d
4 changed files with 17 additions and 13 deletions
|
@ -2201,21 +2201,18 @@ void cmd_context::display_statistics(bool show_total_time, double total_time) {
|
|||
}
|
||||
|
||||
|
||||
expr_ref_vector cmd_context::tracked_assertions() {
|
||||
expr_ref_vector result(m());
|
||||
vector<std::pair<expr*,expr*>> cmd_context::tracked_assertions() {
|
||||
vector<std::pair<expr*,expr*>> result;
|
||||
if (assertion_names().size() == assertions().size()) {
|
||||
for (unsigned i = 0; i < assertions().size(); ++i) {
|
||||
expr* an = assertion_names()[i];
|
||||
expr* asr = assertions()[i];
|
||||
if (an)
|
||||
result.push_back(m().mk_implies(an, asr));
|
||||
else
|
||||
result.push_back(asr);
|
||||
result.push_back({ asr, an });
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (expr * e : assertions())
|
||||
result.push_back(e);
|
||||
result.push_back({ e, nullptr});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -523,7 +523,7 @@ public:
|
|||
|
||||
ptr_vector<expr> const& assertions() const { return m_assertions; }
|
||||
ptr_vector<expr> const& assertion_names() const { return m_assertion_names; }
|
||||
expr_ref_vector tracked_assertions();
|
||||
vector<std::pair<expr*,expr*>> tracked_assertions();
|
||||
void reset_tracked_assertions();
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue