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

2705 commits

Author SHA1 Message Date
Murphy Berzish
9010a5c4cf honest-to-goodness working model gen, i.e. it didn't crash. more testing needed 2015-11-20 16:05:43 -05:00
Murphy Berzish
24148bafa3 fixed several AST bugs; need to load charSet now 2015-11-20 15:48:06 -05:00
Murphy Berzish
bf27d41b08 use TRACE instead of STRACE... 2015-11-20 12:27:29 -05:00
Murphy Berzish
b34fc06fe9 fix all compilation errors, now to test it 2015-11-20 12:24:23 -05:00
Murphy Berzish
9beeb09acf model gen possibly done, but I doubt it works so WIP 2015-11-15 15:18:14 -05:00
Murphy Berzish
8b538f5840 started gen_val_options() WIP 2015-11-11 15:34:11 -05:00
Murphy Berzish
3a404c248d gen_free_var_options() WIP 2015-11-10 12:40:01 -05:00
Murphy Berzish
6374d63160 gen_len_val_options_for_free_var() WIP 2015-11-09 16:11:00 -05:00
Murphy Berzish
0178872a19 completed process_free_var(), still WIP
working on gen_len_val_options_for_free_var()
2015-11-09 15:33:52 -05:00
Murphy Berzish
a9b8707d48 possibly found a way to do get_parents() 2015-11-09 15:14:34 -05:00
Murphy Berzish
e9b31f2995 temporarily patched in a get_eqc_allUnroll() implementation 2015-11-06 14:13:38 -05:00
Murphy Berzish
ac8b5e6eae free variable WIP 2015-11-06 14:10:18 -05:00
Murphy Berzish
4a8ee88461 ctx_dep_analysis() done, final_check() WIP 2015-11-06 13:43:54 -05:00
Murphy Berzish
9f01b9dc92 more progress on model gen (WIP) 2015-11-04 16:22:06 -05:00
Murphy Berzish
1f3c5cebbf variable classification (WIP) 2015-10-26 15:43:31 -04:00
Murphy Berzish
c08f4371f4 begin model generation, wip 2015-10-21 21:32:38 -04:00
Murphy Berzish
3ee8f27588 possibly fix internalization bug mentioned in #2
(this leads to a not-implemented-yet in final_check_eh()
due to missing code surrounding free variable production)
2015-10-18 20:20:09 -04:00
Murphy Berzish
e521ab2c3a fix concat_axiom loop in propagate(): compare against size()...... 2015-10-18 19:40:03 -04:00
Murphy Berzish
b494804c9c ignore tests dir 2015-10-06 19:31:26 -04:00
Murphy Berzish
6791db64c0 process_concat_eq_type6
that's the last one!
2015-10-03 13:34:42 -04:00
Murphy Berzish
be79723382 process_concat_eq_type5 wip 2015-10-03 12:26:30 -04:00
Murphy Berzish
f7bc785a56 process_concat_eq_type4, still WIP not tested 2015-10-03 12:19:55 -04:00
Murphy Berzish
ff4706dd40 process_concat_eq_type3
still wip because i'm just trying to get these all done
2015-10-03 12:07:55 -04:00
Murphy Berzish
96d99dfb38 process_concat_eq_type2 implementation, not tested WIP 2015-10-02 14:05:17 -04:00
Murphy Berzish
bdf755156c fix model generation: don't build interpretations for Length() 2015-10-01 20:31:40 -04:00
Murphy Berzish
fb5f3cbc13 fix greater-than bug
now we just have to tweak model gen for internal variables
2015-09-30 11:41:55 -04:00
Murphy Berzish
f8c13792a3 mark the position of the bug I found so I can recall it later
in process_concat_eq_type1() line 1048
2015-09-30 09:45:00 -04:00
Murphy Berzish
5189c24d42 fix theory of arithmetic complaints about wanting to write A > B
"what could possibly go wrong?"
2015-09-30 05:45:16 -04:00
Murphy Berzish
ecb2116927 fix memory corruption bug caused by invalid use of delete[] 2015-09-30 05:23:22 -04:00
Murphy Berzish
e2901fff1e fix compilation errors 2015-09-30 05:21:16 -04:00
Murphy Berzish
ed7b343822 detect and process concat eq type 1 (WIP UNTESTED) 2015-09-30 05:15:14 -04:00
Murphy Berzish
a62d15403e start simplify_concat_eq(), WIP but some cases OK
also fix model generation for concats and nested concats
2015-09-29 22:31:11 -04:00
Murphy Berzish
1cdfe159b8 simplify_concat_equality() and easy cases there
still WIP especially wrt. model generation but what's here does work
2015-09-29 20:19:43 -04:00
Murphy Berzish
8ed86d2f19 add concatenation axiom 2015-09-29 18:02:05 -04:00
Murphy Berzish
191c50b529 fix solve_concat_eq_str() case 4: prefixStr should have been suffixStr 2015-09-29 17:52:19 -04:00
Murphy Berzish
2320b6dc48 solve_concat_eq_str() case 4: somewhat working
something's wrong but it may be very simple to fix
2015-09-29 17:46:51 -04:00
Murphy Berzish
f473b92d5c solve_concat_eq_str() case 4 WIP 2015-09-28 17:41:01 -04:00
Murphy Berzish
871b08bd8c solve_concat_eq_str() case 3 2015-09-28 14:52:43 -04:00
Murphy Berzish
876af399e3 probably fix duplication of mk_string() terms
also implement Case 2 of solve_concat_eq_str()
2015-09-28 14:44:25 -04:00
Murphy Berzish
9bc685b21d solve_concat_eq_str() for concat(const,const) == const 2015-09-28 10:43:34 -04:00
Murphy Berzish
62cd633b63 create helper function theory_str::assert_implication() 2015-09-28 03:26:46 -04:00
Murphy Berzish
bccadedfee instead of building axiom (=> x y), build (or (not x) y)
this may be a bug in Z3 as it suggests that implications are ignored
e.g. I can assert the axiom (=> true false) and Z3 is okay with this
2015-09-28 03:20:13 -04:00
Murphy Berzish
5fe129b571 use mk_ismt2_pp() instead of mk_bounded_pp() 2015-09-28 02:09:35 -04:00
Murphy Berzish
87b5765e3d clean up traces and make them much easier to read 2015-09-28 02:04:35 -04:00
Murphy Berzish
7da3854a8b really lousy model-building, WIP 2015-09-28 01:56:13 -04:00
Murphy Berzish
0d54e4e4ae implement str_decl_plugin::is_value() and ::is_unique_value()
we can now prove that (= "abc" "def") is unsatisfiable
2015-09-27 23:57:41 -04:00
Murphy Berzish
02cb329ca5 defer equalities uncovered during init_search 2015-09-27 23:24:41 -04:00
Murphy Berzish
86e6087718 starting solve_concat_eq_str(); currently there is an unsoundness bug 2015-09-27 21:30:45 -04:00
Murphy Berzish
6481fe941a instantiate string-eq length-eq axiom 2015-09-27 17:48:53 -04:00
Murphy Berzish
114b51dec8 only handle equalities in assignments during init_search_eh 2015-09-27 17:26:52 -04:00