mirror of
https://github.com/Z3Prover/z3
synced 2025-08-11 13:40:52 +00:00
implementing model updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
92b5301b7f
commit
3de8c193ea
63 changed files with 482 additions and 294 deletions
|
@ -53,6 +53,8 @@ namespace datalog {
|
|||
return alloc(qa_model_converter, m);
|
||||
}
|
||||
|
||||
virtual void display(std::ostream& out) { display_add(out, m); }
|
||||
|
||||
void insert(func_decl* old_p, func_decl* new_p, expr_ref_vector& sub, sort_ref_vector& sorts, svector<bool> const& bound) {
|
||||
m_old_funcs.push_back(old_p);
|
||||
m_new_funcs.push_back(new_p);
|
||||
|
@ -81,7 +83,11 @@ namespace datalog {
|
|||
SASSERT(body);
|
||||
}
|
||||
else {
|
||||
body = m.mk_false();
|
||||
expr_ref_vector args(m);
|
||||
for (unsigned i = 0; i < p->get_arity(); ++i) {
|
||||
args.push_back(m.mk_var(i, p->get_domain(i)));
|
||||
}
|
||||
body = m.mk_app(p, args.size(), args.c_ptr());
|
||||
}
|
||||
// Create quantifier wrapper around body.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue