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
Federico Mora
6ffb475007
Add comments and make implication into xor. Logically equivalent.
2019-11-27 22:06:59 -08:00
Federico Mora
fc74689c1b
int.to.str must not begin with 0 unless is 0
2019-11-27 22:06:59 -08:00
Murphy Berzish
5f78ca9b58
z3str3: negative lengths in get_len_value don't count
2019-11-25 12:32:51 -08:00
Murphy Berzish
415260b93d
z3str3: refactor app* to app_ref
2019-11-22 16:07:50 -08:00
Nikolaj Bjorner
b2c3025e21
fix #2714
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-21 16:37:53 -08:00
Murphy Berzish
be99d3d450
z3str3: refactoring, move regex automata methods to theory_str_regex
2019-10-25 18:06:06 -07:00
Murphy Berzish
b9a407c25f
z3str3: force eager axiom setup on new terms
2019-10-24 15:20:07 -07:00
Murphy Berzish
f91af02675
z3str3: set up axioms on string terms that are added during the search
2019-10-24 15:20:07 -07:00
Murphy Berzish
76b3198282
z3str3: fixes to str.indexof when axiomatizing constant expressions
2019-10-22 07:53:14 -07:00
Murphy Berzish
4fc64ab578
z3str3: check for and re-internalize str.in.re terms
2019-10-11 09:25:30 -07:00
Nikolaj Bjorner
16dc2788a7
compiler warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-10-08 12:43:17 -07:00
Murphy Berzish
b0bf2f1792
z3str3: recognize two-argument re.loop
2019-10-07 15:07:10 -07:00
Murphy Berzish
fe7a7fe23f
z3str3: fail early on non-string sequence terms
2019-09-30 21:05:41 -07:00
Murphy Berzish
f29b033253
z3str3: add is_var() similar to theory_seq's implementation
2019-09-28 17:45:49 -07:00
Murphy Berzish
1c70bcee69
z3str3: setup uninterpreted functions as though they were string variables
2019-09-28 17:45:49 -07:00
Murphy Berzish
18ba14cff8
Z3str3: fix empty-string contradictions ( #2538 )
...
* z3str3: str.indexof second argument can be empty string without causing contradictions
* z3str3: str.indexof second argument can be empty string without causing contradictions
* z3str3: fixups for str.indexof
* z3str3: str.indexof code cleanup
2019-09-07 16:35:20 +03:00
Murphy Berzish
e05596e7e5
z3str3: fix str.indexof with offset (issue #2092 )
2019-03-06 11:41:56 -05:00
nilsbecker
ec76efedbe
synchronizing with main repository
2019-02-22 00:19:43 +01:00
nilsbecker
28c03ed1de
logging support for theory axioms
2019-02-21 19:29:35 +01:00
Nikolaj Bjorner
0d400a5ad6
fix bit2bool bug reported by Jianying Li
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-04 07:46:53 -08:00
Nikolaj Bjorner
ea0d253308
fix const-char test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-03 11:56:20 -08:00
Bruce Mitchener
2faf5ef995
Remove unused iPos.
...
This was incremented, but never actually used, so remove it.
2018-11-30 23:13:22 +07:00