mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 20:05:51 +00:00
seq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
5eb23e1e7a
commit
58411f64e8
5 changed files with 26 additions and 4 deletions
|
@ -469,6 +469,9 @@ bool theory_seq::simplify_and_solve_eqs() {
|
|||
return change;
|
||||
}
|
||||
|
||||
void theory_seq::internalize_eq_eh(app * atom, bool_var v) {
|
||||
}
|
||||
|
||||
bool theory_seq::internalize_atom(app* a, bool) {
|
||||
return internalize_term(a);
|
||||
}
|
||||
|
@ -598,7 +601,7 @@ void theory_seq::set_incomplete(app* term) {
|
|||
}
|
||||
|
||||
theory_var theory_seq::mk_var(enode* n) {
|
||||
if (!m_util.is_seq(n->get_owner()) ||
|
||||
if (!m_util.is_seq(n->get_owner()) &&
|
||||
!m_util.is_re(n->get_owner())) {
|
||||
return null_theory_var;
|
||||
}
|
||||
|
@ -608,6 +611,7 @@ theory_var theory_seq::mk_var(enode* n) {
|
|||
else {
|
||||
theory_var v = theory::mk_var(n);
|
||||
get_context().attach_th_var(n, this, v);
|
||||
get_context().mark_as_relevant(n);
|
||||
return v;
|
||||
}
|
||||
}
|
||||
|
@ -1005,6 +1009,10 @@ void theory_seq::assign_eq(bool_var v, bool is_true) {
|
|||
else if (m_util.str.is_in_re(e, e1, e2)) {
|
||||
// TBD
|
||||
}
|
||||
else if (m.is_eq(e, e1, e2)) {
|
||||
new_eq_eh(ctx.get_enode(e1)->get_th_var(get_id()),
|
||||
ctx.get_enode(e1)->get_th_var(get_id()));
|
||||
}
|
||||
else {
|
||||
UNREACHABLE();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue