3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-18 06:39:02 +00:00
Commit graph

2498 commits

Author SHA1 Message Date
Nikolaj Bjorner b40c2b2926 fix #876
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-10 14:11:00 -08:00
Nikolaj Bjorner 68ace83893 remove enable trace
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-10 07:34:56 -08:00
Nikolaj Bjorner f2a7bcaf5d remove prints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-09 14:38:45 -08:00
Nikolaj Bjorner 604e5dd0bb fixing #2030
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-09 12:56:21 -08:00
Bruce Mitchener 51a947b73d Change how 64 bit builds are detected.
Instead of doing this at configure time, we look at the actual
compile time status. This also avoids hardcoding checks based on
what CPU architecture is present, which doesn't work when Z3 is
being built on non-x86_64 platforms.
2018-12-09 16:16:20 +07:00
Nikolaj Bjorner 559f57470e fix #2031
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-09 08:21:48 +01:00
Nikolaj Bjorner 38b5e6de56 fix #2019 - insufficient axioms for special cases
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-08 13:57:35 +01:00
Nikolaj Bjorner a20e68facc throttel extract/ite rewriting to avoid perf-bug exposed in example from Lucas Cordeiro and Alessandro Trindade
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-07 17:54:49 +00:00
Nikolaj Bjorner 9635ddd8fc fix #2018
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-05 00:54:10 -08:00
Nikolaj Bjorner 9e5aaf074e perf improvements for #1979
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-04 10:13:55 -08:00
Nils Becker 0870760eb5 logging meaning of theory specific constants 2018-12-03 22:41:59 +01:00
Nikolaj Bjorner ea0d253308 fix const-char test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-03 11:56:20 -08:00
Nikolaj Bjorner 226497e530 Merge branch 'master' of https://github.com/z3prover/z3 2018-12-03 08:45:28 -08:00
Nikolaj Bjorner 2aa7ccc4a9 hide bit-vector dependencies under seq_util
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-03 08:45:17 -08:00
nilsbecker 988e8afc2e support for logging congruence closure equality explanations when commutativity is used 2018-12-03 13:50:48 +01:00
Bruce Mitchener 2faf5ef995 Remove unused iPos.
This was incremented, but never actually used, so remove it.
2018-11-30 23:13:22 +07:00
Bruce Mitchener c51caad5ad Remove duplicate initialization of a sort variable. 2018-11-30 23:12:55 +07:00
Bruce Mitchener bcfa8045fa Sink some values into loops.
This removes some dead stores that happen prior to the loop and
ensure that no one is looking at the values outside of the
loop.
2018-11-30 23:12:21 +07:00
Bruce Mitchener 3149d7f7a4 Fix typos. 2018-11-30 22:19:30 +07:00
Nikolaj Bjorner 3db73e442c reset max unfolding literal on backtrack
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-29 21:04:43 -08:00
Bruce Mitchener 6567698199 Fix initialization order on theory_seq. 2018-11-30 08:10:49 +07:00
Nikolaj Bjorner 1d4d95aea2 fix #1989
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-29 16:10:02 -08:00
Nikolaj Bjorner 67f22d8d65 improving performance for length constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-29 11:32:52 -08:00
Nikolaj Bjorner e96f9de70b perf #1988
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-29 06:02:32 -08:00
Nikolaj Bjorner 8248ec879e fix qsat destructor memory allocation #1948
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-28 15:35:46 -08:00
Nikolaj Bjorner 45dd820b6c Merge branch 'master' of https://github.com/z3prover/z3 2018-11-28 13:50:40 -08:00
Nikolaj Bjorner 5dc1337476 fix #1984 - already fixed in private branch, but wasn't propagated to master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-28 13:49:53 -08:00
Nikolaj Bjorner 3fe9b76fe5
Merge pull request #1986 from mtrberzi/issue1908
Z3str3: correct str.replace semantics
2018-11-28 13:15:39 -08:00
Murphy Berzish e76e501216 Z3str3: correct str.replace semantics 2018-11-28 14:42:19 -05:00
Bruce Mitchener b83d6d77c9 Use nullptr rather than 0/NULL. 2018-11-28 14:57:01 +07:00
Nikolaj Bjorner 5df29daa35
Merge pull request #1972 from waywardmonkeys/use-vector-empty
Prefer using empty rather than size comparisons.
2018-11-27 10:39:34 -08:00
Nikolaj Bjorner 2b34e4f738 fix #1968
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-27 10:36:03 -08:00
Bruce Mitchener e570940662 Prefer using empty rather than size comparisons. 2018-11-27 21:42:04 +07:00
Nikolaj Bjorner 503bedbc7a fix #1967:
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-26 21:12:47 -08:00
Nikolaj Bjorner e026f96ed4 code review updates for #1963
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-25 14:30:30 -08:00
Nikolaj Bjorner abfb9989b6
Merge pull request #1963 from Nils-Becker/master
Logging Improvements for the Axiom Profiler
2018-11-25 14:25:35 -08:00
Nikolaj Bjorner 88fd088a09 conditional flattening
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-25 14:15:10 -08:00
Nikolaj Bjorner 16be5b0e7d fix #1816 - m_parent_selects gets updated while accessing an interator, fix is to rely on the size of the vector for iteration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-25 14:04:17 -08:00
nilsbecker b57a483a6c using obj_hashtable instead of unordered_set as suggested by Nikolaj 2018-11-25 22:50:14 +01:00
nilsbecker 165b256d32 ensure equalities between terms bound to quantified variables are always logged 2018-11-25 20:34:25 +01:00
nilsbecker 1e4f524a22 Merge branch 'master' of https://github.com/Z3Prover/z3 2018-11-25 16:58:09 +01:00
Nikolaj Bjorner 074ed0d874 fix warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-24 17:39:19 -08:00
Nikolaj Bjorner 32df9b1155 mac build errors
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-24 17:34:53 -08:00
Nikolaj Bjorner 96043216e5 fix unsound unfolding
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-24 17:25:56 -08:00
Nikolaj Bjorner 6ddbc9cd38 overhaul of regular expression membership solving. Use iterative deepening and propagation, coallesce intersections
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-24 15:26:39 -08:00
Nikolaj Bjorner d61d9d4ce3 remove reject states
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-24 11:06:51 -08:00
Nikolaj Bjorner 33eb82c25a remove prefix2prefix, fix #1566
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-23 23:36:47 -08:00
Nikolaj Bjorner 069949a576 fix model construction for semantics of itos
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-23 22:30:13 -08:00
Nikolaj Bjorner 20a28af225 fix stoi/itos axiom replay
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-23 21:42:48 -08:00
Nikolaj Bjorner d55af41955 constrain lengths
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-23 19:54:34 -08:00
Nikolaj Bjorner 88fb826a03 overhaul stoi and itos to fix #1957 and related
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-23 18:50:20 -08:00
Nikolaj Bjorner 801026937d fix #1846
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-23 13:49:09 -08:00
Nikolaj Bjorner 8d940f64b8 fix build regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-23 10:57:07 -08:00
Nikolaj Bjorner f591e0948a fix #1841
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-22 15:28:33 -08:00
Nikolaj Bjorner 90070fda95 fix #1959
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-20 20:17:09 -08:00
Nikolaj Bjorner c95dbb47a3 fix #1958
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-20 16:43:37 -08:00
Nikolaj Bjorner 7016d94d59 fix #1956
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-20 11:30:44 -08:00
Bruce Mitchener 56bbed173e Remove usages of Z3_TRUE / Z3_FALSE.
Now that this is all using stdbool.h, we can just use true/false.

For now, we leave the aliases in place in z3_api.h.
2018-11-20 00:25:37 +07:00
Nikolaj Bjorner d400929d9a fix #1945
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-18 08:56:30 -08:00
Bruce Mitchener 1082fad27a Fix typos. 2018-11-11 22:21:43 +07:00
Nikolaj Bjorner f699ac0353 fixing bugs uncovered by repro in #1914
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-05 13:54:23 -08:00
Nikolaj Bjorner cf4bf7b591 more consistent use of parallel mode when enabled, takes care of example test from #1898 that didn't trigger parallel mode
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-02 18:44:53 -05:00
Nikolaj Bjorner d9e77ba443 fix model extraction for 0-ary recursive function declarations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-01 09:55:27 -05:00
Nikolaj Bjorner 2a6fa4af39 deal with compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-31 16:30:42 -05:00
Nikolaj Bjorner 0f0287d129 prepare release notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-28 17:42:16 -05:00
Nikolaj Bjorner 43d9159a74 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-27 16:20:39 -05:00
Nikolaj Bjorner 80acf8ed79 add recfuns to model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-27 13:26:32 -05:00
Nikolaj Bjorner 51a0022450 add recfun to API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-27 11:41:18 -05:00
Nikolaj Bjorner c5cbf985ca na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-26 10:11:03 -05:00
Nikolaj Bjorner 67077d960e working with incremental depth
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-23 14:16:07 -07:00
Nikolaj Bjorner 184ae7211e fix #1897
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-23 10:00:57 -07:00
Nikolaj Bjorner aa6e1badf2 recfun
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-23 08:16:26 -07:00
Nikolaj Bjorner 5c80b142c5 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-22 07:22:58 -07:00
Nikolaj Bjorner 66f2a7636b depth
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-22 04:59:51 -07:00
Nikolaj Bjorner cd9c752834 guard
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-21 20:46:12 -07:00
Nikolaj Bjorner b5676413e4 recfun
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-21 18:25:27 -07:00
Nikolaj Bjorner ccca063e54 Merge branch 'master' of https://github.com/Z3Prover/z3 into csp 2018-10-21 12:26:53 -07:00
Nikolaj Bjorner 6e41b853f7 remove case-pred and depth-limit classes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-21 12:25:57 -07:00
nilsbecker c73147d8fa logging checks that can be omitted when GET_CGR is used 2018-10-20 17:24:08 +02:00
Florian Pigorsch 326bf401b9 Fix some spelling errors (mostly in comments). 2018-10-20 17:07:41 +02:00
Nikolaj Bjorner eb15f8249a fix backtrack
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-19 21:01:25 -07:00
Nikolaj Bjorner 936312cfd2 fix location of research
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-18 18:15:35 -07:00
Nikolaj Bjorner 2d4a5e0a5e n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-18 18:07:04 -07:00
Nikolaj Bjorner c0556b2f64 iterative deepening per recursive function
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-18 17:53:11 -07:00
Nikolaj Bjorner 35eb6eccd1 iterative deepening
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-18 17:14:10 -07:00
Nikolaj Bjorner d22a0d04ed n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-18 10:01:32 -07:00
Nikolaj Bjorner 2f5f546990 ctx
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-18 09:02:20 -07:00
Nikolaj Bjorner bd53fa801e handle case input format
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-17 21:42:18 -07:00
Nikolaj Bjorner 8a9837a8b5 more refinements for recfun
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-17 10:02:56 -07:00
Nikolaj Bjorner 48cdd12a47 cleanup
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-17 05:56:04 -07:00
Nikolaj Bjorner 9dd9d5e18a more integration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-17 05:22:43 -07:00
Nikolaj Bjorner c7d0d4e191 add c-cube's recursive function theory
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-17 04:56:58 -07:00
Nikolaj Bjorner 40ea00be4b
Merge pull request #1884 from janisozaur/const-ret
Remove superfluous const from returned types
2018-10-16 17:05:18 -07:00
Michał Janiszewski 844f400a62 Remove superfluous const from returned types 2018-10-16 19:30:48 +02:00
Michał Janiszewski cfd0486582 Catch exceptions by const-reference
Exceptions caught by value incur needless cost in C++, most of them can
be caught by const-reference, especially as nearly none are actually
used. This could allow compiler generate a slightly more efficient code.
2018-10-16 19:16:07 +02:00
Nikolaj Bjorner e9d615e309 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-14 15:16:22 -07:00
nilsbecker 91dd01d6ff Merge branch 'master' of https://github.com/Z3Prover/z3 2018-10-09 16:42:30 +02:00
nilsbecker 547fbd4764 avoid rechecking whether equality explanations are already logged 2018-10-09 16:42:10 +02:00
Nikolaj Bjorner 44a0dbbc61 fix #1864
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-06 08:06:51 -07:00
nilsbecker a0f6447a33 logging which theory added constraints 2018-10-05 13:58:22 +02:00
Nikolaj Bjorner a549e73b86 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-04 13:43:01 -07:00
Nikolaj Bjorner fd9fd52271 fixing #1847
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-02 17:13:46 -07:00
Murphy Berzish b2f0051114 Merge remote-tracking branch 'upstream/master' into refactoring-arith 2018-10-02 12:38:40 -04:00
Murphy Berzish 39fbf1e174 Z3str3: don't use arith_value::get_value in get_arith_value 2018-10-02 12:28:53 -04:00
Kirill Bobyrev a376a8d343 [NFC] Cleanup arith_eq_solver.(cpp|h)
Use for-range loops instead of for-index loops where possible, remove
trailing whitespaces.

