Nikolaj Bjorner
4628cb8e79
check for negation, not complement
2020-07-28 11:30:35 -07:00
Nikolaj Bjorner
42b42dd89a
use bounded pp for cubes
2020-07-28 10:15:16 -07:00
Nikolaj Bjorner
f7b2407a11
for #4588
2020-07-28 10:14:56 -07:00
Nikolaj Bjorner
8857a67e4f
fix model return after shutdown, reported in #4532
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-27 23:48:19 -07:00
Nikolaj Bjorner
b71a64365d
sketch fixed-length heuristic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-27 19:34:32 -07:00
Caleb Stanford
5664b570a3
Seq rewriter integration ( #4599 )
...
* std::cout debugging statements
* comment out std::cout debugging as this is now a shared fork
* convert std::cout to TRACE statements for seq_rewriter and seq_regex
* add cases to min_length and max_length for regexes
* bug fix
* update min_length and max_length functions for REs
* initial pass on simplifying derivative normal forms by eliminating redundant predicates locally
* add seq_regex_brief trace statements
* working on debugging ref count issue
* fix ref count bug and convert trace statements to seq_regex_brief
* add compact tracing for cache hits/misses
* seq_regex fix cache hit/miss tracing and wrapper around is_nullable
* minor
* label and disable more experimental changes for testing
* minor documentation / tracing
* a few more @EXP annotations
* dead state elimination skeleton code
* progress on dead state elimination
* more progress on dead state elimination
* refactor dead state class to separate self-contained state_graph class
* finish factoring state_graph to only work with unsigned values, and implement separate functionality for expr* logic
* implement get_all_derivatives, add debug tracing
* trace statements for debugging is_nullable loop bug
* fix is_nullable loop bug
* comment out local nullable change and mark experimental
* pretty printing for state_graph
* rewrite state graph to remove the fragile assumption that all edges from a state are added at a time
* start of general cycle detection check + fix some comments
* implement full cycle detection procedure
* normalize derivative conditions to form 'ele <= a'
* order derivative conditions by character code
* fix confusing names m_to and m_from
* assign increasing state IDs from 1 instead of using get_id on AST node
* remove elim_condition call in get_dall_derivatives
* use u_map instead of uint_map to avoid memory leak
* remove unnecessary call to is_ground
* debugging
* small improvements to seq_regex_brief tracing
* fix bug on evil2 example
* save work
* new propagate code
* work in progress on using same seq sort for deriv calls
* avoid re-computing derivatives: use same head var for every derivative call
* use min_length on regexes to prune search
* simple implementation of can_be_in_cycle using rank function idea
* add a disabled experimental change
* minor cleanup comments, etc.
* seq_rewriter cleanup for PR
* remove cache hit/miss counts tracing
* remove changes not in the rewriter
* remove cache hit/miss count tracing
Co-authored-by: calebstanford-msr <t-casta@microsoft.com>
2020-07-27 19:08:45 -07:00
Murphy Berzish
afdfc5e8a6
z3str3: fix incorrect automaton polarity in intersection check, and clean up code ( #4595 )
2020-07-27 20:11:38 -05:00
Nikolaj Bjorner
6910c0d5eb
Revert "Seq rewriter integration ( #4597 )" ( #4598 )
...
This reverts commit e90f01006c
.
2020-07-27 18:10:14 -07:00
Nikolaj Bjorner
e90f01006c
Seq rewriter integration ( #4597 )
...
* std::cout debugging statements
* comment out std::cout debugging as this is now a shared fork
* convert std::cout to TRACE statements for seq_rewriter and seq_regex
* add cases to min_length and max_length for regexes
* bug fix
* update min_length and max_length functions for REs
* initial pass on simplifying derivative normal forms by eliminating redundant predicates locally
* add seq_regex_brief trace statements
* working on debugging ref count issue
* fix ref count bug and convert trace statements to seq_regex_brief
* add compact tracing for cache hits/misses
* seq_regex fix cache hit/miss tracing and wrapper around is_nullable
* minor
* label and disable more experimental changes for testing
* minor documentation / tracing
* a few more @EXP annotations
* dead state elimination skeleton code
* progress on dead state elimination
* more progress on dead state elimination
* refactor dead state class to separate self-contained state_graph class
* finish factoring state_graph to only work with unsigned values, and implement separate functionality for expr* logic
* implement get_all_derivatives, add debug tracing
* trace statements for debugging is_nullable loop bug
* fix is_nullable loop bug
* comment out local nullable change and mark experimental
* pretty printing for state_graph
* rewrite state graph to remove the fragile assumption that all edges from a state are added at a time
* start of general cycle detection check + fix some comments
* implement full cycle detection procedure
* normalize derivative conditions to form 'ele <= a'
* order derivative conditions by character code
* fix confusing names m_to and m_from
* assign increasing state IDs from 1 instead of using get_id on AST node
* remove elim_condition call in get_dall_derivatives
* use u_map instead of uint_map to avoid memory leak
* remove unnecessary call to is_ground
* debugging
* small improvements to seq_regex_brief tracing
* fix bug on evil2 example
* save work
* new propagate code
* work in progress on using same seq sort for deriv calls
* avoid re-computing derivatives: use same head var for every derivative call
* use min_length on regexes to prune search
* simple implementation of can_be_in_cycle using rank function idea
* add a disabled experimental change
* minor cleanup comments, etc.
* seq_rewriter cleanup for PR
* remove cache hit/miss counts tracing
* remove changes not in the rewriter
* remove cache hit/miss count tracing
Co-authored-by: calebstanford-msr <t-casta@microsoft.com>
Co-authored-by: Caleb Stanford <caleb.pirsquared@gmail.com>
2020-07-27 18:08:51 -07:00
Murphy Berzish
2fb914d2a2
z3str3: construct correct counterexamples for string-integer in model construction ( #4562 )
2020-07-27 14:15:41 -05:00
Nikolaj Bjorner
9624df942f
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-27 09:24:35 -07:00
Nikolaj Bjorner
a08082e392
fix #4594
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-27 09:22:53 -07:00
Nikolaj Bjorner
ae502bc2c4
simplify a few of the several axiom trace commands
2020-07-26 18:02:34 -07:00
Nikolaj Bjorner
c7704ef9af
pass algebraic manager to arith-plugin mk-numeral because rational check may overwrite the argument using the current manager deals with crash as part of #4532
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-26 17:52:28 -07:00
Nikolaj Bjorner
ac39ddb43f
flush gmc for sat-preprocessor model bug #4532
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-26 14:30:48 -07:00
Nikolaj Bjorner
e8ef9a85a4
fix #4327
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-26 13:22:13 -07:00
Nikolaj Bjorner
4be6927460
unused variable warning
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-26 13:22:12 -07:00
Nikolaj Bjorner
78afa2527c
unused variable warning
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-26 13:22:12 -07:00
Nikolaj Bjorner
105f97d3ee
#4582 again
2020-07-25 15:12:25 -07:00
Nikolaj Bjorner
2133ba06a7
prepare for theory variables othe rthan seq/re
2020-07-25 15:11:13 -07:00
Nikolaj Bjorner
f789573d12
prepare for alternative axiom
2020-07-25 15:10:39 -07:00
Nikolaj Bjorner
2d4839f89e
#4582 again
2020-07-25 15:09:30 -07:00
Nikolaj Bjorner
1059f6d3b8
#4582 again
2020-07-25 11:54:05 -07:00
Nikolaj Bjorner
963daab268
#4582 again
2020-07-25 11:18:20 -07:00
Nikolaj Bjorner
e63992c8bd
fix #4589
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-24 15:46:54 -07:00
Nikolaj Bjorner
780346c7ca
address model generation bugs raised in #4518 and #4324
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-24 13:22:19 -07:00
Nikolaj Bjorner
e1d2b88a82
access polynomial expressions from algebraic numerals
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-23 15:08:11 -07:00
Nikolaj Bjorner
a6a041ec5d
setting defaults in AUFLIRA and AUFLIA to conservative ite-lifting. Fixing conservative setting to be after constructor in asserted_formulas. fixes #4586
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-23 13:43:54 -07:00
Nikolaj Bjorner
71a32f5bb2
remove unused
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-22 11:38:27 -07:00
Nikolaj Bjorner
45855fce06
fix
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-22 10:45:29 -07:00
Nikolaj Bjorner
dd5e2e8930
check for 0
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-22 10:44:00 -07:00
Iain Scott
b6867d69c2
Return significand bits correctly (dotnet API). Fixes #4584
2020-07-22 16:57:33 +01:00
Nikolaj Bjorner
ed58175e1b
issue #4582
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-21 18:23:41 -07:00
Nikolaj Bjorner
aab50ff3f5
fixing bugs reported in #4518
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-21 15:50:19 -07:00
Nikolaj Bjorner
b1824fea10
fix lifetimes for crashes in #4525
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-21 12:53:56 -07:00
Nikolaj Bjorner
1d8d85add9
fix #4575 - correction set resolution only works with uniform weights
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-20 15:05:06 -07:00
Nikolaj Bjorner
ebce0b3612
fix #4577
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-20 14:40:45 -07:00
Nikolaj Bjorner
61b85d7123
verbosity
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-20 14:11:59 -07:00
Nikolaj Bjorner
00491148f0
string
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-20 10:22:57 -07:00
Nikolaj Bjorner
549ef0e052
fix typos #4573
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-20 10:22:57 -07:00
Christoph M. Wintersteiger
a298091322
Fix for fp.roundToIntegral of tiny, denormal floats. Fixes #4190 .
2020-07-17 15:58:01 +00:00
Christoph M. Wintersteiger
2ef57d7f8d
Fix FP rounding of huge exponents. Fixes #3776 .
2020-07-17 13:42:12 +00:00
Christoph M. Wintersteiger
d3ae40130a
Fix rounding bug in mpf_manager. Fixes #2970 .
2020-07-16 12:39:12 +00:00
Christoph M. Wintersteiger
ccdae7af24
Fix for corner-case in fp.roundToIntegral. Fixes #2894 .
2020-07-16 11:58:18 +00:00
Christoph M. Wintersteiger
c321fb7726
Correctly report unsupported features in bvarray2uf_rewriter. Fixes #4046 and #4047 .
2020-07-15 16:16:29 +00:00
Nuno Lopes
b7caabbd0f
fix crashes with MSVC 2019
2020-07-14 13:14:44 +01:00
Nuno Lopes
aeac0b46a0
remove copy
2020-07-14 12:26:49 +01:00
Nuno Lopes
d1a0e83423
fix crash
2020-07-13 14:25:12 +01:00
Nuno Lopes
122f5a1464
remove unused field
2020-07-12 23:12:00 +01:00
Nuno Lopes
90fc8d854f
add rval methods to scoped_vector
2020-07-12 22:16:24 +01:00
Nuno Lopes
f30e8ccec3
fix crashes due to my last commit
2020-07-12 19:53:22 +01:00
Nuno Lopes
bb26f219fe
remove unneeded constructors (last round)
2020-07-12 17:41:57 +01:00
Nuno Lopes
44ec259c4c
fix python test
2020-07-11 22:33:47 +01:00
Nuno Lopes
23e6adcad3
fix a couple hundred deref-after-free bugs due to .c_str() on a temporary string
2020-07-11 20:24:45 +01:00
Nikolaj Bjorner
48a9defb0d
fix #1484 'regression'
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-09 15:09:25 -07:00
Nikolaj Bjorner
6b380811b8
fix #4524
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-09 15:05:55 -07:00
Nikolaj Bjorner
65e6b73873
fix #4538 - regression when renaming family from special_relations to specrels
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 14:46:40 -07:00
Nikolaj Bjorner
80cc45c5c1
display justifications compactly for tracing #4575
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 13:32:41 -07:00
Nikolaj Bjorner
ab7b8b6ec5
fix #4572
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 11:58:44 -07:00
Nikolaj Bjorner
061abd153c
fixing #4515
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 11:43:32 -07:00
Nikolaj Bjorner
ec3066c28a
#4532 - arithmetic using SAT for interpreted atoms such as (< 0 0)
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 11:43:32 -07:00
Nikolaj Bjorner
e1a0a2e536
give up on addition subterms in monomial decomposition caused by disabling rewriter.flat seems to be corner case exercised in #4532 .
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 11:43:32 -07:00
Nikolaj Bjorner
69afd9f6bd
formatting
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 11:43:31 -07:00
Nikolaj Bjorner
9bcda408ba
towards closing small domain equality enforcement gap #4515
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 11:43:31 -07:00
Christoph M. Wintersteiger
3776588375
Clarify bit-blasting of fp.neg. Fixes #4466 .
2020-07-08 18:24:08 +00:00
Christoph M. Wintersteiger
c59519bf9c
Add missing FP conversion. Fixes #4470 .
2020-07-08 17:56:25 +00:00
Nikolaj Bjorner
688d38d868
typo
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-07 19:07:26 -07:00
Nikolaj Bjorner
4e77984c57
enable binary string access to unsigned numerals over API #4568
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-07 18:59:20 -07:00
Nikolaj Bjorner
4b346ef693
enable binary string access to unsigned numerals over API #4568
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-07 18:58:42 -07:00
Nikolaj Bjorner
4a8533e41f
enable binary string access to unsigned numerals over API #4568
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-07 18:17:54 -07:00
Nikolaj Bjorner
2d358a9a50
fix #4565
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-06 17:07:37 -07:00
Nuno Lopes
ca97bfb4b8
fix build
2020-07-05 11:44:12 +01:00
Nikolaj Bjorner
006418e027
build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 23:34:21 -07:00
Nikolaj Bjorner
f380d4cf83
mpfx
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 18:25:32 -07:00
Nikolaj Bjorner
74eb401c3b
addrecdef
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 18:18:25 -07:00
Nikolaj Bjorner
51d43c04ea
st
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 17:13:04 -07:00
Nikolaj Bjorner
2bb712c9da
ml
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 17:09:08 -07:00
Nikolaj Bjorner
5ea145ce26
ml
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 17:08:22 -07:00
Nikolaj Bjorner
bf14444f7d
st
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 17:07:07 -07:00
Nikolaj Bjorner
f3b51db891
ml build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 16:22:01 -07:00
Nikolaj Bjorner
d0e20e44ff
booyah
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nikolaj Bjorner
10d0404175
add rec decl/def to ML #4563
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:38:32 -07:00
Lev Nachmanson
62b9630c4b
remove unicode from hnf_cutter.h
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson
7a4eed0216
add comments to hnf_cutter
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson
49e49d6bb6
add comments to hnf_cutter
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson
80a4da9b1d
add comments to hnf_cutter
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson
fff6a94de4
cheap_eqs - fix the build
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson
61da368ee3
cheap_eqs - work on fixed_phase
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson
f4502ff952
cheap_eqs - work on fixed_phase
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson
1695379dc9
cheap_eqs - work on fixed_phase
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson
a1c5cff541
cheap_eqs - work on fixed_phase
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson
29b3f438bc
cheap_eqs - work on fixed_phase
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson
cb3ebac3dd
cleanup lp_bound_propagator.h
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Lev Nachmanson
b996bc1f02
remove cheap equalities with the table
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-07-04 09:33:45 -07:00
Murphy Berzish
e8690d28f8
z3str3: continue instead of incorrectly giving up in solve_regex_automata ( #4556 )
2020-07-03 17:13:27 -05:00
Nikolaj Bjorner
8d3caa00fe
do as Lev does
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-03 13:21:43 -07:00
Nikolaj Bjorner
7802e33f37
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-03 12:22:13 -07:00
Nikolaj Bjorner
5e768c9697
move unused literals under if0
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-03 12:21:20 -07:00
Nikolaj Bjorner
5987d9ae20
cache computing strings and regexes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-02 11:14:29 -07:00
Nikolaj Bjorner
655166b867
randomize generation of 'some value' for user sorts. #4557
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-01 16:34:09 -07:00
Nikolaj Bjorner
d91ca423ab
enforce reference count ownership in context of mk_derivative calls.
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-01 13:13:17 -07:00
Nikolaj Bjorner
d75ce38016
fix #4552
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-30 19:14:55 -07:00
Murphy Berzish
fce1252145
Z3str3: Add consistency checks for string-integer conversion terms in model construction ( #4551 )
...
* z3str3: check consistency of str.to_int in fixed length solver
* z3str3: add similar check for int.to_str as well
* z3str3: refactor string-integer conversion check and add post checks for model construction
2020-06-30 11:20:44 -05:00
Nuno Lopes
8fda4f904d
API: dont deref already free'd memory on error
2020-06-30 15:04:40 +01:00
Nuno Lopes
64f1a759a7
inline api_context::reset_error_code()
2020-06-29 19:14:17 +01:00
pinzaghi
aec8000bda
in check method, as_ast() call fails when True passed as assumption ( #4550 )
2020-06-29 09:59:10 -07:00
Nikolaj Bjorner
eaffe46468
revert debug changes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-28 10:27:47 -07:00
Nikolaj Bjorner
9a642215eb
avoid infinite loop between is-nullable and mk-bool-app
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-28 10:27:47 -07:00
Nikolaj Bjorner
9bc5552ca2
add vcrunime pattern to distribution directive #4542
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-25 08:56:13 -07:00
Nikolaj Bjorner
85cb0293f5
fix #4541
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-24 20:26:59 -07:00
Federico Mora Rocha
8d16a9a034
z3str3: fix Issues 4349, 4354, and 4310 ( #4529 )
...
* regex needs lesson; m.mk_eq not ctx.mk_eq
* when unsat core is of size 0, then do naive learning
* remove two extra comments, and correct positive regex learning
* replace magic numbers for fixed-length lessons with constants
2020-06-24 15:46:32 -05:00
Nikolaj Bjorner
c0fbb31379
use nonse based seed for transition characters
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-24 12:07:37 -07:00
Murphy Berzish
b0633ecc86
Z3str3: safety checks for substr and propagate ( #4528 )
...
* z3str3: handle str.substr arguments missing arith values in model construction safely
* z3str3: reset propagation vectors on scope pop
2020-06-24 12:14:03 -05:00
Nikolaj Bjorner
7f3bdea0d5
unused methods
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-23 19:28:07 -07:00
Nikolaj Bjorner
5d36578684
some unused variables reported by Caleb
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-22 19:04:10 -07:00
Nikolaj Bjorner
8758baf24e
perf and div/mod axioms #4532
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-22 14:51:58 -07:00
Nikolaj Bjorner
38d6771a5e
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-22 12:23:42 -07:00
Lev Nachmanson
6ced6995d0
check for m.get_sort(lhs->get_owner()) == m.get_sort(rhs->get_owner()) in equality propagation
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-22 11:48:46 -07:00
Nikolaj Bjorner
4b6ca6a10c
replace size by data_size
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-22 11:16:36 -07:00
Nikolaj Bjorner
85661c415d
remove ex-act
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-22 09:08:04 -07:00
Nikolaj Bjorner
6a54c0bc04
fix issues reported in #4525
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-21 17:43:05 -07:00
Nikolaj Bjorner
02f34ea4b1
address some crashes reported by Caleb
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-20 18:35:35 -07:00
Lev Nachmanson
6524a70c32
remove un unnecessary call
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
8f588a9263
fix the build
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
b703d2786c
fix the build cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
3bde9f54d8
add some comments cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
115ae8fe14
check for integrality when adding an equality
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
c4fbe05a96
simplify cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
e3503f060f
debug cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
42ed1e62a9
debug cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
2e2e98925a
debug cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
ffaa7d0b27
debug cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
7a2aa28644
make the tree option in cheap_eqs the default
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
525f747e3c
cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
c2cead4fb6
cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
b5fc9635c4
cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
3b00b34c6f
cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
80467f1400
cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
431bb36cf5
cheap_eqs tree
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Lev Nachmanson
f7f9c15676
cheap_eqs tree
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Nikolaj Bjorner
274323b818
fix reset order for #4533
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-19 16:07:45 -07:00
Nikolaj Bjorner
1204671595
fix #4534
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-19 14:10:49 -07:00
Arie Gurfinkel
07a1aea689
fix(spacer): bug in assign_bounds to Farkas conversion
...
The fix is to remove a hack that used a theory rewriter to simplify
the conversion. Now the conversion happens less often than possible.
Will need more thinking to fix properly.
The unsoundness at this point would cause SPACER to generate lemmas
that do not block a proof obligation and then get stuck in an infinite loop
blocking and generating the same lemma.
2020-06-18 21:19:53 -04:00
Nuno Lopes
38d4418f94
simplify string_buffer::append
2020-06-18 19:55:34 +01:00
Nuno Lopes
fdeba2102c
fix deref of free'd memory in mk_fresh_const
2020-06-18 19:25:32 +01:00
Nikolaj Bjorner
3b1149330d
enable theory propagation of regex accept condition
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-17 13:42:40 -07:00
Nikolaj Bjorner
be36a8fd80
fix for SPACER models using bit2bool
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-16 10:45:11 -07:00
Nikolaj Bjorner
48d4d8d7af
fix tracking of bounds
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-15 17:36:20 -07:00
Lev Nachmanson
f882219081
fix a bug in cheap_eqs with table
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-15 13:30:45 -07:00
Lev Nachmanson
09516d74f6
change the default for cheap eqs to table
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-15 13:30:45 -07:00
Lev Nachmanson
d13e584706
simplify the fixed var table
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-15 13:30:45 -07:00
Nikolaj Bjorner
d09e6eccf0
re-enable proofs for qe-lite #3153
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-15 12:03:15 -07:00
Nikolaj Bjorner
395a304262
add optional feature to bound search within ranges
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-14 21:34:54 -07:00
Nikolaj Bjorner
180fb3abf6
tidy
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-14 11:36:09 -07:00
Nikolaj Bjorner
7387fc9dec
avoid some bignum overhead in addmul
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-14 11:20:05 -07:00
Nikolaj Bjorner
53e49eb428
neatify
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-13 15:20:21 -07:00
Nikolaj Bjorner
5ee9edf46b
fix incorrect bound in order-lemma
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-13 14:28:42 -07:00
Lev Nachmanson
23c12b75af
remove a duplicate option gb==grobner
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-13 10:03:19 -07:00
Lev Nachmanson
e5632736d2
review comments
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
fbfcc6796a
fix the build
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
66701de157
fix the test build
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
06826adec3
fix the race in add_var_bound and add_def_constraint
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
fe0e042e40
move m_fixed_var_table to lar_solver
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
3b87cdfd0f
remove the debug output
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
67eaff4490
testing cheap equalities
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
6c115bf896
cheap eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
94263167ec
cheap eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
50b9915c57
avoid big nums in is_offset_row in cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
713eb6319d
fix
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
1587497562
cheap equalities
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
ccc8651800
cheap eqs on table
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
b3bdce7837
make lp_bound_propagator a field of theory_lra::imp
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
dd30b5e3af
some simplifications in cheap eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
4de38d09e2
cheap eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
4f0bd93124
debug cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
110ab5e6ef
debug cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
9c078c6d59
relaxing asserts in column_to_reported_index
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
6a678fd5be
rename in lar_solver and memory corruption bug in cheap_eq
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
4936ace7cd
more guards on cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
0ff18dd5a7
a small example passing with cheap eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
54921d08dc
cheap_eq debug
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
4a9f031502
cheap_eqs progress
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
62bd19242e
replace graph by a tree in cheap_eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
5d3070bc2d
implement graph integrality
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
1e4e887221
propagate cheap eqs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Nikolaj Bjorner
865dfe0590
own refs
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-12 17:07:06 -07:00
Jack Yao
55cd1e996c
add sat option for doing a global simplification before the bounded search and the main CDCL search loop. The option is also used for the sat-preprocess tacitc ( #4514 )
...
Co-authored-by: rainoftime <rainoftime@gmail.com>
2020-06-12 16:45:50 -07:00
Nikolaj Bjorner
41430cd128
register unhandled expressions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-12 16:12:24 -07:00
Nikolaj Bjorner
2613f74baa
fix #4494
2020-06-11 00:05:19 -07:00
Nikolaj Bjorner
5a2b6d9c92
bounds on loop expressions
2020-06-11 00:04:41 -07:00
Nikolaj Bjorner
b0da5409c1
substitute into non-ground regexes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 14:58:25 -07:00
Nikolaj Bjorner
bac4726531
remove redundant method
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 14:40:17 -07:00
Nikolaj Bjorner
571e345d07
add mkStringSort
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 14:39:02 -07:00
Nikolaj Bjorner
e3d45b9850
refcount leaks
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 14:19:26 -07:00
Nikolaj Bjorner
4fdfc65b37
tune seq rewriting
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 13:30:39 -07:00
Nikolaj Bjorner
08cc5bc2e5
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-09 11:39:26 -07:00
calebstanford-msr
1fd567d1e9
fix bug in seq rewriter op_cache::find ( #4509 )
...
* remove unneeded reverse case in derivative; placeholder for generalized lifted derivative
* experimental tweaks to RE rewriter to improve performance
* if-then-else lifting
(broken code -- preserving this commit in case this idea is useful later)
* if-then-else derivative optimizations: new approach templates
* implement if-then-else BDD normal form for derivatives
(code compiles but is still buggy)
* remove std::cout debugging for PR
* Revert "remove std::cout debugging for PR"
This reverts commit c7bdc44d31
.
* debugging
* fix derivative interaction with reverse; add flags for left/right derivative and lifting over union/intersection
* remove debugging statements for PR
* Revert "remove debugging statements for PR"
This reverts commit 38e85a7288
.
* revert some purely cosmetic changes from upstream; fix a bug
* revert unnecessary changes
* remove some redundant rewrites and add a new one for str.in_re(s, comp(r))
* add disabled rewrite for complement
* fix bug in op cache find (result was not saved)
* remove debugging std::cout for PR
2020-06-09 11:36:31 -07:00
Nuno Lopes
ec1e733ef2
fix crash in qe_array ref counting due to wrong assignment operator of ptr_vector being called
...
thanks to Arie Gurfinkel for reporting this
2020-06-09 10:02:27 +01:00
Nikolaj Bjorner
5f9973d8c4
fix #4508
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-07 16:28:53 -07:00
Nikolaj Bjorner
d2a12f6db5
tuning
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-07 12:52:13 -07:00
FabianWolff
cfed69caae
Remove __DATE__ to make the build more reproducible ( #4505 )
2020-06-07 12:28:39 -07:00
Nuno Lopes
1809ee5107
fix regression in FPA internalization
2020-06-07 15:50:53 +01:00
Nikolaj Bjorner
ba1ca33637
normalization of union/intersection
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-06 12:54:44 -07:00
Nikolaj Bjorner
ccea27de35
add nullable propagation instead of waiting for length assignment
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-06 12:11:04 -07:00
Nikolaj Bjorner
65b6ccd651
add nullable propagation instead of waiting for length assignment
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-06 11:32:43 -07:00
Nikolaj Bjorner
1b9fcc7098
integrate ite-normalized derivatives
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-05 17:28:48 -07:00
Nikolaj Bjorner
4dbf7b183d
inline conditions with derivative computation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-05 13:51:31 -07:00
Nikolaj Bjorner
a32fabf5ee
fix #4403
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-05 13:51:31 -07:00
Nikolaj Bjorner
59e388ece1
handle bind proof constructor and print lambda
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 11:59:59 -07:00
Nikolaj Bjorner
e52eed325c
close #4450
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 09:22:38 -07:00
Nikolaj Bjorner
57086edc42
close #4432
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 03:06:58 -07:00
Nikolaj Bjorner
f999c14a1e
close #4429
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 01:33:28 -07:00
Nikolaj Bjorner
278e004385
fix #4428 , and then there were none, almost
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 01:28:26 -07:00
Nikolaj Bjorner
80d5d66158
handling cancelation #4425
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 01:12:04 -07:00
Nikolaj Bjorner
9f8887cc2e
throw from push #4425
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 01:05:23 -07:00
Nikolaj Bjorner
b013df9a9f
fix #4431
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 00:47:27 -07:00
Nikolaj Bjorner
b29d5f9b5d
fix #4436
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 21:21:01 -07:00
Nikolaj Bjorner
9ca5b3f304
fix #4449
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 21:10:07 -07:00
Nikolaj Bjorner
cbf089e10d
fix #4448
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 19:41:25 -07:00
Nikolaj Bjorner
ae2f0ca85b
fix #4448
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 19:40:26 -07:00
Nikolaj Bjorner
743573aac5
fix #4447 , or mask it
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 19:32:05 -07:00
Nikolaj Bjorner
af90992858
fix #4404
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 17:01:36 -07:00
Nikolaj Bjorner
f986ae97bd
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 15:12:08 -07:00
Nikolaj Bjorner
d50fc6976b
fix #4430
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 13:47:59 -07:00
Andrew V. Jones
9fac010d8e
Fixing build errors when building test-z3 ( #4496 )
...
Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
2020-06-03 13:34:43 -07:00
Nuno Lopes
e844aef896
remove a few more copy constructors, though still not enough to enable the assertion in vector
...
I give up for now; there are too many copies left for little return..
2020-06-03 20:32:13 +01:00
Nikolaj Bjorner
e2b2b7f82e
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 12:29:29 -07:00
Nikolaj Bjorner
3a7df2c6ef
fix various nullability checks in seq_regex
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 12:28:32 -07:00
Nikolaj Bjorner
377dbad3b9
fix #4435
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:27:08 -07:00
Nikolaj Bjorner
8ae42b5ae1
fix #4433
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:23:26 -07:00
Nikolaj Bjorner
f5cd4e3ac0
janitor services
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:15:55 -07:00
Nikolaj Bjorner
38176256c4
fix #4434
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:12:49 -07:00
Nikolaj Bjorner
6e47499e26
fix #4434
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 10:09:18 -07:00
Andrew V. Jones
a23ca1792b
Ensure that Z3 uses the correct SMT-LIB2 syntax for push
and pop
( #4495 )
...
* When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'push'
Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
* When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'pop'
Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
2020-06-03 09:35:14 -07:00
Nikolaj Bjorner
0bc33e9c9d
correct the type returned by mkNth #4454
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 09:10:58 -07:00
Nuno Lopes
7ac2791482
remove a bunch of constructors to avoid copies
...
still not enough to guarantee that vector::expand doesnt copy (WIP)
2020-06-03 17:09:27 +01:00
Nuno Lopes
98b5abb1d4
buffer: require a move constructor to avoid copies
...
remove unneded copy constructors from several classes
2020-06-03 11:57:49 +01:00
Nuno Lopes
3d98bccc33
fix mem leak in buffer and remove copies in interval ( #4458 )
2020-06-03 10:26:00 +01:00
Nikolaj Bjorner
04829e6b7a
fix #4437 , not really interesting bug as debug assertion is really for non-interrupted flow
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 18:41:26 -07:00
Nikolaj Bjorner
df75792e9c
fix #4454
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 18:35:38 -07:00
Nikolaj Bjorner
3f2dafe047
fix $4457
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 18:32:01 -07:00
Nikolaj Bjorner
d3e20d41b2
fix $4457
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 18:31:28 -07:00
Nikolaj Bjorner
f645ef7677
fix #4461
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 18:08:42 -07:00
Nikolaj Bjorner
bfb5c95b9a
use op-cache for is-nullable
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 13:30:18 -07:00
Nikolaj Bjorner
e388055a33
connecting op-cache
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 13:13:32 -07:00
Nikolaj Bjorner
320cd81140
fix #4476
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 13:00:55 -07:00
Nikolaj Bjorner
4ef480e2a5
add op cache
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 12:52:42 -07:00
Nuno Lopes
023b630b5a
remove unused class fields in BV theory
2020-06-02 16:36:38 +01:00
Nuno Lopes
b9ecf2512f
more tweaks to BV internalizer & remove dead code
2020-06-02 15:26:57 +01:00
Lev Nachmanson
742be83503
Lpbounds ( #4492 )
...
* remove inheritance from bound propagation
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* less inheritance
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* less inheritance
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-02 01:00:06 -07:00
Nikolaj Bjorner
29ce22cfb1
fix #4493 , use standard model evaluation for variables that have not been regiestered with solver (e.g., they are non-shared and unconstrained)
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 00:57:49 -07:00
Nikolaj Bjorner
48f07932f7
reset zero before resetting nlsat #4493b
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-02 00:40:54 -07:00
Nikolaj Bjorner
2da7a8dd70
fix #4491
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-01 20:12:41 -07:00
Murphy Berzish
99f20c59e4
Merge pull request #4490 from mtrberzi/issue4486
...
z3str3: construct proper cex for str.at model construction
2020-06-01 20:06:51 -05:00
Nikolaj Bjorner
7343783efe
finetune
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-01 15:40:02 -07:00
Nikolaj Bjorner
8849cef4b7
add stub for equality propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-01 15:33:52 -07:00
Murphy Berzish
f395c8643c
z3str3: construct proper cex for str.at model construction
2020-06-01 14:55:44 -04:00
Nuno Lopes
e079af9d0d
add context::internalize() API that takes multiple expressions at once ( #4488 )
2020-06-01 11:51:39 -07:00
Andrew V. Jones
e634f2987c
Ensuring correct 'set' call is used when setting 'smtlib2_log' ( #4487 )
...
Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
2020-06-01 10:55:48 -07:00
trinhmt
48a2d3d5b6
fix #4481 ( #4484 )
2020-06-01 09:02:50 -07:00
Lev Nachmanson
c967b4aead
more efficient patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
c355ee025a
fix bugs in patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
e7bb8e57cb
fixes in patch blocking
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
4728a1fb0c
fix in cautious remove_basis
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
a6040a1f3d
cautious remove_basis
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
91d9b0319e
toward full patching in nl
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
c58bd3105b
adding more aggressive patching in nl
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
6a5579341d
add restore_patched_values
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
47d5515b78
change try_patch to a template
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
4b76e213a5
move declarations closer to usage
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
9b7f97fab9
change try_patch to a template
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
a53ed5bddd
change try_patch to a template
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
2de79be31b
change try_patch to a template
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
b84585beeb
more aggressive patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
e5503cdc65
change try_patch to a template
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
2710afbea1
change try_patch to a template
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Lev Nachmanson
18016a7100
rename
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-31 20:20:49 -07:00
Nikolaj Bjorner
c424165d94
block deep based on condition for internalization #4192
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-31 13:31:16 -07:00
Nikolaj Bjorner
7d4c9e6126
fix #4480
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-31 12:40:04 -07:00
Nikolaj Bjorner
084cd335eb
add (disabled) stubs for decomposing re-membership on regex
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-31 12:25:21 -07:00
Nikolaj Bjorner
7f7663a3b4
fix #4478
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-31 11:16:21 -07:00
Nuno Lopes
31e75d1401
minor simplifications
2020-05-31 13:26:27 +01:00
Nikolaj Bjorner
d372af4782
add stub for cheap equality propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-30 15:36:27 -07:00
Nuno Lopes
6a45c5d17c
fix build with prehistorical compilers because of pip/manylinux
2020-05-30 11:42:27 +01:00
Nikolaj Bjorner
ce4e1d3cbb
fresh index
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 19:54:50 -07:00
Nikolaj Bjorner
c92a63690d
enable parsing (_ char ..)
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 17:47:24 -07:00
Nikolaj Bjorner
d41ecda03e
skip non-overlap simplification in rewriter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 17:27:54 -07:00
Nikolaj Bjorner
e68c72755a
fix leak
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 14:49:53 -07:00
Nikolaj Bjorner
f381d51c83
update badge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 14:04:12 -07:00
calebstanford-msr
c939195c10
add regex support for reverse and left/right derivative rewriting ( #4477 )
...
* partial work on adding 'reverse' (broken code)
* new op codes for derivative and reverse + associated rewrite rules
* incorporate reverses and derivatives in rewriter + some fixes
* enable rewriting str.in_re constraints with right derivative
2020-05-29 13:00:37 -07:00
Nikolaj Bjorner
3d9d52f742
add detection of string equalities
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-29 10:40:47 -07:00
Nikolaj Bjorner
e0130f5cf4
remove Kleene naming as it is a misnomer in this context
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 20:41:03 -07:00
Nikolaj Bjorner
0911a06d81
bounds
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 20:05:32 -07:00
Nikolaj Bjorner
ea1f50b77e
simplify extended contains patterns
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 19:11:29 -07:00
Nikolaj Bjorner
6a90072a98
bug in non-member disjunction
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 12:03:40 -07:00
Nikolaj Bjorner
220b8afd97
m is now an attribute on theory_smt
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 10:36:51 -07:00
Nikolaj Bjorner
6d17c656bd
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-28 10:32:38 -07:00
trinhmt
4aa1e60daa
fix branch_variable() ( #4472 )
...
* fixed branch_variable()
* add docs
2020-05-28 10:21:50 -07:00
Murphy Berzish
e9eec5349d
z3str3: improve vector handling in simplify_parent ( #4413 )
2020-05-28 09:59:42 -07:00
Murphy Berzish
882777fc1d
z3str3: track the scope of library-aware terms for axiom setup ( #4420 )
2020-05-28 09:59:28 -07:00
Murphy Berzish
3b0c8a7ff9
fix logic for disabling theory case split heuristic ( #4397 )
2020-05-28 09:57:44 -07:00
Murphy Berzish
71ea7287bb
z3str3: detect and give up when symbolic automaton construction fails ( #4384 )
...
typically this will happen due to non-constant terms in a RegLan expression
2020-05-28 09:57:33 -07:00
Murphy Berzish
ccebd4db59
z3str3: allow leading zeroes in str.to_int ( #4381 )
2020-05-28 09:57:22 -07:00
Murphy Berzish
f3b2a082ae
z3str3: make counterexamples less naive, and check regex membership more efficiently ( #4358 )
...
* z3str3: make counterexamples less naive, and check regex membership more efficiently
* z3str3: construct even better counterexamples for regex membership
2020-05-28 09:57:08 -07:00
Nikolaj Bjorner
56bf4c144b
fix #4471
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 14:19:59 -07:00
Nikolaj Bjorner
f0178a87f5
remove old README
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 14:04:43 -07:00
Nikolaj Bjorner
90708576fe
from #4468
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 14:04:30 -07:00
Nikolaj Bjorner
87f8da022e
fix non-empty -> empty typo
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 12:13:25 -07:00
Nikolaj Bjorner
dbd90e5f86
dbg proagate_eq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 10:33:45 -07:00
Nikolaj Bjorner
9dd8ebb474
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-27 10:10:25 -07:00
Nikolaj Bjorner
94ffd63b51
change to iterative unfolding left build broken for some time
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 21:25:53 -07:00
Nikolaj Bjorner
9764007c97
lorem ipsum
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 20:55:02 -07:00
Nikolaj Bjorner
0c2c1861f1
add general purpose emptiness/non-emptiness check
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 20:50:18 -07:00
Nikolaj Bjorner
88e36c6bf3
add general purpose emptiness/non-emptiness check
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 20:42:21 -07:00
Nikolaj Bjorner
33cdc06eb4
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 13:37:49 -07:00
Nikolaj Bjorner
a1991d803f
add some notes to regex
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 13:30:52 -07:00
Nikolaj Bjorner
5e79eb62fd
add some notes to regex
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-26 13:30:52 -07:00
Lev Nachmanson
9336e823ed
make propagating on bounds on monomials and calling nra the default options
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-26 12:44:47 -07:00
Lev Nachmanson
52fdb4d291
fix issue https://github.com/Z3Prover/z3/issues/4438
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-26 12:44:47 -07:00
Lev Nachmanson
caa384f6c9
make m_inf_set private and cosmetic improvements in nla patching
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-26 12:44:47 -07:00
Nuno Lopes
d8cea7c8d5
fix a few warnings & simplify debug.h header
2020-05-26 13:49:13 +01:00
Nikolaj Bjorner
a97bc65af4
hoist co-factors eagerly without adding axioms
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-25 15:10:45 -07:00
Nikolaj Bjorner
e938ee33bb
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-25 14:11:59 -07:00
Nikolaj Bjorner
4e01d5b5c1
tune axioms for derivatives
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-25 14:11:59 -07:00
Lev Nachmanson
97b480ded3
Expl ( #4462 )
...
* cleaner API for explanation
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* remove an unnecessery check
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* expl
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-24 17:06:39 -07:00
Nikolaj Bjorner
d6ad371934
avoid div/mod axioms on 0
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-23 16:37:40 -07:00
Nuno Lopes
7a12cebd41
remove unused file
2020-05-24 00:10:40 +01:00
Nikolaj Bjorner
24df35a83e
guard derivative code
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-23 16:02:10 -07:00
Nikolaj Bjorner
eb3f20832e
initial pass at using derivatives in regex unfolding
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-23 11:53:07 -07:00
Nuno Lopes
903725314c
fix gcc 9/10 warnings
2020-05-23 16:39:09 +01:00
Nikolaj Bjorner
d1d14111cb
turn on Unicode parsing when they fit in 8 bits
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-22 10:41:19 -07:00
Hari Govind V K
b7d7ff38cb
bug fix. Handle unknown without model ( #4443 )
2020-05-22 10:12:42 -07:00
Nikolaj Bjorner
9eedd4ecd6
gate mk_bool_app by existence of regex
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-22 10:09:16 -07:00
Nikolaj Bjorner
82fb7573d7
more rewrites for emptiness
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-22 09:56:21 -07:00
Margus Veanes
5d6be3f17f
adding regex simplification rewriter ( #4440 )
2020-05-22 09:55:29 -07:00
Nikolaj Bjorner
18bb90f93d
fix #4426
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-21 21:27:26 -07:00
Nikolaj Bjorner
9da0b61d30
na
2020-05-21 21:04:48 -07:00
Nikolaj Bjorner
131dfc2101
na
2020-05-21 21:04:48 -07:00
Nikolaj Bjorner
ce1fd26b19
#4424
2020-05-21 21:04:48 -07:00
Nikolaj Bjorner
698d300511
na
2020-05-21 21:04:48 -07:00
Nikolaj Bjorner
5307797c32
#4424
2020-05-21 21:04:48 -07:00
Nikolaj Bjorner
4c9517260c
#4427
2020-05-21 21:04:48 -07:00
Hari Govind V K
ed92b8437c
fix #4054 ( #4277 )
...
* flag when quantified lemmas are added to smt_context
* When solver returns unknown but cannot create child, return unknown
* handle unknowns when qlemmas and weak_abs are turned on
2020-05-21 09:58:09 -07:00
Lev Nachmanson
bfd2407e0f
Debug ( #4415 )
...
* fix it explanation.h
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* fix explanation.h
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* add options to run bound propagation on monomials etc.
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-05-21 09:55:01 -07:00
Nikolaj Bjorner
1729232254
fix #4414
2020-05-20 14:28:41 -07:00
Nikolaj Bjorner
f2d3160181
try different field order for Mac build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-20 01:06:56 -07:00
Nikolaj Bjorner
1dcbde4ecb
fix #4401
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 19:55:39 -07:00
Nikolaj Bjorner
6381cfdc05
remove old functionality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 16:34:21 -07:00
Nikolaj Bjorner
209f6a9e2e
regression free behavior
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 16:21:19 -07:00
Nikolaj Bjorner
287bccde30
disable new incomplete functionality for master
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 15:56:57 -07:00