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 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
Arie Gurfinkel ec8a86b78a Removed unused m_qi_ematching parameter from smt_params 2018-06-14 16:08:49 -07:00
Arie Gurfinkel df2e9d8fe2 Make smt_solver::updt_params() commulative 2018-06-14 16:08:49 -07:00
Arie Gurfinkel 1da002d7b1 scoped params on solver
solver::push_params() saves current parameters
solver::pop_params() restores previously saved parameters
2018-06-14 16:08:49 -07:00
Arie Gurfinkel 477ac4a19a Remove dead m_propagate_booleans param 2018-06-14 16:08:49 -07:00
Nikolaj Bjorner ff0f257102 remove iff
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:48 -07:00
Nikolaj Bjorner 63a1b2e714 fix #1665
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-08 10:30:20 -07:00
nilsbecker 3c464071f7 adding comments 2018-06-06 19:24:29 +02:00
nilsbecker f7b50ef796 merge with Z3Prover/z3/master 2018-06-06 08:09:57 +02:00
Nikolaj Bjorner e2eb883c71 Merge branch 'master' of https://github.com/z3prover/z3 2018-05-30 16:48:17 -07:00
Nikolaj Bjorner b9637924c4 fix #1662
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-30 16:47:17 -07:00
Nikolaj Bjorner db3f439e88 fix memory leak from Arie
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-29 20:55:30 -07:00
nilsbecker f3a627b026 making theory explantions easier to parse 2018-05-27 15:29:57 +02:00
Nikolaj Bjorner 8eeaa27cf3 remove interp from documentation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-25 07:33:43 -07:00
nilsbecker 1aeffa2e01 fixing issue where argument equalities for congruence explanations were not updated
explaining equalities added by theories
2018-05-24 19:25:59 +02:00
Nikolaj Bjorner 4f5775c531 remove interpolation and duality dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-24 08:33:48 -07:00
Nikolaj Bjorner 0708ecb543 dealing with compilers that don't take typename in non-template classes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-23 09:11:33 -07:00
Nikolaj Bjorner 50c93d1ad4 merge with 4.7.1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-22 17:10:36 -07:00
Nikolaj Bjorner 6938c76950
Merge pull request #1630 from danielschemmel/warnings
Fix GCC Warnings
2018-05-20 10:24:05 -07:00
Daniel Schemmel 78087483ca
Add missing include
The code should not have compiled previously, as smt::context was only forward declared at this point.
2018-05-20 15:34:01 +02:00
Daniel Schemmel 9c5a0ee810
Remove unnecessary (and confusing) parantheses around variable name in its declaration.
Also fixes GCC warning [-Wparentheses].
2018-05-20 15:34:01 +02:00
Daniel Schemmel 5134c16833
NULL-initialize pointers to help GCC static analyzer Fixes: variable may be used uninitialized 2018-05-19 03:45:05 +02:00
Nikolaj Bjorner 1e143971c3 tune for unit test, delay initialize re-solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-13 11:49:33 -07:00
Nikolaj Bjorner a6829ea9d0 Merge branch 'master' of https://github.com/z3prover/z3 2018-05-13 05:40:56 -07:00
Nikolaj Bjorner 618d394ab5 unreferenced variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-10 09:41:12 +01:00
Nikolaj Bjorner ad571510f3 disable slow validation code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-09 10:49:32 +01:00
Murphy Berzish b68a38ff96 fixes for re.loop in theory_str 2018-05-08 14:53:02 -07:00
Nikolaj Bjorner 13b54f379c fix ema
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-05 13:58:47 +02:00
Nikolaj Bjorner 202d497be8
Merge branch 'master' into opt 2018-05-02 12:32:14 -07:00
Nikolaj Bjorner 6bff15e12e fix #1609
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-02 10:38:46 -07:00
Nikolaj Bjorner ef6339f14c fix build issues
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-01 12:00:03 -07:00
Nikolaj Bjorner fa93bc419d fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-01 10:53:36 -07:00
Nikolaj Bjorner fd5159bf18 Merge branch 'master' of https://github.com/z3prover/z3 2018-05-01 07:13:05 -07:00
Nikolaj Bjorner 371880da04 n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-01 07:13:03 -07:00
Nikolaj Bjorner f525f43e43 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-30 09:30:43 -07:00
Nikolaj Bjorner 859c68c2ac merge with opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-30 08:27:54 -07:00
nilsbecker 9bc7d5de0f making sure equality explanations for bound terms are logged 2018-04-29 16:39:32 +02:00
nilsbecker 7a03f19456 fixing smt code ending up in log files (verbose logging) 2018-04-29 13:08:57 +02:00
nilsbecker 4d4497674f Merge remote-tracking branch 'upstream/master' 2018-04-28 17:07:37 +02:00
Murphy Berzish 047f6c558c fix memory leak related to #1575 2018-04-26 16:36:14 -04:00
Nikolaj Bjorner f54779fe09 Merge branch 'master' of https://github.com/z3prover/z3 2018-04-25 11:18:39 +02:00
Nikolaj Bjorner b5f067bec5 fix #1592 #1587
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-25 11:18:24 +02:00
bannsec 5166b96d20 Fancy dots are not allowed here!! 2018-04-23 17:17:51 -04:00
Nikolaj Bjorner 19bb883263 fix #1581
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-23 12:12:39 +02:00
Nikolaj Bjorner 279f1986a6 fix #1575, fix #1585
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-23 07:11:15 +02:00
Nikolaj Bjorner a37303a045 move parallel-tactic to solver level
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-16 08:21:21 -07:00
Nikolaj Bjorner 012a96fd81 adding smt parallel solving
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-15 16:16:48 -07:00
nilsbecker 984de9f98f Merge remote-tracking branch 'upstream/master' 2018-04-15 20:57:28 +02:00
Nikolaj Bjorner d939c05e72 fix build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-14 08:27:40 -07:00
Murphy Berzish 3cfb32cd2d fix regex automata leaked memory 2018-04-12 14:35:29 -04:00
Murphy Berzish 47007d3f04 Merge remote-tracking branch 'upstream/master' into regex-develop 2018-04-12 12:13:30 -04:00
Nikolaj Bjorner 28fbcd7687 fix #1571
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-12 15:59:06 +08:00
nilsbecker b3aed5987c Merge branch 'master' of https://github.com/Nils-Becker/z3 2018-04-08 18:27:21 +02:00
Nils Becker 7585f28dec Improved quantifier instantiation logging 2018-04-08 18:18:02 +02:00
Nikolaj Bjorner bab87bfb9b move some methods from header to cpp, format fixing, remove special characters
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-07 17:34:46 -07:00
Nikolaj Bjorner 2dc92e2b94 merge with pull request #1557
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-07 17:22:49 -07:00
Simon Cruanes 66b85e000b fix in occurs_check (early exit) 2018-04-07 01:25:19 -05:00
Simon Cruanes ac881d949d style(datatype): use modern iteration 2018-04-06 17:29:17 -05:00
Simon Cruanes 8fd2d8a636 chore(datatype): small fixes 2018-04-06 17:20:04 -05:00
Simon Cruanes bf6928fec0 fix(datatypes): additional explanation in occurs_check 2018-04-06 17:20:04 -05:00
Simon Cruanes d973b08247 fix(datatypes): update following @nikolajbjorner 's review 2018-04-06 17:20:04 -05:00
Simon Cruanes 433f487ff2 fix(datatype): always use root nodes for the parent table 2018-04-06 17:20:04 -05:00
Simon Cruanes e535cad480 chore(datatype): small improvements 2018-04-06 17:20:04 -05:00
Simon Cruanes fa10e510bb fix(datatype): only use pointer equality for enode_tbl 2018-04-06 17:20:04 -05:00
Simon Cruanes 9df140343a perf(datatype): whole-graph implementation of occurs_check 2018-04-06 17:20:04 -05:00
Simon Cruanes 2ee1e358b6 chore: add definition for enode_tbl 2018-04-06 17:20:04 -05:00
Simon Cruanes b5d531f079 perf(datatype): improve caching in occurs_check 2018-04-06 17:20:04 -05:00
Nikolaj Bjorner 3b78bdc8e5 shorthands in enode to access args and partents
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-06 14:01:09 -07:00
Murphy Berzish 27f2b542df remove comment 2018-04-06 12:13:53 -04:00
Murphy Berzish 45f48123e7 add re.plus length enumeration; fix reordering warning 2018-04-06 11:39:08 -04:00
Murphy Berzish 6a3ce301b7 fix collection error 2018-04-03 12:51:03 -04:00
Murphy Berzish 41703a4254 Merge branch 'develop' into regex-develop 2018-04-03 12:31:27 -04:00
Bruce Mitchener 2fa304d8de Remove int64, uint64 typedefs in favor of int64_t / uint64_t. 2018-03-31 14:45:04 +07:00
Nikolaj Bjorner c513f3ca09 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Nikolaj Bjorner ff2924e83b fix mac build error
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-20 17:19:40 -07:00
Nikolaj Bjorner abc274e290 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-20 14:58:12 -07:00
Nikolaj Bjorner 931dbd5933 remove python doc test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-20 13:37:04 -07:00
Murphy Berzish 7759d05efe fix use-after-free 2018-03-19 23:09:07 -04:00
Murphy Berzish d26eddf776 re-add indexof-contains heuristic 2018-03-19 18:31:26 -04:00
Murphy Berzish 1f4bfcb4e5 fix indexof subterm 2018-03-19 18:10:06 -04:00
Murphy Berzish 5c692dc79d fixups to theory_str indexof and axiom handling loop 2018-03-19 18:06:42 -04:00
Murphy Berzish 84c30e0b60 theory_str fixups for new collections 2018-03-19 17:03:01 -04:00
Murphy Berzish a988d01537 add const to iterator loops where it can be used 2018-03-19 12:25:44 -04:00
Murphy Berzish d569485170 Merge remote-tracking branch 'upstream/master' into refactoring 2018-03-19 01:43:18 -04:00
Nikolaj Bjorner b572639fcd fix #1545
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-17 17:49:33 -07:00
Nikolaj Bjorner 72f8e408fc fix #1538
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-17 11:25:07 -07:00
Nikolaj Bjorner aa913c564c moving more std::map std::set to obj_*, #1529
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-17 04:21:28 -07:00
Nikolaj Bjorner b12a1caa07 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-16 09:05:44 -07:00
Nikolaj Bjorner 86d3bbe6cb added TODO markers in theory_str.h for moving to obj_map, remove include of stdbool for now
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-16 07:46:27 -07:00
Murphy Berzish 6bb9a82425 experimental axiom-persist for regex conflict clauses 2018-03-15 13:56:44 -04:00
Nikolaj Bjorner 46048d5150 change lemma display utility to use updated pretty printer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-14 12:15:13 -07:00
Murphy Berzish b5471e7fe0 refactor: use c++11 for (part 1) 2018-03-12 20:04:04 -04:00
Murphy Berzish 73f7e301c3 preliminary refactoring to use obj_map 2018-03-12 17:09:55 -04:00
Nikolaj Bjorner 5651d00751 fix #1534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-12 13:21:31 -07:00
Murphy Berzish 11a339c490 fix include path 2018-03-11 23:26:30 -04:00
Murphy Berzish 49b810e00f Merge branch 'master' into regex-develop 2018-03-11 23:18:55 -04:00
Nikolaj Bjorner 6e87622c8a remove references to deprecated uses of PROOF_MODE #1531
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-10 13:55:01 -05:00
Nikolaj Bjorner 4f9d198c51
Merge pull request #1517 from mtrberzi/issue1379
Handle third argument of str.indexof in Z3str3
2018-03-08 14:19:01 -08:00
Murphy Berzish bf6975122b integrate contains and indexof in theory_str 2018-03-08 12:37:44 -05:00
Nikolaj Bjorner 02a9696701 fix #1521
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-08 11:19:00 -05:00
Murphy Berzish d1407e843d Merge branch 'issue1379' of github.com:mtrberzi/z3 into issue1379 2018-03-07 18:16:17 -05:00