3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-11 13:40:52 +00:00

fix #5065 - regression solving str.from_int equations now that it isn't injective any longer

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-03-02 12:59:39 -08:00
parent 4c9fed21e2
commit 0ce1c34d81
29 changed files with 218 additions and 178 deletions

View file

@ -33,6 +33,7 @@ z3_add_component(rewriter
recfun_rewriter.cpp
rewriter.cpp
seq_axioms.cpp
seq_eq_solver.cpp
seq_rewriter.cpp
seq_skolem.cpp
th_rewriter.cpp

View file

@ -48,11 +48,6 @@ namespace seq {
expr_ref mk_seq_eq(expr* a, expr* b);
expr_ref mk_eq_empty(expr* e);
expr_ref mk_ge(expr* x, int n) { return mk_ge_e(x, a.mk_int(n)); }
expr_ref mk_le(expr* x, int n) { return mk_le_e(x, a.mk_int(n)); }
expr_ref mk_ge(expr* x, rational const& n) { return mk_ge_e(x, a.mk_int(n)); }
expr_ref mk_le(expr* x, rational const& n) { return mk_le_e(x, a.mk_int(n)); }
expr_ref mk_ge_e(expr* x, expr* y);
expr_ref mk_le_e(expr* x, expr* y);
@ -111,6 +106,11 @@ namespace seq {
expr_ref length_limit(expr* s, unsigned k);
expr_ref is_digit(expr* ch);
expr_ref mk_ge(expr* x, int n) { return mk_ge_e(x, a.mk_int(n)); }
expr_ref mk_le(expr* x, int n) { return mk_le_e(x, a.mk_int(n)); }
expr_ref mk_ge(expr* x, rational const& n) { return mk_ge_e(x, a.mk_int(n)); }
expr_ref mk_le(expr* x, rational const& n) { return mk_le_e(x, a.mk_int(n)); }
};
};