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