3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-08 18:31:49 +00:00

Implement get_proof() in bmc and spacer engines

This commit is contained in:
Arie Gurfinkel 2019-08-12 11:03:50 -04:00 committed by Nikolaj Bjorner
parent 876cfb4dc9
commit 375c0ff9a9
4 changed files with 8 additions and 8 deletions

View file

@ -1537,10 +1537,14 @@ namespace datalog {
// m_solver->reset_statistics();
}
expr_ref bmc::get_answer() {
expr_ref bmc::get_answer() {
return m_answer;
}
proof_ref bmc::get_proof() {
return proof_ref(to_app(m_answer), m);
}
void bmc::get_rules_along_trace(datalog::rule_ref_vector& rules) {
rules.append(m_rule_trace);
}

View file

@ -63,7 +63,8 @@ namespace datalog {
void reset_statistics() override;
void get_rules_along_trace(datalog::rule_ref_vector& rules) override;
expr_ref get_answer() override;
expr_ref get_answer() override;
proof_ref get_proof() override;
// direct access to (new) non-linear compiler.
void compile(rule_set const& rules, expr_ref_vector& fmls, unsigned level);

View file

@ -2909,11 +2909,6 @@ model_ref context::get_model()
return model;
}
proof_ref context::get_proof() const
{
return proof_ref (m);
}
expr_ref context::get_answer()
{
switch(m_last_result) {

View file

@ -1109,7 +1109,7 @@ public:
expr_ref get_reachable (func_decl* p);
void add_invariant (func_decl *pred, expr* property);
model_ref get_model();
proof_ref get_proof() const;
proof_ref get_proof() const {return get_ground_refutation();}
expr_ref get_constraints (unsigned lvl);
void add_constraint (expr *c, unsigned lvl);