Nikolaj Bjorner
42e601483d
add selected updates #4981
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-01-28 13:43:30 -08:00
Murphy Berzish
6aba325cea
z3str3: reject certain unhandled expressions ( #4818 )
2020-11-25 12:15:35 -08:00
Nikolaj Bjorner
b80ba24ba6
deal with regression break
2020-10-12 12:26:50 -07:00
Murphy Berzish
f4ec63f39c
z3str3: add auxiliary str.substr axioms ( #4617 )
2020-08-06 14:00:50 -05:00
Nikolaj Bjorner
71a32f5bb2
remove unused
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-22 11:38:27 -07: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
Nikolaj Bjorner
48a9defb0d
fix #1484 'regression'
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-09 15:09:25 -07:00
Nikolaj Bjorner
6b380811b8
fix #4524
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-09 15:05:55 -07: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
Nikolaj Bjorner
ea1f50b77e
simplify extended contains patterns
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 19:11:29 -07:00
Murphy Berzish
e9eec5349d
z3str3: improve vector handling in simplify_parent ( #4413 )
2020-05-28 09:59:42 -07:00
Murphy Berzish
882777fc1d
z3str3: track the scope of library-aware terms for axiom setup ( #4420 )
2020-05-28 09:59:28 -07:00
Murphy Berzish
71ea7287bb
z3str3: detect and give up when symbolic automaton construction fails ( #4384 )
...
typically this will happen due to non-constant terms in a RegLan expression
2020-05-28 09:57:33 -07:00
Murphy Berzish
ccebd4db59
z3str3: allow leading zeroes in str.to_int ( #4381 )
2020-05-28 09:57:22 -07: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
Nuno Lopes
d8cea7c8d5
fix a few warnings & simplify debug.h header
2020-05-26 13:49:13 +01:00
Murphy Berzish
fcbcad6c10
Merge pull request #4320 from mtrberzi/mc-rational
...
z3str3: use rational in place of unsigned during model construction
2020-05-15 20:42:19 -05:00
Murphy Berzish
ba40b36176
Merge pull request #4319 from mtrberzi/disable-get-grounded-concats
...
Z3str3: disable compute_contains() and get_grounded_concats() checks
2020-05-15 20:42:07 -05:00
Murphy Berzish
5e7806c4a4
z3str3: use rational in place of unsigned during model construction
2020-05-13 14:32:44 -04:00
Murphy Berzish
3c606ea9b2
z3str3: disable compute_contains() and get_grounded_concats() checks
2020-05-13 11:53:26 -04:00
Murphy Berzish
51beeec92f
z3str3: heuristics for predicates over int-to-string terms
2020-05-12 21:35:24 -04:00
Murphy Berzish
22d0dd863b
z3str3: properly handle the case when an int.to.str term isn't fully assigned by string/arith theories
2020-05-12 19:36:04 -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
Murphy Berzish
b0ffad95b0
Merge pull request #4092 from mtrberzi/regex-compl-inter
...
z3str3: fix support for re.complement and re.intersection
2020-04-29 10:13:20 -05:00
Murphy Berzish
1a5d663138
z3str3: disallow leading zeroes in int-to-string conversion
2020-04-25 13:25:30 -05:00
Murphy Berzish
d21911c073
z3str3: fix support for re.complement and re.intersection
2020-04-24 17:49:26 -05:00
Murphy Berzish
c1a0ce0862
Z3str3: reset internal data structures in init_search_eh() ( #3818 )
...
* z3str3: fixes to solver state between check-sat calls, wip
* z3str3: reset many internal data structures during init_search_eh() to clean up state
2020-04-11 12:36:30 -07:00
Nikolaj Bjorner
077f2248ca
fix #3756
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 11:32:53 -07:00
Murphy Berzish
f18bd7bf08
z3str3: refactoring to str.indexof axioms
2020-02-27 20:27:33 -08:00
Murphy Berzish
da8182419b
z3str3: fix indexof out-of-bounds axiom terms
2020-02-18 08:57:06 -10:00
Nikolaj Bjorner
8c016abb12
build issues
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-07 11:16:57 -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
237adbf40c
z3str3: ensure top-level free variables always participate in model construction
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
faf3934749
z3str3: add bitvector model construction algorithm
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
Murphy Berzish
e5ca451a02
z3str3: remove unused str_eq_todo worklist
2019-12-05 01:51:16 +03:00
Murphy Berzish
32e5c6ffd1
z3str3: missed instance of rewrite-then-assert
2019-12-05 01:51:16 +03:00
Murphy Berzish
89c9bb2e0e
z3str3: don't call propagate() in init_search_eh()
2019-12-02 15:20:04 -08:00
Murphy Berzish
bf28b815fa
z3str3: add a method to rewrite-and-assert an axiom to reduce boilerplate
2019-11-29 09:37:22 -08:00
Murphy Berzish
b8f2cf5b0b
z3str3: rewrite strong arrangement axiom to avoid assertion violation
2019-11-29 09:37:22 -08:00
Nikolaj Bjorner
a257ec0cc1
build warnings #2748
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-28 15:36:54 -08:00
Federico Mora
30d9ea5c2c
Addressing comments from pull request: more descriptive variable names and m.mk_not
2019-11-27 22:06:59 -08:00
Federico Mora
574051df1b
Step by step derivation of second int.to.str axiom
2019-11-27 22:06:59 -08:00
Federico Mora
900e707619
Added more comments
2019-11-27 22:06:59 -08:00