Murphy Berzish
b31d1a92aa
add more support for unroll (WIP)
2016-06-27 14:41:57 -04: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
Murphy Berzish
a808a8c587
theory_str infer_len_concat_arg
2016-06-21 17:38:49 -04:00
Murphy Berzish
1e46782392
theory_str infer_len_concat
2016-06-21 17:25:28 -04:00
Murphy Berzish
ba42478f9b
string-integer wip
2016-06-20 20:02:22 -04:00
Murphy Berzish
89a337ba7e
quick path with string-integer integration in theory_str::simplify_concat_equality
2016-06-19 18:25:31 -04:00
Murphy Berzish
5b3c868c90
theory_str Replace method
2016-06-15 21:14:54 -04:00
Murphy Berzish
fb20951064
theory_str Substr support WIP
2016-06-15 20:26:07 -04:00
Murphy Berzish
be5bf7fb80
LastIndexof support
2016-06-15 18:45:01 -04:00
Murphy Berzish
dc5a334d42
support for Indexof2 in theory_str
2016-06-15 17:37:17 -04:00
Murphy Berzish
881e3056f3
support for IndexOf in theory_str
2016-06-14 21:28:31 -04:00
Murphy Berzish
7aeeb599ef
very very basic Contains support in theory_str
...
not included: the 1200 lines of code that make it very fast
2016-06-14 18:43:51 -04:00
Murphy Berzish
989d6b577b
EndsWith axiomatization in theory_str
2016-06-14 18:05:24 -04:00
Murphy Berzish
fd38b4c729
EndsWith decl and rewriter, WIP
2016-06-14 17:55:46 -04:00
Murphy Berzish
4f131ebba7
prevent infinite loop of axiom generation. working StartsWith
2016-06-14 16:42:46 -04:00
Murphy Berzish
c5ffb012dd
axioms for StartsWith; WIP as I need to fix an infinite recursion bug
2016-06-14 16:16:39 -04:00
Murphy Berzish
be5cc02a45
working axiomatization for CharAt
2016-06-13 21:57:08 -04:00
Murphy Berzish
18cd47dcd0
add flag for bailing out during a final check infinite loop in theory_str
...
also adds more debugging to free variable gen
2016-06-12 20:14:57 -04:00
Murphy Berzish
08328c5614
add option in theory_str to assert string constant lengths more eagerly
...
now passes z3str/concat-025
2016-06-12 17:16:14 -04:00
Murphy Berzish
1520760a04
string-integer integration in free var gen
2016-06-09 20:31:21 -04:00
Murphy Berzish
91d82956b2
string concat-eq type 3 integer integration
2016-06-09 16:25:19 -04:00
Murphy Berzish
6f5ee2c3ce
string concat-eq type 2 integer integration
2016-06-09 16:04:13 -04:00
Murphy Berzish
ae74b47924
string concat-eq type 1 integer integration
2016-06-09 15:41:31 -04:00
Murphy Berzish
6332372573
more debugging info in theory_str final check; fix variable classification bug
2016-06-08 20:01:56 -04:00
Murphy Berzish
bd2b014008
debugging information for dependence analysis
2016-06-08 19:32:25 -04:00
Murphy Berzish
04fe8f66df
concat-eq-concat type 1 split 0
2016-06-08 16:22:31 -04:00
Murphy Berzish
513b4922ee
tracing code for string-integer integration
2016-06-07 17:40:59 -04:00
Murphy Berzish
e0df5bc2ed
fixups for string-integer
2016-06-04 16:29:10 -04:00
Murphy Berzish
b5fe473c3a
fix compilation errors after merge
2016-06-01 17:50:45 -04:00
Murphy Berzish
bc79a73779
lower/upper bound WIP
2016-06-01 17:23:47 -04:00
Murphy Berzish
f8f7014a18
use LRA instead of LIA in strings setup, so that the theory_seq integer value code works
2016-06-01 16:34:48 -04:00
Murphy Berzish
ecb069b701
non-fixes to string length code, plus the get_length() code from new Z3
2016-05-20 16:34:11 -04:00
Murphy Berzish
2522e35c5e
start work on string-integer integration
2016-05-20 10:22:19 -04:00
Murphy Berzish
2f494a9611
fix null parent bug by making a copy of n_eq_enode->m_parents in simplify_parent
2016-05-19 16:57:01 -04:00
Murphy Berzish
c8522c5b78
cleanup before attempting to fix the null enode parent bug
2016-05-19 16:51:43 -04:00
Murphy Berzish
866d97f768
fix eval_concat copy-and-paste error in simplify_parent; concat-eq-concat-case3_sat now passing
2016-05-17 16:45:53 -04:00
Murphy Berzish
2f80a9d4ae
add more_len_tests, more_value_tests
2016-05-17 16:31:08 -04:00
Murphy Berzish
9fc1410495
remove incorrect not-null assertions for model gen
2016-05-17 14:53:17 -04:00
Murphy Berzish
f9e1ed4496
add simplify_parent()
2016-05-09 18:12:21 -04:00
Murphy Berzish
bcaad06061
add theory name; add debug info for freeVar_map
2016-05-07 17:47:50 -04:00
Murphy Berzish
6dfc2dd910
variables of sort String should now correctly be identified as Very Relevant to the string solver
2016-05-07 17:16:31 -04:00
Murphy Berzish
1d324877cd
use theory_seq's internalize_term
2016-05-07 15:40:39 -04:00
Murphy Berzish
a2d0299621
call super in push and pop
2016-05-07 14:19:12 -04:00
Murphy Berzish
cf5eacbf33
successful run of model generation test case, after assigning all internal variables a bogus value if they are unused
2015-12-03 20:58:54 -05:00
Murphy Berzish
e010e7c0d6
add trace message to indicate which free variables are giving us trouble
...
I think I'm onto the issue though
2015-12-02 23:35:26 -05:00
Murphy Berzish
f5e94af784
check that both simplified expressions are concats in simplify_concat_equality()
...
this seems to fix all the crashes but the solver takes forever to solve a really simple instance
with easy model generation, so I think something is still wrong
probably next I will go through and change std::map to obj_map, etc.
2015-12-02 22:15:04 -05:00
Murphy Berzish
1a15b3937d
in_same_eqc() now checks to ensure both terms are internalized before doing anything else
2015-12-02 22:09:30 -05:00
Murphy Berzish
23150d3b5e
never ever ever reuse constants in mk_string(). this gets us MUCH farther
2015-12-02 22:03:12 -05:00
Murphy Berzish
953a4c5437
add temporary variables to m_trail
2015-12-02 20:48:15 -05:00