mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 09:35:32 +00:00
fix axioms for extract, add extensionality checking for shared variables, convert exceptions to unknown status per #419
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
88362a1c3a
commit
85d44c5d66
17 changed files with 110 additions and 13 deletions
|
@ -51,6 +51,7 @@ public:
|
|||
virtual void get_model(model_ref & m) = 0;
|
||||
virtual proof * get_proof() = 0;
|
||||
virtual std::string reason_unknown() const = 0;
|
||||
virtual void set_reason_unknown(char const* msg) = 0;
|
||||
virtual void get_labels(svector<symbol> & r) = 0;
|
||||
virtual ast_manager& get_manager() = 0;
|
||||
};
|
||||
|
@ -75,6 +76,7 @@ struct simple_check_sat_result : public check_sat_result {
|
|||
virtual proof * get_proof();
|
||||
virtual std::string reason_unknown() const;
|
||||
virtual void get_labels(svector<symbol> & r);
|
||||
virtual void set_reason_unknown(char const* msg) { m_unknown = msg; }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -297,6 +297,11 @@ public:
|
|||
return m_solver2->reason_unknown();
|
||||
}
|
||||
|
||||
virtual void set_reason_unknown(char const* msg) {
|
||||
m_solver1->set_reason_unknown(msg);
|
||||
m_solver2->set_reason_unknown(msg);
|
||||
}
|
||||
|
||||
virtual void get_labels(svector<symbol> & r) {
|
||||
if (m_use_solver1_results)
|
||||
return m_solver1->get_labels(r);
|
||||
|
|
|
@ -65,6 +65,7 @@ public:
|
|||
virtual void get_model(model_ref & m);
|
||||
virtual proof * get_proof();
|
||||
virtual std::string reason_unknown() const;
|
||||
virtual void set_reason_unknown(char const* msg);
|
||||
virtual void get_labels(svector<symbol> & r) {}
|
||||
|
||||
virtual void set_progress_callback(progress_callback * callback) {}
|
||||
|
@ -225,6 +226,12 @@ std::string tactic2solver::reason_unknown() const {
|
|||
return std::string("unknown");
|
||||
}
|
||||
|
||||
void tactic2solver::set_reason_unknown(char const* msg) {
|
||||
if (m_result.get()) {
|
||||
m_result->set_reason_unknown(msg);
|
||||
}
|
||||
}
|
||||
|
||||
unsigned tactic2solver::get_num_assertions() const {
|
||||
return m_assertions.size();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue