3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-04 15:03:57 +00:00
Commit graph

1525 commits

Author SHA1 Message Date
Murphy Berzish
f5b82740c3 debugging length testers in theory_str::gen_len_val_options_for_free_var 2016-07-31 16:26:56 -04:00
Murphy Berzish
8958eea27c crash avoidance in theory_str cut_var_map writes 2016-07-31 11:22:04 -04:00
Nikolaj Bjorner
cb2d8d2107 add detection of non-fixed variables to consequence finding
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-30 19:12:41 -07:00
Murphy Berzish
7f3a260eda more aggressive simplifications in theory_str::handle equality, WIP, not tested yet 2016-07-30 16:58:59 -04:00
Nikolaj Bjorner
7346098895 fix unsat core extraction code in smt_context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-30 11:22:34 -07:00
Nikolaj Bjorner
d32019f4c9 fix consequence tracking for negated assumptions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-30 10:49:06 -07:00
Nikolaj Bjorner
2263be1b4d adding consequence examples
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-29 17:24:14 -07:00
Nikolaj Bjorner
5c99405db3 finish consequence fast path code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-28 20:15:47 -07:00
Nikolaj Bjorner
4958edeb42 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-28 19:40:49 -07:00
Nikolaj Bjorner
8221a09659 fast path for antecedent extraction in smt_context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-28 16:49:19 -07:00
Murphy Berzish
6f67e9cdda fix theory_str::check_length_concat_concat to actually assert the conflict axiom 2016-07-28 17:18:56 -04:00
Murphy Berzish
244b611f1c fix infinite loop bug in theory_str::new_eq_check 2016-07-28 17:10:41 -04:00
Murphy Berzish
999420485b add theory_str::check_length_eq_var_concat and helper methods 2016-07-28 16:49:39 -04:00
Murphy Berzish
76ceac6664 add theory_str::check_length_const_string 2016-07-28 16:31:40 -04:00
Murphy Berzish
95f1cfa5a6 add theory_str::check_length_consistency, WIP 2016-07-27 16:18:05 -04:00
Murphy Berzish
a31a948a5b add theory_str::can_concat_eq_concat 2016-07-27 15:21:33 -04:00
Murphy Berzish
ceed3f3ff0 add theory_str::can_concat_eq_str 2016-07-27 15:15:01 -04:00
Murphy Berzish
1c518be61d new_eq_handler improvements in theory_str, WIP 2016-07-27 12:46:35 -04:00
Nikolaj Bjorner
56c78753f0 updating default solver selection. Add dt2bv transformation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-24 18:16:32 -07:00
Murphy Berzish
f555074e27 add option to disable integer theory integration in theory_str; this is currently ENABLED 2016-07-23 23:29:56 -04:00
Murphy Berzish
02a66c425e add option to bypass quick returns in integer theory integration in theory_str
this might not actually be that useful, if the problem is, as I suspect it to be,
that values we get from the integer theory need not correspond with
assertions in the core (that can get popped off the stack, etc.)
2016-07-23 22:43:46 -04:00
Murphy Berzish
ac16aa7c81 fix out-of-scope variable bug in theory_str::process_concat_eq_type6
this fix will have to be made to all functions that use varForBreakConcat
2016-07-23 16:02:11 -04:00
Nikolaj Bjorner
a59ed0fc2f Merge branch 'master' of https://github.com/Z3Prover/z3 2016-07-20 12:18:16 -07:00
Nikolaj Bjorner
60711bb0cd deal with model construction, issue #684. fix model construction for ite #678. WIth this version, issue #686 does not repro
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-20 12:18:07 -07:00
Nikolaj Bjorner
5f39c4371c fix proof generation for unit resolution. Issue #691
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-20 11:54:39 -07:00
Nikolaj Bjorner
6559fd817d Fix bit-blasting discrepancy. #690
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-20 10:53:53 -07:00
Nikolaj Bjorner
f30fb7639e Merge branch 'master' of https://github.com/Z3Prover/z3 2016-07-13 20:32:24 -07:00
Nikolaj Bjorner
3989d238c0 fix bugs exposed in #677. to_int(x) has the semantics that to_int(x) <= x, and to_int(x) is the largest integer satisfying this inequality. The encoding in purify_arith had it the other way x <= to_int(x) contrary to how to_int(x) is handled elsewhere. Another bug in theory_arith for mixed-integer linear case was also exposed. Fractional bounds on expressions of the form to_int(x), and more generally on integer rows were not rounded prior to internalization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-13 20:32:18 -07:00
Christoph M. Wintersteiger
3bea00efe3 added smt_params trace 2016-07-13 15:35:29 +01:00
Murphy Berzish
8d47b08244 fix out-of-scope value tester bug in theory_str::gen_free_var_options()
we now pass tests/z3str/charAt-003.smt2 with detailed debugging turned off!
2016-07-10 13:05:41 -04:00
Fabian Wolff
6eaab00e83 Fix spelling errors 2016-07-09 11:46:43 +02:00
Nikolaj Bjorner
bdbf1c9bf4 add support for default semantics for stoi (non-integer strings map to -1). Issue #670
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-08 10:45:19 -07:00
Murphy Berzish
8aa6fee0af fixups wip 2016-07-08 12:21:11 -04:00
Murphy Berzish
847a5fc1f8 replace old mk_value behaviour in theory_str that creates placeholders for unused terms instead of crashing 2016-07-07 16:13:48 -04:00
Murphy Berzish
9eead64d03 prevent assertion of basic string axioms on variables that go out of scope (theory_str)
this is testing a crash avoidance feature, the regression is tests/z3str/regex-026.smt2

this also adds some debugging code for a substr() crash but that is WIP
2016-07-06 17:31:37 -04:00
Nikolaj Bjorner
4c786c5f70 add n-ary disjunction and conjunction
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-01 08:15:50 -07:00
Murphy Berzish
7d903ff1fa implement process_concat_eq_unroll, WIP 2016-06-30 04:55:11 -04:00
Murphy Berzish
b53da182b6 fix gen_assign_unroll_reg so that it does not assert a contradiction 2016-06-30 04:39:09 -04:00
Murphy Berzish
a2d6149df5 add general-case regex unroll model generation
WIP as there is currently a SAT-as-UNSAT bug I'm trying to fix

This also changes the semantics of lower_bound and upper_bound,
no longer wrapping the expr that is passed in with mk_strlen().
This actually makes these methods useful for checking bounds
of things other than strings.
2016-06-30 04:00:42 -04:00
Murphy Berzish
b4110c886f successful unroll of simple unbounded Str2Reg 2016-06-30 02:46:16 -04:00
Murphy Berzish
427632ede3 let free variable assignment work a bit more towards unrolls 2016-06-30 01:42:00 -04:00
Murphy Berzish
21f0a50aba add Unroll check to get_eqc_allUnroll 2016-06-30 01:24:43 -04:00
Murphy Berzish
03827cb487 add more Unroll support to final_check, ctx_dep_analysis 2016-06-30 01:21:21 -04:00
Nikolaj Bjorner
c2f9d35d59 throw exceptions when internalizing expressions with free variables, issue #663
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-29 16:53:28 -07:00
Nikolaj Bjorner
8aee7129f6 shortcircuit stats functions on ground terms
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-28 21:48:49 -07:00
Murphy Berzish
b31d1a92aa add more support for unroll (WIP) 2016-06-27 14:41:57 -04:00
Nikolaj Bjorner
98a34ca51f Merge branch 'master' of https://github.com/Z3Prover/z3 2016-06-23 21:39:34 -07:00
Nikolaj Bjorner
c72ed3e6b4 update core minimization code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-23 21:39:28 -07:00
Murphy Berzish
020e8aef6d regex union 2016-06-23 17:14:03 -04:00
Murphy Berzish
04803d7a3b starting regex support 2016-06-23 15:24:35 -04:00