3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 00:26:38 +00:00
Commit graph

5654 commits

Author SHA1 Message Date
Murphy Berzish d57c92f69e theory_str api: concat, length 2016-10-20 12:25:52 -04:00
Murphy Berzish ce53b36864 theory_str API started 2016-10-14 12:34:11 -04:00
Murphy Berzish dc8062ba67 patch out contains check for substr reduction
fixes all regressions in release build, we may want to revisit this later
2016-09-22 20:14:42 -04:00
Murphy Berzish 1061cdf58a fix value tester theory var reuse in theory_str
fixes release regression in charAt-007
2016-09-22 15:40:43 -04:00
Murphy Berzish 4433417b6e faster push_scope in theory_str 2016-09-20 16:25:28 -04:00
Murphy Berzish feef85c129 override scope check in theory_str::solve_concat_eq_str
fixes indexof2-009.smt2
2016-09-20 15:37:29 -04:00
Murphy Berzish 48eaa6159c disable aggressive unroll testing in theory_str, it may be doing more harm than good 2016-09-20 01:10:27 -04:00
Murphy Berzish 447c6e4ce3 refresh length tester in theory_str::gen_len_val_options_for_free_var
fixes charAt-007.smt2
2016-09-20 00:28:29 -04:00
Murphy Berzish f1d7ffcdce fix regression regex-020 2016-09-20 00:14:38 -04:00
Murphy Berzish 9615b191de theory_str hacking for theory var stuff WIP 2016-09-19 23:40:17 -04:00
Murphy Berzish c38f63dd2a fix eqc management and unroll test var gen in theory_str::final_check 2016-09-19 19:42:16 -04:00
Murphy Berzish 91b625768c fix tracing in theory_str 2016-09-15 17:01:59 -04:00
Murphy Berzish e7c0c29ae5 potentially fix out-of-scope infinite loop bug in theory_str gen_unroll_conditional_options 2016-09-15 15:59:56 -04:00
Murphy Berzish 8776b97841 variable scope correctness hack in theory_str 2016-09-14 22:08:40 -04:00
Murphy Berzish bed40c45b8 cleanup 2016-09-14 21:48:27 -04:00
Murphy Berzish ad7247df51 make calls to theory_str::dump_assignments depend on the correct trace flags 2016-09-14 19:32:14 -04:00
Murphy Berzish 15055c8041 use mk_int_var to make xor terms 2016-09-14 19:01:14 -04:00
Murphy Berzish d334403720 remove relevancy testing experiment 2016-09-14 17:42:40 -04:00
Murphy Berzish f22f4da023 remove unused variable 2016-09-14 17:33:47 -04:00
Murphy Berzish 9ee7326a19 tweaks to process_concat_eq_type_3 2016-09-14 17:26:52 -04:00
Murphy Berzish a294c145dc add theory_str::try_eval_concat to work around rewriter behaviour
this fixes a regression in concat-013.smt2
2016-09-14 16:18:03 -04:00
Murphy Berzish e46fc7b0b6 fix expr-app conversion 2016-09-14 15:51:33 -04:00
Murphy Berzish 804009a757 use z3str2 eqc semantics for get_eqc_value 2016-09-14 15:37:48 -04:00
Murphy Berzish 50353168ef fix semantics of get_concats_in_eqc and get_var_in_eqc 2016-09-14 15:36:36 -04:00
Murphy Berzish 87d61d6d6e fix semantics of in_same_eqc 2016-09-14 15:35:37 -04:00
Murphy Berzish ec9e1686f7 fix semantics of collect_eq_nodes and simplify_parent 2016-09-14 15:32:49 -04:00
Murphy Berzish 9481601b4b restore z3str2 eqc semantics in theory_str::new_eq_check 2016-09-14 15:15:47 -04:00
Murphy Berzish 34dc655150 z3str2 eqc semantics for theory_str unroll checks 2016-09-13 18:24:59 -04:00
Murphy Berzish 8f636e1f57 fix typo'ed set reference in handle_equality 2016-09-13 18:16:21 -04:00
Murphy Berzish aea0032aa7 manage our own union-find structure in theory_str
concat-086.smt2 passes with this, for the first time ever
2016-09-13 18:01:45 -04:00
Murphy Berzish ca71a20ab7 add caching to theory_str::mk_concat, WIP 2016-09-12 17:17:17 -04:00
Murphy Berzish 015016c92b disable variable scope check if not tracing in theory_str 2016-09-12 16:57:05 -04:00
Murphy Berzish b3fddf4707 performance optimization in theory_str::classify_ast_by_type 2016-09-12 16:41:35 -04:00
Murphy Berzish 2c5569aa1f change cut_var_map to obj_map 2016-09-12 15:43:58 -04:00
Murphy Berzish 82e07aae8c disable deferred eqc check in theory_str 2016-09-08 19:55:08 -04:00
Murphy Berzish c83e39d3b8 fix incorrect axiom in theory_str for Contains check
this partially fixes a regression in contains-034.smt2, which now
is at least not a SAT-as-UNSAT
2016-09-05 17:45:10 -04:00
Murphy Berzish 7b34efada7 add aggressive unroll test option to theory_str 2016-09-04 18:48:15 -04:00
Murphy Berzish 347f441517 add a check for variable scope to theory_str 2016-09-02 20:44:14 -04:00
Murphy Berzish 2b8f165cc4 patch UNSAT to UNKNOWN in cmd_context for theory_str 2016-09-02 19:04:20 -04:00
Murphy Berzish d3062a8eff omit out-of-scope length testers from axiom premise in theory_str::gen_len_test_options
this fixes a regression in charAt-007.smt2
2016-09-02 18:23:41 -04:00
Murphy Berzish f9b4f21683 add rewrite for theory_str rewriter RegexPlus
fixes regex-013.smt2
2016-08-31 19:22:04 -04:00
Murphy Berzish 5e22bc57c8 theory_str cleanup 2016-08-31 19:19:23 -04:00
Murphy Berzish 89d5f4ffb4 add compute_contains check to theory_str
this may cause a crash in indexof-002.smt2 but
I cannot reproduce it
2016-08-21 21:37:46 -04:00
Murphy Berzish 2a199294a1 remove incorrect null pointer check from theory_str::gen_len_val_options_for_free_var
everything that calls this method knows that it can legally return null
2016-08-21 00:43:00 -04:00
Murphy Berzish 7b3203b48e disable aggressive length/value testing in theory_str, it seems to be detrimental 2016-08-21 00:30:29 -04:00
Murphy Berzish 1a75781a3c add experimental option to defer new_eq_check to final_check in theory_str 2016-08-20 23:09:08 -04:00
Murphy Berzish 481e97a274 propagate early in theory_str to set up contains/regex maps
this fixes an unsat-as-sat error in a regex test and flips around some timeouts
so more work will be required to track this down
2016-08-19 22:53:36 -04:00
Murphy Berzish 8598a48e3b fix weird Contains rewriter behaviour in theory_str 2016-08-18 19:14:50 -04:00
Murphy Berzish 3c8b833eeb fix expression dereference error in theory_str::gen_assign_unroll_Str2Reg 2016-08-18 17:03:32 -04:00
Murphy Berzish 54d7e4bbb5 remove the option to bypass check_regex_in in theory_str 2016-08-17 21:12:19 -04:00