This patch does not affect functionality.
2018-10-02 16:14:01 +03:00
Nikolaj Bjorner 620c5d1d81
Merge pull request #1850 from Nils-Becker/master
adding call to update_max_generation
2018-10-01 21:49:14 -07:00
Nikolaj Bjorner 2cf6ada38e
Merge pull request #1856 from waywardmonkeys/minor-fixes
Minor fixes
2018-10-01 20:46:27 -07:00
Nikolaj Bjorner c84182b42a
Merge pull request #1859 from waywardmonkeys/for-range-copy
Avoid unnecessary copies in for-range loops.
2018-10-01 20:44:52 -07:00
Nikolaj Bjorner 7082d85115
Merge pull request #1860 from waywardmonkeys/modernize-use-override
Use 'override' where possible.
2018-10-01 20:43:56 -07:00
Bruce Mitchener 6d2936e5fc watch_list: Fix indentation. 2018-10-02 10:43:00 +07:00
Bruce Mitchener 1067a5363f theory_lra: Remove unused variable. 2018-10-02 10:42:54 +07:00
Bruce Mitchener 7bc283b84e Avoid unnecessary copies in for-range loops. 2018-10-02 10:38:41 +07:00
Bruce Mitchener 373b691709 Use 'override' where possible. 2018-10-02 10:26:38 +07:00
Nikolaj Bjorner 096a6c088d Merge branch 'master' of https://github.com/z3prover/z3 2018-10-01 19:32:52 -07:00
Nikolaj Bjorner bb979a194e remove unused return value of mk_enode following #1856
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-01 19:32:44 -07:00
Bruce Mitchener cdfc19a885 Use nullptr. 2018-10-02 09:11:19 +07:00
Murphy Berzish 03d9047490 Merge remote-tracking branch 'upstream/master' into refactoring-arith 2018-10-01 17:51:12 -04:00
Nikolaj Bjorner aaba1b9b15 fix sort retrieval for lambdas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-01 09:18:40 -07:00
nilsbecker c92c431570 adding call to update_max_generation 2018-10-01 16:32:04 +02:00
Nikolaj Bjorner af41255a9d fix regression in model generation for UFLRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-25 10:00:13 -07:00
Nikolaj Bjorner 38c6429184
Merge pull request #1838 from NikolajBjorner/master
remove offsets from terms to fix cut generation
2018-09-21 17:03:42 -07:00
Nuno Lopes 0b7918c52e remove spurious pragma 2018-09-21 09:37:36 +01:00
Nikolaj Bjorner d75b6fd9c1 remove offsets from terms
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-20 11:06:05 -07:00
Nikolaj Bjorner 3c553c17e8 fix dump utility for cuts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-19 14:32:56 -07:00
Nikolaj Bjorner ed19af4c4e merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-19 09:02:37 -07:00
Lev ca3ce964ce work on Gomory cut
Signed-off-by: Lev <levnach@hotmail.com>
2018-09-18 13:34:05 -07:00
Murphy Berzish 144b72244e clean up pragmas, Z3str3 refactoring 2018-09-18 16:11:47 -04:00
Murphy Berzish 7e419137b1 Z3str3: refactor regex automata to subroutine, use arith_value 2018-09-17 16:13:34 -04:00
Nikolaj Bjorner 1a3fe1edd3 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-16 13:43:38 -07:00
Nikolaj Bjorner 286126dde9 fix #1828, add self-contained utility to extract arithmetical values for use in theory_seq and theory_str and other theories that access current values assigned to numeric variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-16 13:31:37 -07:00
Nikolaj Bjorner 78950fde17 initialize solver before parse is invoked. Fixes issue reported by Selsam
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-13 19:05:45 -07:00
Nikolaj Bjorner 6ea4aff622 add validation code for cuts, fix missing unit propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-13 10:47:50 -07:00
Nikolaj Bjorner 4ffd860375 narrowing incorrect lemma generation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-11 11:31:19 -07:00
Nikolaj Bjorner 3bf072557e disable branches when arguments are non-integral #1824
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-11 04:14:28 -07:00
Nikolaj Bjorner b1423e17a1 Merge branch 'master' of https://github.com/z3prover/z3 2018-09-11 03:14:41 -07:00
Nikolaj Bjorner 36a14a354a disable dotnet in ci script. It seems to get turned on even if dotnet bindings are not requested
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-11 03:14:31 -07:00
Lev Nachmanson da20d949c6
Merge pull request #1823 from levnach/bound_vars
Create special lemmas for "div"
2018-09-10 18:47:52 -07:00
Nikolaj Bjorner e818b7bd27 fix #1812
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-10 15:15:00 -07:00
Nikolaj Bjorner a37d05d54b fix #1819
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-10 13:53:44 -07:00
Lev Nachmanson 813b906341 do not bound all free vars
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-09-10 13:43:29 -07:00
Lev Nachmanson 8068c64cab avoid using not initialized variables in theory_lra
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-09-10 11:02:38 -07:00
Nikolaj Bjorner fae66671d8 fix #1817
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-10 08:57:35 -07:00
Nikolaj Bjorner 67a2a26009 fixing bound detection (#86)
* fixing bound detection

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* check-idiv bounds

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-09-09 14:26:46 -07:00
Lev Nachmanson 211210338a bound vars
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-09-07 22:00:25 -07:00
Nikolaj Bjorner 43807a7edc adding roundingSat strategy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-31 20:25:49 -05:00
Nikolaj Bjorner 7230461671 adding properities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-20 23:51:51 +02:00
Nikolaj Bjorner 2b2f193f2b remove dependency on ARRAYSIZE for issue #1616
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-15 22:26:14 -07:00
Nikolaj Bjorner fd5cfbe402 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-15 10:38:23 -07:00
Nikolaj Bjorner 03bd010b05 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-14 21:19:06 -07:00
Nikolaj Bjorner d67bfd78b9 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-14 21:15:55 -07:00
Nikolaj Bjorner 40a79694ea add job/resource axioms on demand
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-14 16:33:34 -07:00
Nikolaj Bjorner 2839f64f0d rename to csp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-14 11:05:55 -07:00
Nikolaj Bjorner 502c071266 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-14 09:57:06 -07:00
Nikolaj Bjorner d55fe1ac59 na'
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-14 09:41:43 -07:00
Nikolaj Bjorner a096ec648c na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-13 17:11:22 -07:00
Nikolaj Bjorner 540baa88f4 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-13 17:08:34 -07:00
Nikolaj Bjorner 3478b8b924 add js-model interfacing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-12 18:14:06 -07:00
Nikolaj Bjorner 0af00e62de abstract arithmetic value extraction
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-12 12:42:26 -07:00
Nikolaj Bjorner abd902d58c n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-11 18:14:32 -07:00
Nikolaj Bjorner 95963f71f4 fix bug introduced in fix of #1798
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-11 17:18:11 -07:00
Nikolaj Bjorner d270df67f7 Merge branch 'master' of https://github.com/z3prover/z3 2018-08-11 13:33:35 -07:00
Nikolaj Bjorner 8de8c4cade fix #1798
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-11 11:41:06 -07:00
Nikolaj Bjorner 55f15b0921 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-10 17:52:34 -07:00
Nikolaj Bjorner a13b6a99d6
Merge pull request #1797 from c-cube/conf-dt-lazy-split
expose the configuration param for datatype case splits
2018-08-10 16:09:13 -07:00
Simon Cruanes 0aca1ad4c1 feat(smt/dt): expose the configuration param for datatype case splits 2018-08-10 17:37:23 -05:00
Nikolaj Bjorner baeff82e59 na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-10 09:46:21 -07:00
Nikolaj Bjorner 0d8de8f65f add theory outlline
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-09 20:19:26 -07:00
Murphy Berzish c65dbaea90 z3str3: fix contains-indexof precondition 2018-08-07 15:12:37 -04:00
Murphy Berzish 7a84486df2 Merge branch 'master' into develop 2018-08-07 12:57:02 -04:00
Nikolaj Bjorner f306f75e36 harness internalization and API for #1776
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-02 20:18:27 -07:00
Nikolaj Bjorner 8b08821112 fix #1784, fix #1783
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-01 17:31:14 -07:00
Nikolaj Bjorner 77d68409c2 handle null declarations for kind
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-01 08:43:32 -07:00
Nikolaj Bjorner 124e963b10 revert bit-resize issues
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-31 16:26:41 -07:00
Nikolaj Bjorner 4b00d6aef2 move mk-bits to mk-var
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-31 16:13:25 -07:00
Nikolaj Bjorner 22a5687e16 supply bits on demand
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-31 15:52:21 -07:00
Nikolaj Bjorner fdcedee887 hardening pop abuse and exception safety for #1776
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-30 09:56:16 -07:00
Nikolaj Bjorner 13390e2c3a fix #681, unsound propagation of binary equalities. Clean up memory leaks on exit
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-29 12:08:59 -07:00
Nikolaj Bjorner 5509bf248a coallesce lambda/quant tracing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-29 08:02:56 -07:00
Nikolaj Bjorner 64e570f159 fix #1766
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-29 02:22:28 -07:00
Nikolaj Bjorner 1cb3f7c792 fixing #1520
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-28 18:03:13 -07:00
Nikolaj Bjorner d74978c277 fix #1762, #1764, #1768
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-26 20:29:26 +01:00
Nikolaj Bjorner 60bb02b709 updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-26 15:31:49 +01:00
Nikolaj Bjorner 30330c79a1 Merge branch 'master' of https://github.com/z3prover/z3 2018-07-15 22:36:02 -07:00
Nikolaj Bjorner d00ffdda82 strengthen filter for specialized tactic conditions, add flag to disable hnf to lp_params
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-15 22:35:47 -07:00
Nikolaj Bjorner bdd8685146 use params for arguments to Fixedpoint methods
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-13 18:09:30 -07:00
Nikolaj Bjorner 88f4ce68fd fix model generation regression exposed in nightly builds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-13 13:51:07 -07:00
Nikolaj Bjorner 167969d6c2 remove debug/non-debug difference
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-13 07:52:36 -07:00
Nikolaj Bjorner f09f1a7524 Merge branch 'master' of https://github.com/z3prover/z3 2018-07-11 08:53:00 -07:00
Nikolaj Bjorner 3a5aebd1d3 tidy model generator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-11 08:52:57 -07:00
Nikolaj Bjorner 9f2bafbf10 tidy model generator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-11 08:52:13 -07:00
Nikolaj Bjorner e39107c682 turn lemma-id into an attribute on the cotext
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-10 21:26:51 -07:00
Nikolaj Bjorner 5e5f46f0f8 handle cancelation from nra_solver gracefully
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-10 17:34:45 -07:00
Nikolaj Bjorner 0170a9772a expose methods for dumping T-lemmas from theory_lra
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-10 16:44:48 -07:00
Nikolaj Bjorner fc4627a24f force the new arithmetic solver for QF_LIA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-09 16:33:48 -07:00
Nikolaj Bjorner 8373bec6ad only assign, if there isn't already a true literal incube/clause mode
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-09 10:33:56 -07:00
Nikolaj Bjorner efe440839e Merge branch 'master' of https://github.com/z3prover/z3 2018-07-09 09:19:37 -07:00
Nikolaj Bjorner 605dcc40a3 fix #1741
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-09 09:19:13 -07:00
Nikolaj Bjorner a2d078f6f5
Merge pull request #1737 from Nils-Becker/master
Equality Explanation Logging
2018-07-07 15:39:08 -07:00
Nikolaj Bjorner dfbd285dae avoid rewriting if reduces to tautology
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-06 22:02:48 -07:00
Nikolaj Bjorner 3ae0ea8246 add circuit and unate encoding besides sorting option
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-06 21:09:13 -07:00
nilsbecker 820c14ed06 synchronize fork 2018-07-06 16:19:13 +02:00
nilsbecker a405742037 Adding comments 2018-07-06 12:43:46 +02:00
Nikolaj Bjorner 0b30ddb769 fix #1733
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-06 02:09:47 -07:00
Lev Nachmanson 905282ffe4 fix in theory_lra.cpp get_value
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-07-05 14:47:05 -07:00
Murphy Berzish da41949f69 Merge branch 'develop' of github.com:/mtrberzi/z3 into develop 2018-07-04 12:13:07 -04:00
Nikolaj Bjorner c7e1d59b19 Merge branch 'master' of https://github.com/z3prover/z3 into lev 2018-07-03 13:42:50 -07:00
Lev Nachmanson f59ffc2986 remove tracing arith from theory_lra.cpp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-07-03 09:46:33 -07:00
Nikolaj Bjorner e37954d87b simplify code fix for #1725
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-03 09:16:52 -07:00
Nikolaj Bjorner ec6260342b fix #1725
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-03 09:13:02 -07:00
Nikolaj Bjorner 026265f9a3 fix memory leak in proof production in theory_pb
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-03 08:55:26 -07:00
Nikolaj Bjorner 03ed33ac02 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 15:31:26 -07:00
Nikolaj Bjorner dc8ec50137 enable proof objects for PB
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 13:53:55 -07:00
Lev Nachmanson fbf0d0d7b2 changed in for loops for terms
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-07-02 11:46:46 -07:00
Nikolaj Bjorner e13b61eae8 work around regression with use of mk_app_core, returning BR_FAILED if nothing is rewritten
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 11:10:37 -07:00
Nuno Lopes cef17c22a1 remove some allocs from exceptions 2018-07-02 17:08:02 +01:00
Nikolaj Bjorner 05738702d6 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 08:10:47 -07:00
Nikolaj Bjorner 4820e51c53 n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 08:10:14 -07:00
Nikolaj Bjorner 61d887b36f use for pattern
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 04:35:22 -07:00
Nikolaj Bjorner 88dd9ac668 add back get_value that uses solver model, have assume_eqs only use those variables (not the impqs)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 04:29:54 -07:00
Nikolaj Bjorner 46ea054784 merge get_value and get_ivalue that produced different results
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-02 03:55:40 -07:00
Nikolaj Bjorner 2ab0681381 deal with unintialized variable in debug code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-01 19:34:27 -07:00
Nikolaj Bjorner b38abf64d7 use expr_ref on mk_concat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-01 19:30:46 -07:00
Nikolaj Bjorner 8895ed7122 remove unintialized variable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-01 18:34:02 -07:00
Nikolaj Bjorner b6054b8406 add has_value utility to retrieve value from solver state
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-01 17:03:58 -07:00
Nikolaj Bjorner 593a6e5139 update smt_setup and default parameters to only use new solver consveratively
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-01 12:52:50 -07:00
Nikolaj Bjorner fad1e611aa build warnings, updates to reduce-invertible, change is_algebraic tester to use int return type
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-07-01 12:34:55 -07:00
Nikolaj Bjorner 5a2a8d7d5c
Merge pull request #1715 from levnach/master
merge lar_solver/int_solver
2018-07-01 12:20:02 -07:00
Lev Nachmanson c554e1723b fixes in theory_lra by Nikolaj
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-30 13:53:45 -07:00
Nikolaj Bjorner c4d893dfad fix compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-30 06:10:09 -07:00
Nikolaj Bjorner 080bf79fe6
Merge pull request #1705 from trinhmt/master
created pull from Trinh's seq solver
2018-06-30 04:53:14 -07:00
Thai Trinh cd62017afd fixed failures with regression tests 2018-06-30 15:52:20 +08:00
Lev Nachmanson 16d4e2f5d1 regression fix
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-29 16:10:15 -07:00
Lev Nachmanson 4d88818560 fixes in get_lower,get_upper of theory_lra
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-29 14:38:10 -07:00
Lev Nachmanson 342feeff03 implement get_lower, get_upper in theory_lra.cpp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-29 14:17:13 -07:00
Lev Nachmanson da44ad7e6f added stubs for get_lower/get_upper required by theory_seq
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-29 13:43:23 -07:00
Lev Nachmanson d80f6e3222 regression failures fixes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-29 09:57:29 -07:00
Lev Nachmanson 4641d5f32d fixes to get z3test.py back on track etc
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-28 21:30:41 -07:00
Lev Nachmanson 2087ee3fb0 restore some code that was removed during the rebase
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-28 11:59:01 -07:00
Nuno Lopes 46799cb3f0 MAM: check soft limits before calling the interpreter 2018-06-28 18:25:22 +01:00
Nuno Lopes 5de6628a5d remove spurious copies and inc_refs around ref_vector 2018-06-28 10:31:38 +01:00
Lev Nachmanson e3a9794d98 take in changes for equalities
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 15:59:45 -07:00
Lev Nachmanson 7b59e2094d after rebase
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 15:20:25 -07:00
Lev Nachmanson e5eea467b7 adjust hnf
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

change in settings + random in adding terms to hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add terms in hnf from the beginning

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

adjusting settings

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove non used determinant()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 12:19:06 -07:00
Lev Nachmanson eeaca949e0 cleanup in hnf.h
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixex in maximize_term

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

prepare for LIRA (#76)

* merge

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* simple mixed integer example

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

Nikolaj's fixes in theory_lra.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in maximize_term, disable find_cube for mixed case

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix cube heuristic for the mixed case

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix the build

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix in find cube delta's calculation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a printout

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a blank line

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

test credentials

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

avoid double checks to add terms in hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

fixes in add terms to hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a variable used for debug only

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a field

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a warning and hide m_A_orig under debug

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use var_register to deal with mapping between external and local variables

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

tighten the loop in explain_implied_bound

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in theory_lra and relaxing debug checks in pop(), for the case when push() has been done from not fully initialized state

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

suppress hnf cutter when the numbers become too large

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove some debug code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

adjusting hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 12:19:02 -07:00
Lev Nachmanson 9ba4026bc6 avoid going creating hnf_cuts if all involved vars have integral values
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add explanations to hnf cuts

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

nits and virtual methods (#68)

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

cleanup from std::cout

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

handle the case when the number of terms is greater than the number of variables in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

method name's fix

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

restore hnf_cutter to work with m_row_count <= m_column_count

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

tune addition of rational numbers (#70)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* prepare for mixed integer-real

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix default tactic usage

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

give shorter explanations, call hnf only when have a not integral var

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

overhaul of mpq (#71)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* prepare for mixed integer-real

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix default tactic usage

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* overhaul of mpz/mpq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* disabled temporary setting

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove prints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

fix for 32 bit build (#72)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* prepare for mixed integer-real

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix default tactic usage

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* overhaul of mpz/mpq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* disabled temporary setting

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove prints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* customize for 64 bit

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

yes (#74)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* prepare for mixed integer-real

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix default tactic usage

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* overhaul of mpz/mpq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* disabled temporary setting

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove prints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* customize for 64 bit

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* customize for 64 bit

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more refactor

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

fix the merge

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in maximize_term untested

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix compilation (#75)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* local

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* virtual method in bound propagator

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* prepare for mixed integer-real

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix default tactic usage

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* overhaul of mpz/mpq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* disabled temporary setting

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove prints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* customize for 64 bit

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* customize for 64 bit

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more refactor

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* relax check

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* change for gcc

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-27 12:16:58 -07:00
Lev Nachmanson 9be49ff6ff add cancel to hnf_cutter
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

exit earlier on a large matrix in hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

call hnf only for the boundary points

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in hnf_cutter initialization

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

initialize has_bounds in lar_solver::get_equality_for_term_on_corrent_x

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

initialize has_bounds in lar_solver::get_equality_for_term_on_corrent_x

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

initialize has_bounds in lar_solver::get_equality_for_term_on_corrent_x

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

initialize has_bounds in lar_solver::get_equality_for_term_on_corrent_x

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in determinant_of_rectangular_matrix calculations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

changes in debug code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

init m_hnf_cut_period from globals settings

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix some warnings

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Lev2 (#66)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

remove a comment

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify gomory cut return's logic

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify uniformly int_solver::check()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

making new arith solver default for LIA (#67)

* log quantifiers only if present

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge and fix some warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* set new arith as default for LIA

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

remove chase_cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove integer_domain

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

restore call for find_cube()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove a method

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove some debug code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:54:10 -07:00
Lev Nachmanson 82eb80de6d add var_register
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fill the matrix A in hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fill the matrix A in hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

first steps of hnf cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

handle generated cases in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

call hnf only for a full rank matrix

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

get (H reversed) * b

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

finding the cut row randomly, exiting if is not there

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

produce first cuts with hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

produce first cuts with hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

define by lp_settings if to avoid calling hnf_cutter when the solution is not on the boundary

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

revert to the previous version

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:39:46 -07:00
Lev Nachmanson 3b5337823a extract gomory cut functionality in one method
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

prepare calculate U in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

naive algorithm for HNF and m <= n

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

naive algorithm for HNF

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

introduces reverse matrix into Hermite Normal Form calculation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on more efficient hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use smarter templates in lu.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

the new lu scheme compiles

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simple test passes with the modified lu

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix the build on windows

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

playing with the example from cutting the mix

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf, add extended_gcd_minimal_uv()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on extended_gcd_minimal_uv

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf, add extended_gcd_minimal_uv()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

more tests and bug fixes in hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf modulo version

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf modulo version, more tests pass

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

a rough version of hnf passed the tests

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix build in release

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in determinant calculations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on hnf

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

create a stub for hnf_cuts

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

create a stub for hnf_cuts

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

create a stub for hnf_cuts

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

general_matrix etc.

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

general_matrix etc.

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

rename cut_solver to chase_cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

rename cut_solver to chase_cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

hnf_cutter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:39:41 -07:00
Lev Nachmanson c04bcb411d no calling cut_solver when there are bounded columns
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use special bounds inf find_cube for x+y, x-y

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

bug fixes in column patching, add stats to patching, restructure int_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

comment out m_old_values from int_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

avoid calling pivot_fixed_vars_from_basis() in int_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix the return value from path_nbasic_columns

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix the return value from path_nbasic_columns

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work in patch_columns

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on int_solver check()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

exit from find_free_interval() when l >= u

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

experiment with branching on nbasic columns

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove m_old_values

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add rounding to patch_columns

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

qflia

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

patch all columns, round non-patched, branch or basic columns

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

refactor int_solver::check()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

restore  move_non_basic_columns_to_bounds() after a failure in find_cube()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

optimize gomory cuts search

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

produce gomory cuts without moving columns to bounds

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

call find_feasible_solution() after moving columns

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

alway move colums to bounds before gomory cut

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

merge from best branch

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:38:40 -07:00
Lev Nachmanson 7e82ab595e follow the smalles branch
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

correction in the sign of gomory_cut

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix in the gomory cut sign

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

try using lemmas of cut_solver as cuts

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add find_cube() proposed by Nikolaj

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

restore m_int_branch_cut_solver to 8

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

accept empty lar_terms in theory_lra and also do not create empty lar_terms/lemmas

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

qflia_tactic

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

call find_feasible solution to recover for a failure in find_cube

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

do not tighten unused terms

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

get rid of inf_int_set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug with an accidental solution in cube

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

get rid of inf_int_set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

bug fix with has_int_var() for lar_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix in find_inf_int_base_column

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:38:08 -07:00
Lev Nachmanson 2bb94ed4fe remove warnings in scaler and use m_cut_solver_cycle_on_var
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

detect slow propagations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fiddle with the stop conditions

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

get rid of constraint->m_predecessors, fix a bug in push/pop with lemmas

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

clean detection of stale lemmas in pop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add constraints lazily to cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

refactor some of cut_solver classes into include files

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

prepare to index constraint from 0 to to n - 1, where n is the number of constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

prepare for constraint priority

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use priorities in active_set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove unnecesessary parameters

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

speedup bound propagations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

restore tactics

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

speedup bound propagation by avoiding some calls to propagate_constraint_only_one_unlim

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes by Nikolaj

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix print lp_core_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on gomory test, subs terms indices correctly

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

correct const_iterator for lar_term

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

improve static_matrix with iterators

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

make row_strip a struct

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

move row_strip outside of static_matrix

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add const_iterator to row_strip

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove the hierarchy of iterators - use std::iterators

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

adding gcd_test stats and taking care of for iterators

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

restore qflia_tactic.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

run gcd_test according to settings()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

experiment with picking a narrow or random branch

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:37:13 -07:00
Lev Nachmanson 6202b2f2e4 add cancellations
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

syntax errors

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

use std::vector instead of vector in cut_solver temporarily

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix in is_upper_bound, is_lower_bound

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add bound() for polynomial, needs more testing

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on resolve

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

implement resolve()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

implement improves()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

replace low_bound by lower_bound

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

better printing in cut_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add value vector to cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on bound propagaion for cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

bound propagation for integer inequalites

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

bound propagation for integer inequalites

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

bound propagattions on integers

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

adding m_explanation field to cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify bound propagation in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

calculate conflict explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

change m_explanation type to a set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

making cut_solver a member of int_solver, missing push/pop support

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Nikolaj's comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Nikolaj's comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

return explanations from cut_solver and hook up push/pop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

hook up push/pop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

using resize of std::vector

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

it is a big squashed commit

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

rename hpp to cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in push/pop of cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

return simple inequalities a part of a conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on propagation and the main loop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add file

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

init m_v[j], the var values only when j is fixed

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

handle decide in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

start on resolve_conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

start on resolve_conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove cut_solver_def.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

in the middle

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

change signature of resolve

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix the domain of the decided var

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tightening of ineqs

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tight ineqs

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tightening

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on tightening

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

resolve conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix in usage of resolve()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on conflict resolution

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cut_solver is not a template

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

represent var_info as a class, not a struct

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

make literal a class

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

better resolve_conflict scheme, and switch to *constraints in literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug conflict resolution in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

switch to vector

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove nondetermenistic behavior from cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug resolve conflict

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix backjump

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

dumb explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

get rid of a parameter

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add lemmas origins

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use lemma_origins to provide correct explanations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use lemma_origins to provide correct explanations

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

store lemmas in a separate vector

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use std::unordered_set for m_dependent_constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use std::unordered_set for m_dependent_constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs with lemmas

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

finding conflicting cores

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

switch from changed variables to active_set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

less active constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

propagate simple constraing immediately

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

propagate simple constraints immediately

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixing bugs with active set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove const_cast

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

towards unbounded variables

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

toward unbounded variables

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

toward unbounded variables

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

make lemmas_origins a set

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use correct hash and equal in m_lemma_origins

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add testing code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add testing code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug unlimited vars

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

take in Nikolaj's comments and improvements

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

address the comments

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

handle unlimited vars in check_inconsistent

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

debug

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

detect trivial polynomials in resolve

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

Nikolaj's changes

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify handling of m_global_bound_var

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

decide on m_global_bound_var if it is not fixed

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify m_global_bound_var

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

remove m_global_bound_var, simplify the indexing of var_infos of cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

do not run cut_solver with vars without any bound

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

small changes

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add cancellation in cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

do not pop lemmas during a cut_solver run

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

treating cut_solver as an heurisitic

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

prepare for cut_solver returning undef

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify work with active_set in cut_solver, add stats

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify var_info literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in fill_conflict_explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in the conflict explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add timeout to validate_* in theory_lra.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify cut_solver, no special treatment for simple constraints

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cleanup the cancel story

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cleanup cancelling

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in push/pop of cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

extract a method in int_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

some progress with the new scheme

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add testing code

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in test and in literal creation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in bound propagation in cut_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

simplify cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

provide valid conflict explanation

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use a lazy push in stacked_map

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use a lazy push in stacked_map

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

optimize stack operations on var_info's domains

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a bug in tightening

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

use the standard tactics from qflia_tactic

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

spread the var domain stack over literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

spread the var domain stack over literals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

avoid cycling in cut_solver.h and fixes in push/pop

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes after rebase

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 11:35:11 -07:00
Lev Nachmanson 58ca4518e5 clean up int_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

add a diagnostic method

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

white space change

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

cleanup in int_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

some cleanup

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

remove m_became_zeros

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

start cut_solver, work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

start cut_solver, work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

workin on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

working on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

working on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

working on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs in disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs in gisjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs in gisjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs in disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs in disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix bugs is disjoint intervals

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

bug fixes in disjoint_intervals

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

disjoint_intervals passes the test

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

test disjoint_intervals push(), pop()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

work on cut_solver

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2018-06-27 10:53:03 -07:00
Lev Nachmanson db8f01894f solve send-more-money_lev.smt2
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

handle integer vars in random_update

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

call the assert in gomory_cut and branching to a correct place

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

fixes in goromy cut

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

disable x values tracking in random_update

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

more fixes in gomory cut

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

change in mk_bound by Nikolaj

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fixes in gomory cut and setup

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

fixes in int_solver

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

change a printout

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

fix by Nikolaj in treating terms returned by int_solver

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

fix syntax

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

fix a free coefficient bug in bound propagaion and simplify gomory cut

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

avoid tracking pivoted rows during int_solver::check()
2018-06-27 10:49:20 -07:00
Lev Nachmanson aba7dcab3e fix a bug in the lar_solver::m_status update during push/pop
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

progress in gomory cut

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

the first version of Gomory cut, probably broken

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

rename a function

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

gomory cut worked on a toy example

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

track the set of integer variables that are not set to integer values

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2018-06-27 10:19:06 -07:00
Lev Nachmanson 0164ea9abb change the order of initializations in the constructor of imp in theory_lra
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2018-06-27 10:09:29 -07:00
Lev Nachmanson d41c65a4f9 replace lean to lp
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2018-06-27 10:09:23 -07:00
Nikolaj Bjorner 8bd029c657 Dev (#63)
* introduce int_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* add int_solver class

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* track which var is an integer

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add queries for integrality of vars

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* resurrect lp_tst in its own director lp

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add file

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add_constraint has got a body

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* fix add_constraint and substitute_terms_in_linear_expression

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* after merge with Z3Prover

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* adding stub check_int_feasibility()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Dev (#50)

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* small fix in lar_solver.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* adding some content to the new check_int_feasibility()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Dev (#51)

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* test

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* Dev (#53)

* change in a comment

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Disabled debug output

* removing FOCI2 interface from interp

* remove foci reference from cmakelist.txt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debugging nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* n/a

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* integrate nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* tidy

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* preserve is_int flag

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* remove a debug printout

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Dev (#54)

* change in a comment

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Disabled debug output

* removing FOCI2 interface from interp

* remove foci reference from cmakelist.txt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debugging nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* n/a

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* integrate nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* tidy

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* use integer test from lra solver, updated it to work on term variables

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix equality check in assume-eq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix model_is_int_feasible

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* untested gcd_test()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* call fill_explanation_from_fixed_columns()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add the call to pivot_fixed_vars_from_basis() to int_solver.cpp::check()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* port more of theory_arith_int.h

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* use statistics of lar_solver by theory_lra.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* port more code to int_solver.cpp

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add an assert

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* more int porting

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* fix a bug in pivot_fixed_vars_from_basis

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* small change

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* implement find_inf_int_base_column()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* catch unregistered vars in add_var_bound

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add a file

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* compile for vs2012

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* fix asserts in add_var_bound

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* fix the lp_solver init when workig on an mps file

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* towards int_solver::check()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* change in int_solver::check() signature

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* return branch from int_solver::check()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add a stub for mk_gomory_cut

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* Dev (#59)

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* Dev (#60)

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* Dev (#61)

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* more TRACE(arith_int)

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* fix the build

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* Dev (#62)

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* loops

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* build fix

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2018-06-27 10:05:19 -07:00
Nikolaj Bjorner c82aa5edce Dev (#56)
* introduce int_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* add int_solver class

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* track which var is an integer

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add queries for integrality of vars

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* resurrect lp_tst in its own director lp

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add file

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add_constraint has got a body

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* fix add_constraint and substitute_terms_in_linear_expression

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* after merge with Z3Prover

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* adding stub check_int_feasibility()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Dev (#50)

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* small fix in lar_solver.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* adding some content to the new check_int_feasibility()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Dev (#51)

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* test

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* Dev (#53)

* change in a comment

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Disabled debug output

* removing FOCI2 interface from interp

* remove foci reference from cmakelist.txt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debugging nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* n/a

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* integrate nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* tidy

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* preserve is_int flag

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* remove a debug printout

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Dev (#54)

* change in a comment

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Disabled debug output

* removing FOCI2 interface from interp

* remove foci reference from cmakelist.txt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debugging nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* n/a

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* integrate nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* tidy

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* use integer test from lra solver, updated it to work on term variables

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix equality check in assume-eq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix model_is_int_feasible

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* untested gcd_test()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* call fill_explanation_from_fixed_columns()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add the call to pivot_fixed_vars_from_basis() to int_solver.cpp::check()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* port more of theory_arith_int.h

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* use statistics of lar_solver by theory_lra.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* port more code to int_solver.cpp

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add an assert

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* more int porting

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* fix a bug in pivot_fixed_vars_from_basis

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* small change

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* implement find_inf_int_base_column()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* catch unregistered vars in add_var_bound

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add a file

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* compile for vs2012

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* fix asserts in add_var_bound

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* fix the lp_solver init when workig on an mps file

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* towards int_solver::check()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* change in int_solver::check() signature

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-27 10:04:46 -07:00
trinhmt 54a9482716
Merge pull request #8 from Z3Prover/master
merge with Z3Prover/z3
2018-06-27 18:10:54 +08:00
Thai Trinh 1892d31794 add parameter to enable splitting guided by length constraints 2018-06-27 18:10:40 +08:00
Nikolaj Bjorner 520ce9a5ee integrate lambda expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-26 07:23:04 -07:00
Thai Trinh aacb7289be merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
nilsbecker 4f64f069ab Merge remote-tracking branch 'upstream/master' 2018-06-24 08:08:32 +02:00
Nikolaj Bjorner 81e5589bc8 Merge branch 'master' of https://github.com/z3prover/z3 2018-06-19 23:23:56 -07:00
Nikolaj Bjorner 335d672bf1 fix #1675, regression in core processing in maxres
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 23:23:19 -07:00
Nikolaj Bjorner 8241ba784d Merge branch 'master' of https://github.com/z3prover/z3 2018-06-19 16:33:34 -07:00
Nikolaj Bjorner 341f7ceb17 remove quantified lemmas for idiv/mod
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 13:19:48 -07:00
Nikolaj Bjorner eeba30a277 fix #1677
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 10:56:45 -07:00
Nikolaj Bjorner 2456513053 sometimes comments are worth reading
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 10:43:51 -07:00
Nikolaj Bjorner 9b6a99794b add default method for fresh fp value, try to address OsX build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 10:02:31 -07:00
Nikolaj Bjorner 8a29c2803c improvements to arithmetic preprocessing simplificaiton and axiom generation for #1683
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 07:04:39 -07:00
Nikolaj Bjorner 86c39c971d fix #1681
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 21:53:45 -07:00
Nikolaj Bjorner b4aac1ab55 revert fix to #1677
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 21:23:13 -07:00
Nikolaj Bjorner 6a0b70ee5c selective expansion of strings for canonizer to fix #1690 regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 20:42:53 -07:00
Nikolaj Bjorner 4634d1daed selective expansion of strings for canonizer to fix #1690 regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 20:37:39 -07:00
Nikolaj Bjorner c3b27903f8 fix #1677
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 11:22:01 -07:00
Nikolaj Bjorner 55ebf69648 move comment to fix #1682
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 09:42:05 -07:00
Nikolaj Bjorner 6fc08e9c9f Merge branch 'master' of https://github.com/z3prover/z3 2018-06-15 14:58:10 -07:00
Nikolaj Bjorner a51d6cbcbc debug model evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-15 14:58:02 -07:00
Nikolaj Bjorner bc8ddedc54 fix a few build regressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner d5081a48b0 merge while skyping
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner 74621e0b7d first eufi example running
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner ba504e4243 debugging mbi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner d26609ebdd prepare term-graph for cc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:51 -07:00
Nikolaj Bjorner 0784074b67 fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:51 -07:00
Nikolaj Bjorner 688cf79619 working on mbi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:51 -07:00
Arie Gurfinkel 8b689ae27f Moved is_int_expr into arith_recognizers 2018-06-14 16:08:51 -07:00
Nikolaj Bjorner bfeb15b876 move to list of clauses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Nikolaj Bjorner 0c2e3c0894 fixes to clause proof tracking
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Arie Gurfinkel 26339119e4 solver::check_sat_cc : check_sat assuming cube and clause
Extends check_sat with an ability to assume a single clause in
addition to assuming a cube of assumptions
2018-06-14 16:08:50 -07:00
Arie Gurfinkel 4477f7d326 Fix memory leak in asserted_formulas 2018-06-14 16:08:50 -07:00
Arie Gurfinkel c3edf8c8fa Restore assertion in smt_clause 2018-06-14 16:08:50 -07:00
Nikolaj Bjorner 005a6d93bb cube and clause
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Arie Gurfinkel ea032b56c0 Return false when clause cannot be decided 2018-06-14 16:08:50 -07:00
Arie Gurfinkel 4db4547359 silence clang warning 2018-06-14 16:08:49 -07:00
Nikolaj Bjorner b73aa3642a check with cube and clause
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Arie Gurfinkel b17be763d3 User control over more arith options 2018-06-14 16:08:49 -07:00
Arie Gurfinkel 1c06229755 User control over qi.quick_checker smt_params option 2018-06-14 16:08:49 -07:00
Arie Gurfinkel d06f4bd337 Fix reset of params_ref in solver
params_ref is not a ref, and params_ref::reset is not ref::reset.

params_ref::reset resets the params object being pointed to by
params_ref.

A proper way to reset a params_ref as a reference is to assign an
empty params_ref object to it.
2018-06-14 16:08:49 -07:00