mirror of
https://github.com/Z3Prover/z3
synced 2025-08-03 18:00:23 +00:00
bapa
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
a27f083177
commit
1123b47fb7
13 changed files with 613 additions and 4 deletions
|
@ -250,7 +250,7 @@ namespace smt {
|
|||
return theory_array::internalize_term(n);
|
||||
}
|
||||
|
||||
if (!is_const(n) && !is_default(n) && !is_map(n) && !is_as_array(n)) {
|
||||
if (!is_const(n) && !is_default(n) && !is_map(n) && !is_as_array(n) && !is_set_has_size(n)) {
|
||||
if (!is_array_ext(n))
|
||||
found_unsupported_op(n);
|
||||
return false;
|
||||
|
@ -274,6 +274,12 @@ namespace smt {
|
|||
mk_var(arg0);
|
||||
}
|
||||
}
|
||||
else if (is_set_has_size(n)) {
|
||||
if (!m_bapa) {
|
||||
m_bapa = alloc(theory_array_bapa, *this);
|
||||
}
|
||||
m_bapa->internalize_size(n);
|
||||
}
|
||||
|
||||
enode* node = ctx.get_enode(n);
|
||||
if (!is_attached_to_var(node)) {
|
||||
|
@ -748,6 +754,10 @@ namespace smt {
|
|||
assert_axiom(eq);
|
||||
r = FC_CONTINUE;
|
||||
}
|
||||
if (r == FC_DONE && m_bapa) {
|
||||
r = m_bapa->final_check();
|
||||
}
|
||||
|
||||
if (r == FC_DONE && m_found_unsupported_op)
|
||||
r = FC_GIVEUP;
|
||||
return r;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue