3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-08 12:11:23 +00:00
This commit is contained in:
Nikolaj Bjorner 2021-04-06 20:09:42 -07:00
parent 0b0efa83ca
commit 1b503b8887
3 changed files with 36 additions and 14 deletions

View file

@ -176,6 +176,8 @@ struct th_rewriter_cfg : public default_rewriter_cfg {
// theory dispatch for =
SASSERT(num == 2);
family_id s_fid = args[0]->get_sort()->get_family_id();
family_id op_fid = s_fid;
try_mk_eq:
if (s_fid == m_a_rw.get_fid())
st = m_a_rw.mk_eq_core(args[0], args[1], result);
else if (s_fid == m_bv_rw.get_fid())
@ -190,6 +192,13 @@ struct th_rewriter_cfg : public default_rewriter_cfg {
st = m_seq_rw.mk_eq_core(args[0], args[1], result);
if (st != BR_FAILED)
return st;
op_fid = s_fid;
if (is_app(args[0]))
op_fid = to_app(args[0])->get_family_id();
if (op_fid != s_fid) {
s_fid = op_fid;
goto try_mk_eq;
}
}
if (k == OP_EQ) {
SASSERT(num == 2);