3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-03 22:06:11 +00:00

additional simplifications to seq

This commit is contained in:
Nikolaj Bjorner 2025-03-16 20:05:51 -07:00
parent c1719e9ffa
commit 99ec42c0d7
2 changed files with 72 additions and 7 deletions

View file

@ -322,9 +322,11 @@ class seq_rewriter {
bool reduce_non_overlap(expr_ref_vector& ls, expr_ref_vector& rs, expr_ref_pair_vector& eqs);
bool reduce_subsequence(expr_ref_vector& ls, expr_ref_vector& rs, expr_ref_pair_vector& eqs);
bool reduce_by_length(expr_ref_vector& ls, expr_ref_vector& rs, expr_ref_pair_vector& eqs);
bool reduce_extract(expr* l, expr* r, expr_ref_vector& res);
bool has_var(expr_ref_vector const& es);
bool reduce_itos(expr_ref_vector& ls, expr_ref_vector& rs, expr_ref_pair_vector& eqs);
bool reduce_eq_empty(expr* l, expr* r, expr_ref& result);
bool reduce_eq_empty(expr* l, expr* r, expr_ref& result);
bool reduce_arith_eq(expr* l, expr* r, expr_ref_vector& constraints);
std::pair<bool, unsigned> min_length(expr_ref_vector const& es);
std::pair<bool, unsigned> min_length(expr* e);
std::pair<bool, unsigned> min_length(unsigned sz, expr* const* es);