3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-10 05:00:51 +00:00

add initial stubs for model reconstruction trail

This commit is contained in:
Nikolaj Bjorner 2022-11-03 21:35:07 -07:00
parent 9007bdf780
commit e8112a6564
4 changed files with 126 additions and 1 deletions

View file

@ -0,0 +1,43 @@
/*++
Copyright (c) 2022 Microsoft Corporation
Module Name:
model_reconstruction_trail.cpp
Author:
Nikolaj Bjorner (nbjorner) 2022-11-3.
--*/
#include "ast/simplifiers/model_reconstruction_trail.h"
#include "ast/converters/generic_model_converter.h"
void model_reconstruction_trail::replay(dependent_expr const& d, vector<dependent_expr>& added) {
// accumulate a set of dependent exprs, updating m_trail to exclude loose
// substitutions that use variables from the dependent expressions.
ast_mark free_vars;
auto [f, dep] = d;
for (expr* t : subterms::all(expr_ref(f, m)))
free_vars.mark(t);
NOT_IMPLEMENTED_YET();
}
/**
* retrieve the current model converter corresponding to chaining substitutions from the trail.
*/
model_converter_ref model_reconstruction_trail::get_model_converter() {
model_converter_ref mc = alloc(generic_model_converter, m, "dependent-expr-model");
// walk the trail from the back.
// add substitutions from the back to the generic model converter
// after they have been normalized using a global replace that replaces
// substituted variables by their terms.
NOT_IMPLEMENTED_YET();
return mc;
}