mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 09:35:32 +00:00
Introduce and use labels_vec
This commit is contained in:
parent
3791810920
commit
8196173e29
6 changed files with 11 additions and 11 deletions
|
@ -33,7 +33,7 @@ public:
|
|||
this->m_c1->operator()(m, 0);
|
||||
}
|
||||
|
||||
virtual void operator()(svector<symbol> & r, unsigned goal_idx) {
|
||||
virtual void operator()(labels_vec & r, unsigned goal_idx) {
|
||||
this->m_c2->operator()(r, goal_idx);
|
||||
this->m_c1->operator()(r, 0);
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ public:
|
|||
UNREACHABLE();
|
||||
}
|
||||
|
||||
virtual void operator()(svector<symbol> & r, unsigned goal_idx) {
|
||||
virtual void operator()(labels_vec & r, unsigned goal_idx) {
|
||||
unsigned num = this->m_c2s.size();
|
||||
for (unsigned i = 0; i < num; i++) {
|
||||
if (goal_idx < this->m_szs[i]) {
|
||||
|
@ -142,7 +142,7 @@ public:
|
|||
m = m_model;
|
||||
}
|
||||
|
||||
virtual void operator()(svector<symbol> & r, unsigned goal_idx) {
|
||||
virtual void operator()(labels_vec & r, unsigned goal_idx) {
|
||||
r.append(m_labels.size(), m_labels.c_ptr());
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,8 @@ Notes:
|
|||
#include"converter.h"
|
||||
#include"ref.h"
|
||||
|
||||
class labels_vec : public svector<symbol> {};
|
||||
|
||||
class model_converter : public converter {
|
||||
public:
|
||||
virtual void operator()(model_ref & m) {} // TODO: delete
|
||||
|
@ -33,7 +35,7 @@ public:
|
|||
operator()(m);
|
||||
}
|
||||
|
||||
virtual void operator()(svector<symbol> & r, unsigned goal_idx) {}
|
||||
virtual void operator()(labels_vec & r, unsigned goal_idx) {}
|
||||
|
||||
virtual model_converter * translate(ast_translation & translator) = 0;
|
||||
};
|
||||
|
|
|
@ -174,7 +174,7 @@ void exec(tactic & t, goal_ref const & in, goal_ref_buffer & result, model_conve
|
|||
}
|
||||
}
|
||||
|
||||
lbool check_sat(tactic & t, goal_ref & g, model_ref & md, svector<symbol> & labels, proof_ref & pr, expr_dependency_ref & core, std::string & reason_unknown) {
|
||||
lbool check_sat(tactic & t, goal_ref & g, model_ref & md, labels_vec & labels, proof_ref & pr, expr_dependency_ref & core, std::string & reason_unknown) {
|
||||
bool models_enabled = g->models_enabled();
|
||||
bool proofs_enabled = g->proofs_enabled();
|
||||
bool cores_enabled = g->unsat_core_enabled();
|
||||
|
|
|
@ -153,7 +153,7 @@ public:
|
|||
#define MK_SIMPLE_TACTIC_FACTORY(NAME, ST) MK_TACTIC_FACTORY(NAME, return ST;)
|
||||
|
||||
void exec(tactic & t, goal_ref const & in, goal_ref_buffer & result, model_converter_ref & mc, proof_converter_ref & pc, expr_dependency_ref & core);
|
||||
lbool check_sat(tactic & t, goal_ref & g, model_ref & md, svector<symbol> & labels, proof_ref & pr, expr_dependency_ref & core, std::string & reason_unknown);
|
||||
lbool check_sat(tactic & t, goal_ref & g, model_ref & md, labels_vec & labels, proof_ref & pr, expr_dependency_ref & core, std::string & reason_unknown);
|
||||
|
||||
// Throws an exception if goal \c in requires proof generation.
|
||||
void fail_if_proof_generation(char const * tactic_name, goal_ref const & in);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue