mirror of
https://github.com/Z3Prover/z3
synced 2025-11-11 16:42:04 +00:00
add recursive function graphs to model, adapt rewriter to bypass branches whose evaluation is redundant
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
c67cf1653c
commit
b0dd3f3238
4 changed files with 63 additions and 0 deletions
|
|
@ -209,6 +209,7 @@ namespace smt {
|
|||
~scoped_mk_model() {
|
||||
if (m_ctx.m_proto_model.get() != 0) {
|
||||
m_ctx.m_model = m_ctx.m_proto_model->mk_model();
|
||||
m_ctx.add_rec_funs_to_model();
|
||||
m_ctx.m_proto_model = 0; // proto_model is not needed anymore.
|
||||
}
|
||||
}
|
||||
|
|
@ -1156,6 +1157,10 @@ namespace smt {
|
|||
|
||||
bool propagate();
|
||||
|
||||
void add_rec_funs_to_model();
|
||||
|
||||
bool is_fun_def(expr* f, expr* q, expr_ref& body);
|
||||
|
||||
public:
|
||||
bool can_propagate() const;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue