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:
parent
9007bdf780
commit
e8112a6564
4 changed files with 126 additions and 1 deletions
43
src/ast/simplifiers/model_reconstruction_trail.cpp
Normal file
43
src/ast/simplifiers/model_reconstruction_trail.cpp
Normal 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;
|
||||
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue