3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-18 02:16:40 +00:00

patch seq theory using purification to avoid unsoundness caused by interaction with canonization and rewriting

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-02-14 17:40:41 -08:00
parent 2db2767e7a
commit 70b4822571
6 changed files with 45 additions and 42 deletions

View file

@ -4514,6 +4514,14 @@ bool seq_rewriter::is_string(unsigned n, expr* const* es, zstring& s) const {
return true;
}
expr_ref seq_rewriter::mk_length(expr* s) {
expr_ref result(m());
if (BR_FAILED == mk_seq_length(s, result))
result = str().mk_length(s);
return result;
}
/**
* itos(n) = <numeric string> -> n = numeric
*/