3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-08 00:05:46 +00:00
Commit graph

37 commits

Author SHA1 Message Date
Nikolaj Bjorner
152c95f72a adding user-propagator ability
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-17 22:39:55 -07:00
Murphy Berzish
2fb914d2a2
z3str3: construct correct counterexamples for string-integer in model construction (#4562) 2020-07-27 14:15:41 -05:00
Nuno Lopes
23e6adcad3 fix a couple hundred deref-after-free bugs due to .c_str() on a temporary string 2020-07-11 20:24:45 +01:00
Murphy Berzish
fce1252145
Z3str3: Add consistency checks for string-integer conversion terms in model construction (#4551)
* z3str3: check consistency of str.to_int in fixed length solver

* z3str3: add similar check for int.to_str as well

* z3str3: refactor string-integer conversion check and add post checks for model construction
2020-06-30 11:20:44 -05:00
Federico Mora Rocha
8d16a9a034
z3str3: fix Issues 4349, 4354, and 4310 (#4529)
* regex needs lesson; m.mk_eq not ctx.mk_eq

* when unsat core is of size 0, then do naive learning

* remove two extra comments, and correct positive regex learning

* replace magic numbers for fixed-length lessons with constants
2020-06-24 15:46:32 -05:00
Murphy Berzish
b0633ecc86
Z3str3: safety checks for substr and propagate (#4528)
* z3str3: handle str.substr arguments missing arith values in model construction safely

* z3str3: reset propagation vectors on scope pop
2020-06-24 12:14:03 -05:00
Murphy Berzish
f395c8643c z3str3: construct proper cex for str.at model construction 2020-06-01 14:55:44 -04:00
Murphy Berzish
f3b2a082ae
z3str3: make counterexamples less naive, and check regex membership more efficiently (#4358)
* z3str3: make counterexamples less naive, and check regex membership more efficiently

* z3str3: construct even better counterexamples for regex membership
2020-05-28 09:57:08 -07:00
Nikolaj Bjorner
1072bf1536 deal with unsigned / bignum #4361
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-18 14:42:06 -07:00
Murphy Berzish
5e7806c4a4 z3str3: use rational in place of unsigned during model construction 2020-05-13 14:32:44 -04:00
Nikolaj Bjorner
becf423c77
remove level of indirection for context and ast_manager in smt_theory (#4253)
* remove level of indirection for context and ast_manager in smt_theory

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add request by #4252

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* move to def

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* int

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-08 16:46:03 -07:00
Murphy Berzish
1f15033ca2
z3str3: remove legacy code (#4215)
* z3str3: remove legacy fixed-length overlap testing

parameter smt.str.fixed_length_overlap_models has been deprecated

* z3str3: remove legacy length/value testing algorithm and binary search heuristic

the following parameters are deprecated:
smt.str.use_binary_search
smt.str.binary_search_start
smt.str.fixed_length_models (the fixed-length model construction is now always used)

* z3str3: remove legacy regex unroll methods

* z3str3: remove unused methods and member variables
2020-05-06 13:07:04 -07:00
Nikolaj Bjorner
21a31fcd26 add missing fixed propagations on negated integer inequalities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-11 02:28:38 -07:00
Nikolaj Bjorner
896a1b2048 fix #3679
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-02 15:04:56 -07:00
Nikolaj Bjorner
af51d98a32 avoid unintialized value build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-24 15:02:31 -07:00
Murphy Berzish
6ec9f9112c z3str3: fix value cex in int.to.str model construction 2020-03-02 18:16:36 -08:00
Murphy Berzish
069a5fba16 z3str3: improve implementation of int.to.str reduction 2020-03-02 18:16:36 -08:00
Murphy Berzish
8881084449 z3str3: reduce int-to-string in bitvector model construction 2020-03-02 18:16:36 -08:00
Murphy Berzish
01299dacbf z3str3: check relevancy of subformulas for negated non-relevant formulas in bitvector model construction 2020-02-27 20:27:33 -08:00
Murphy Berzish
f604fad779 z3str3: fix negated str.contains, add reduction for str.at 2020-02-20 11:46:29 -10:00
Murphy Berzish
698e2ffb0b z3str3: small refactoring to previous commit 2020-02-18 08:57:06 -10:00
Murphy Berzish
b4acd44d5e z3str3: fix crash in model construction when a variable has an impossible length assignment 2020-02-18 08:57:06 -10:00
Murphy Berzish
0146259ea4 z3str3: fix control flow and return paths in regex model construction 2020-02-12 12:03:34 -08:00
Murphy Berzish
8d3ed19981 z3str3: loop and trace cleanup 2020-02-11 12:37:42 -08:00
Nikolaj Bjorner
d770b5135d fix build warnings for theory_str_mc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-10 09:02:14 -08:00
Murphy Berzish
524434cfbb z3str3: pass correct subterm to negative regex model construction 2020-02-09 20:40:43 -08:00
Nikolaj Bjorner
d5dfe07203 warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-07 19:42:44 -08:00
Nikolaj Bjorner
88374a15d0 build errors/warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-07 10:09:10 -08:00
Murphy Berzish
4535228fe2 z3str3: mk_value searches equivalence class of terms for candidate model variables 2020-02-06 21:43:23 -08:00
Murphy Berzish
69cab61de3 z3str3: fix str.contains bitvector reduction 2020-02-06 21:43:23 -08:00
Murphy Berzish
883c5df109 z3str3: regex automata in bitvector model construction 2020-02-06 21:43:23 -08:00
Murphy Berzish
237adbf40c z3str3: ensure top-level free variables always participate in model construction 2020-02-06 21:43:23 -08:00
Murphy Berzish
812049ca4a z3str3: ignore non-relevant formulas in bitvector model construction 2020-02-06 21:43:23 -08:00
Murphy Berzish
cf3f271f5b z3str3: add smt.str.fixed_length_naive_cex option for naive length-based counterexamples 2020-02-06 21:43:23 -08:00
Murphy Berzish
c1e7d7788e z3str3: refactor bv-mc to separate file 2020-02-06 21:43:23 -08:00
Murphy Berzish
5a9a173c5f z3str3: move bitvector model construction to theory_str_mc 2020-02-06 21:43:23 -08:00
Murphy Berzish
509cad9c9a z3str3: refactoring, move legacy model construction code into theory_str_mc 2020-01-14 16:13:25 -08:00