mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 13:28:47 +00:00
internalize unsupported operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
19db0c5f2c
commit
5253f3a12b
|
@ -87,9 +87,6 @@ namespace pdr {
|
|||
void set_subset_based_core(bool f) { m_subset_based_core = f; }
|
||||
void set_consequences(expr_ref_vector* consequences) { m_consequences = consequences; }
|
||||
|
||||
|
||||
void set_background_assumptions(expr_ref_vector const& assumptions);
|
||||
|
||||
bool assumes_level() const { return m_assumes_level; }
|
||||
|
||||
void add_level();
|
||||
|
|
|
@ -747,7 +747,16 @@ namespace smt {
|
|||
enode * e = mk_enode(n);
|
||||
return mk_var(e);
|
||||
}
|
||||
else {
|
||||
if (m_util.get_family_id() == n->get_family_id()) {
|
||||
found_unsupported_op(n);
|
||||
if (ctx.e_internalized(n))
|
||||
return expr2var(n);
|
||||
for (unsigned i = 0; i < n->get_num_args(); ++i) {
|
||||
ctx.internalize(n->get_arg(i), false);
|
||||
}
|
||||
return mk_var(mk_enode(n));
|
||||
}
|
||||
|
||||
TRACE("arith_internalize_detail", tout << "before:\n" << mk_pp(n, get_manager()) << "\n";);
|
||||
if (!ctx.e_internalized(n))
|
||||
ctx.internalize(n, false);
|
||||
|
@ -758,7 +767,6 @@ namespace smt {
|
|||
else
|
||||
return e->get_th_var(get_id());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
\brief Create a new empty row. Return the new row id.
|
||||
|
|
Loading…
Reference in a new issue