mirror of
https://github.com/Z3Prover/z3
synced 2025-07-18 02:16:40 +00:00
re-organize proof and model converters to be associated with goals instead of external
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
00f5308a0e
commit
4bbece6616
118 changed files with 617 additions and 1070 deletions
|
@ -271,20 +271,21 @@ namespace datalog {
|
|||
m_renaming.insert(orig_rule, unsigned_vector(sz, renaming));
|
||||
}
|
||||
|
||||
virtual void operator()(ast_manager& m, unsigned num_source, proof * const * source, proof_ref & result) {
|
||||
proof_ref operator()(ast_manager& m, unsigned num_source, proof * const * source) override {
|
||||
SASSERT(num_source == 1);
|
||||
result = source[0];
|
||||
proof_ref result(source[0], m);
|
||||
init_form2rule();
|
||||
translate_proof(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
virtual proof_converter * translate(ast_translation & translator) {
|
||||
proof_converter * translate(ast_translation & translator) override {
|
||||
UNREACHABLE();
|
||||
// this would require implementing translation for the dl_context.
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual void display(std::ostream& out) { out << "(slice-proof-converter)\n"; }
|
||||
void display(std::ostream& out) override { out << "(slice-proof-converter)\n"; }
|
||||
};
|
||||
|
||||
class mk_slice::slice_model_converter : public model_converter {
|
||||
|
@ -307,7 +308,7 @@ namespace datalog {
|
|||
m_sliceable.insert(f, bv);
|
||||
}
|
||||
|
||||
virtual void operator()(model_ref & md) {
|
||||
void operator()(model_ref & md) override {
|
||||
if (m_slice2old.empty()) {
|
||||
return;
|
||||
}
|
||||
|
@ -393,12 +394,12 @@ namespace datalog {
|
|||
TRACE("dl", model_smt2_pp(tout, m, *md, 0); );
|
||||
}
|
||||
|
||||
virtual model_converter * translate(ast_translation & translator) {
|
||||
model_converter * translate(ast_translation & translator) override {
|
||||
UNREACHABLE();
|
||||
return 0;
|
||||
}
|
||||
|
||||
virtual void display(std::ostream& out) { out << "(slice-model-converter)\n"; }
|
||||
void display(std::ostream& out) override { out << "(slice-model-converter)\n"; }
|
||||
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue