3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-11 19:53:34 +00:00
Commit graph

513 commits

Author SHA1 Message Date
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