3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 05:18:44 +00:00
Commit graph

1090 commits

Author SHA1 Message Date
Nikolaj Bjorner dd3e574f81 fix #3983
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-16 14:03:06 -07:00
Nikolaj Bjorner f67077b7ff warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-15 17:13:02 -07:00
Nikolaj Bjorner 7ed9996fc0 fix #3962
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-14 11:05:05 -07:00
Nikolaj Bjorner 299a6f4aee fix #3939
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-13 14:00:21 -07:00
Nikolaj Bjorner d3db2af81d fix #3941
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-13 13:15:15 -07:00
Nikolaj Bjorner 97af74d8cb fix #3917 remove non-native mode for recfun
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-11 14:19:26 -07:00
Lev Nachmanson ec0cd644f1 fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-11 12:28:54 -07:00
Arie Gurfinkel 20d72e5d97 (spacer) fix (get-proof) to return proper refutations 2020-04-11 14:38:27 -04:00
Arie Gurfinkel 1f6815213d spacer: fail with exception on quantifiers in recursive rules 2020-04-11 14:16:47 -04:00
Arie Gurfinkel 1e96570365 fix #3915 2020-04-11 14:16:29 -04:00
Arie Gurfinkel f821ee38e5 Fix #3907
Protect spacer from existential quantifiers in the tail.

Some transformations seem to introduce existentially quantified terms.
2020-04-11 11:21:13 -04:00
Arie Gurfinkel 337c07a44c Fix #3788 by converting assert into a throw 2020-04-11 09:15:32 -04:00
Arie Gurfinkel ae5a713e81 fix #3906 by fixing a regression from today 2020-04-11 00:18:25 -04:00
Arie Gurfinkel 136b0b23ce address #3905 2020-04-11 00:03:13 -04:00
Arie Gurfinkel d53e30ecbe finished fix for #3849 by converting assert into trace 2020-04-10 21:10:39 -04:00
Arie Gurfinkel fa900c39ab hide fp.xform.scale 2020-04-10 15:46:59 -04:00
Arie Gurfinkel a261bd94ed silence #3788
better proof generation for the case when the query is reachable from initial
states. This case needs to be handled better so that spacer can assume
the problem is non-trivial.
2020-04-10 15:21:47 -04:00
Arie Gurfinkel b1b77e57e1 (partial) fix #3788
Fixes a bug in computation of implicants inside spacer.
The instance now returns `unknown`. The root cause is the difference in what
proofs are in spacer and SMT. Spacer returns a proof of query, but horn_tactic
expects a proof of FALSE.
2020-04-10 12:26:31 -04:00
Arie Gurfinkel 44302f3f2a fix #3646 2020-04-10 10:01:14 -04:00
Nikolaj Bjorner 1fce2905ec fix #3832
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-09 19:38:08 -07:00
Nikolaj Bjorner c4b52edb29 add back assertion for #3849
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-09 18:08:40 -07:00
Nikolaj Bjorner 4651bffafc fix #3831
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-09 17:45:05 -07:00
Nikolaj Bjorner 76ac9917c8 fix #3890
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-09 13:12:37 -07:00
Nikolaj Bjorner cc794a19bc more on #3858 elim_term_ite
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-09 10:31:34 -07:00
Nikolaj Bjorner 99c328b6ef more fixes for #3858
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-09 09:52:15 -07:00
Nikolaj Bjorner 8cf5a7525b fix #3858
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-09 09:22:02 -07:00
Nikolaj Bjorner 2673807a7f fix #3863
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 18:34:15 -07:00
Nikolaj Bjorner 9f1a2e2c94 fix #3872
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 17:12:14 -07:00
Nikolaj Bjorner db3d6d7c95 fix #3879
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 17:05:29 -07:00
Nikolaj Bjorner 6e8d9001dc fix #3843
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 11:08:45 -07:00
Nikolaj Bjorner 40aa2f7cb2 fix 3838 fix #3837
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 05:49:24 -07:00
Nikolaj Bjorner 7595371721 fix #3834
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 04:56:15 -07:00
Nikolaj Bjorner dde0c9bd0d fix #3833
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 04:34:36 -07:00
Nikolaj Bjorner bd59fceaec na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 03:48:38 -07:00
Nikolaj Bjorner 7722bf1a55 declutter spacer_manager
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 03:35:58 -07:00
Nikolaj Bjorner 8e6bb30c82 cleanup bit2bool from models #3847
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 03:06:01 -07:00
Nikolaj Bjorner 0e78f092b5 fix #3849
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-07 19:28:02 -07:00
Nikolaj Bjorner 7fc9eb11db fix #3850
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-07 19:22:50 -07:00
Nikolaj Bjorner 6e7e53e25c block selected configurations from HORN tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-07 19:14:01 -07:00
Nikolaj Bjorner 35f184a6b9 fix #3826
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-07 14:39:54 -07:00
Nikolaj Bjorner 6d6881c87a fix #3824
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-07 11:40:12 -07:00
Nikolaj Bjorner 87a2a3410c fix #3801
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-07 11:34:51 -07:00
Nikolaj Bjorner 889a7ad3f2 fix #3819
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-07 11:23:37 -07:00
Nikolaj Bjorner b66360d0b5 fix #3809
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-07 11:15:34 -07:00
Nikolaj Bjorner 8dac9b7b94 fix #3814
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-07 10:40:36 -07:00
Nikolaj Bjorner b954e0d64b fix #3799
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 19:51:59 -07:00
Nikolaj Bjorner 9bb579c5c8 fix #3814
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 19:43:32 -07:00
Nikolaj Bjorner 9c6722bea8 fix #3791
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 18:37:39 -07:00
Nikolaj Bjorner ba820223ce fix #3795
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 17:44:02 -07:00
Nikolaj Bjorner 2b929cb31e fix #3797
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 17:36:35 -07:00
Nikolaj Bjorner 4b2e5ecca0 fix #3797
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 17:36:35 -07:00
Nikolaj Bjorner 09c5de7798 fix #3811
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 17:29:07 -07:00
Nikolaj Bjorner 18b4c7e99b fix #3796
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 17:09:23 -07:00
Nikolaj Bjorner b2ba45448a fix #3798
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 17:06:17 -07:00
Nikolaj Bjorner bfb26ecc6d fix #3793
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 16:59:36 -07:00
Nikolaj Bjorner d2ec661ec6 fix #3020
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 16:42:01 -07:00
Nikolaj Bjorner 6761bf1495 fix #3822
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 16:33:00 -07:00
Nikolaj Bjorner bcbc774b79 fix #3790
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 15:18:26 -07:00
Nikolaj Bjorner 5acf4b5968 fix #3786
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 13:03:41 -07:00
Nikolaj Bjorner 07413cc928 fix #3785
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 12:56:52 -07:00
Nikolaj Bjorner dff5071598 compile
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 17:03:26 -07:00
Nikolaj Bjorner daa904c9d2 fix #3778
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 15:13:36 -07:00
Nikolaj Bjorner b79b8c9bc4 fix #3777
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 15:08:28 -07:00
Nikolaj Bjorner 406c0792f1 fix #3775
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 14:04:00 -07:00
Nikolaj Bjorner bb1119a6ca fix #3774
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 13:59:28 -07:00
Nikolaj Bjorner 550852bc62 fix #3765
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 13:49:26 -07:00
Nikolaj Bjorner e246f6649e tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 13:31:48 -07:00
Nikolaj Bjorner b889b110ee bool_vector, some spacer tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 12:59:04 -07:00
Nikolaj Bjorner 2ed26e8e73 fix #3762
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 12:10:02 -07:00
Nikolaj Bjorner 39ffc4ece7 fix #3759
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 11:19:23 -07:00
Nikolaj Bjorner 426e4cc75c fix #3557
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-03 16:37:59 -07:00
Nikolaj Bjorner 896a1b2048 fix #3679
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-02 15:04:56 -07:00
Arie Gurfinkel dcc8a29a05 [spacer] fix ugly bug in ground refutation generation (i.e., cex) 2020-03-31 12:39:31 -04:00
Arie Gurfinkel 2ec00cb81d Replace is_null with is_non_empty_string in spacer params 2020-03-31 11:21:05 -04:00
Arie Gurfinkel cfe96fe92e [spacer] fixedpoint.get_answer() returns ground refutation for SAT 2020-03-31 10:13:37 -04:00
Arie Gurfinkel 6180a5276d
Logging facility for spacer plus minor improvements (#3368)
* [spacer] logging solver events

New option fp.spacer.trace_file='file.log' enables logging solving events
into a file.

These events are useful for debugging the solver, but also for visualizing
the solving process in a variety of ways

* [spacer] allow setting logic for solvers used by spacer

* [spacer] option to set arithmetic solver explicitly

* [spacer] improve of dumping solver_pool state for debugging

* fix propagate_ineqs to handle strict inequality

Co-authored-by: Nham Van Le <nv3le@precious3.eng.uwaterloo.ca>
2020-03-16 20:31:44 -07:00
Nikolaj Bjorner 51e459d02b fix #3294
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-14 10:46:03 -07:00
Nikolaj Bjorner 2d0d527fe1 preserve model order to avoid clobbering regression tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-10 16:56:49 -07:00
Nikolaj Bjorner f810f25d8d fix #3004
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-17 19:37:47 -10:00
Nikolaj Bjorner b71595f5b1 fix #3003
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-14 17:51:31 -10:00
Nikolaj Bjorner 541658fe02 move to abstract symbols
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-10 12:14:13 -08:00
Nikolaj Bjorner cdf3c48349 clear memory on allocation to avoid msan warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-29 15:50:49 -08:00
Nikolaj Bjorner 4fabaf95aa remove deprecated and bind1st and unused warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-08 13:26:50 -08:00
Nikolaj Bjorner b76dee7a7a na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-06 18:47:06 +01:00
Nikolaj Bjorner 1e0c1cefd6 add definitions for under-specified cases of arithmetic operators #2663 #2676 #2679
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-06 18:24:22 +01:00
Nikolaj Bjorner 6cf7d8e523 adding div0
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-06 11:23:19 +01:00
Christoph M. Wintersteiger efa3c0f68e
Fix compiler warnings 2019-10-28 14:15:25 +00:00
Nikolaj Bjorner 67c4777514 fix #2548 fix #2530
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-09-13 15:03:04 +02:00
Arie Gurfinkel 1b83c677ea spacer: fixes lim_num_generalizer
Must check that newly constructed generalization blocks
the proof obligation.

Was only checking that generalization is entailed by the transition system!
2019-09-13 14:22:57 +02:00
Arie Gurfinkel 0d3fed9a6a spacer: lemma generalizer for small numbers
Attempts to reduce denominators in coefficients of farkas lemmas
2019-09-09 20:32:13 +02:00
Nikolaj Bjorner 000e485794 add array selects to basic ackerman reduction improves performance significantly for #2525 as it now uses the SAT solver core instead of SMT core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-09-01 12:17:19 -07:00
Bruce Mitchener e2122c0d3d Fix whitespace issues in *.pyg. 2019-08-15 10:19:33 -07:00
Arie Gurfinkel 375c0ff9a9 Implement get_proof() in bmc and spacer engines 2019-08-12 10:29:01 -07:00
Nikolaj Bjorner fc41a61b6e expose strategic solver factory prototype at level of solver module
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-09 15:52:12 -07:00
Arie Gurfinkel 92db639caf Use refutation to compute ground sat answer 2019-07-25 15:22:37 -04:00
Nikolaj Bjorner 8e2ad4e461 #2379 and #2380
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-07-04 07:08:47 +07:00
Nikolaj Bjorner e0a44894cf purge smt.timeout, use timeout instead to control solver timing #2354
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-21 16:56:24 +02:00
Nikolaj Bjorner 11a8ced769 fix #2353
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-21 10:47:56 +02:00
Nikolaj Bjorner 89e8a1392c na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-21 10:40:35 +02:00
Nuno Lopes 1827f98851 more fixes for mutexes in shell 2019-06-19 16:42:00 +01:00
Nikolaj Bjorner e0d8cefde4 remove cooperate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-12 20:15:46 -07:00
Nikolaj Bjorner 7bfb730fee fix traffic jam
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-10 17:45:55 -07:00
Nikolaj Bjorner 01f6489892 fix #2310
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-31 16:22:49 -07:00
Nikolaj Bjorner 8893913c98 remove internal referenes to set_activity
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-30 16:06:05 -07:00
Nikolaj Bjorner 92613f26b3 remove additional push/pop on fixedpoint
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-27 13:56:16 -07:00
Nikolaj Bjorner 5c67c9d907 print certificate for #2202, enable CTL-C for API fix #2203
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-03-24 17:09:02 -07:00
Nikolaj Bjorner f00697cf95 fix #2155
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-03-03 22:33:28 -08:00
Nikolaj Bjorner 26921d1c9c fix #2155
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-03-03 22:32:50 -08:00
Nikolaj Bjorner 7aa8b4ac2a restrict idiv-bound checks to bounded terms
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-03-03 19:11:22 -08:00
Nuno Lopes 2f33bafd5a stopwatches: fix a few places that would call start/stop multiple times 2019-02-21 14:59:31 +00:00
Nikolaj Bjorner 89bf2d4368 add API for setting variable activity
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-02-15 12:05:24 -08:00
Nikolaj Bjorner a76107e50d fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-02-01 18:44:52 -08:00
Nikolaj Bjorner 8d20310758 adding trail/levels
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-29 14:45:51 -08:00
Nikolaj Bjorner 498864c582 adding dump facility for cancelation #2095, easing dimacs in/out
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-24 12:21:23 -08:00
Bruce Mitchener 44bc00f13d Fix typos. 2018-12-23 21:58:57 -05:00
Bruce Mitchener 5fa861fa95 Simplify some boolean returns. 2018-12-04 22:41:31 +07:00
Nikolaj Bjorner f2de15a665
Merge pull request #1982 from waywardmonkeys/avoid-const-params-in-decls
Avoid const params in decls.
2018-11-28 09:08:03 -08:00
Bruce Mitchener 2016f48dc9 Avoid const params in decls.
Const-qualification of parameters only has an effect in function
definitions.
2018-11-28 19:07:33 +07:00
Bruce Mitchener b83d6d77c9 Use nullptr rather than 0/NULL. 2018-11-28 14:57:01 +07:00
Bruce Mitchener e570940662 Prefer using empty rather than size comparisons. 2018-11-27 21:42:04 +07:00
Nikolaj Bjorner 72400f1869 fix #1927
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-12 03:43:04 -08:00
Nikolaj Bjorner cc4b26f738
Merge pull request #1930 from agurfinkel/deep_space
print certificate
2018-11-11 09:31:38 -08:00
Bruce Mitchener 1082fad27a Fix typos. 2018-11-11 22:21:43 +07:00
Arie Gurfinkel d4e476d764 Work around unexpected behaviour in generalizer 2018-11-11 09:06:36 -05:00
Arie Gurfinkel 6cc6ffcde2 Fix display_certificate in spacer
This is expected to work now
(query q1 :print-certificate true)
2018-11-11 09:06:22 -05:00
Arie Gurfinkel 58d93d8907 Fix add external lemmas to solver even if use_bg_invs=false
spacer.use_bg_invs controls how user-supplied invariants are used.
However, the user expects them to be used independent of the option.
2018-11-11 08:41:22 -05:00
Nikolaj Bjorner d7ecaa2ebb add stub for certificate #1926 2018-11-10 09:56:44 -08:00
Florian Pigorsch 326bf401b9 Fix some spelling errors (mostly in comments). 2018-10-20 17:07:41 +02:00
Bruce Mitchener dda62ae78c Use bool literals instead of 0/1. 2018-10-17 22:42:57 +07: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 6704a4be02
Revert "Made Z3 compile for C++17 with MSVC" 2018-10-15 12:52:19 -07:00
Matthew Parkinson 01005a46f6 Made it more legal C++17 2018-10-15 17:25:34 +01:00
Bruce Mitchener 58682c20be dl_util: Use an unsigned to match other values. 2018-10-13 07:58:27 +07:00
Nikolaj Bjorner c4829dfa22 fix #1577 again
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-06 09:01:01 -07:00
Bruce Mitchener 373b691709 Use 'override' where possible. 2018-10-02 10:26:38 +07:00
Bruce Mitchener cdfc19a885 Use nullptr. 2018-10-02 09:11:19 +07:00
Arie Gurfinkel f67346d16e Fix is_infty_level to treat 2^16-1 as infinity 2018-09-04 21:49:59 -04:00
Arie Gurfinkel 5d2f682f7a Enable proof mode in add_cover 2018-09-04 21:49:59 -04:00
Arie Gurfinkel 7bff74dec0 Minor pass on synchronize transform 2018-09-04 21:49:59 -04:00
Arie Gurfinkel 24044429a7 Rename cache to m_cache 2018-09-04 21:49:59 -04:00
Arie Gurfinkel 0516e6f21f Integrating synchronize pass 2018-09-04 21:49:59 -04:00
Arie Gurfinkel 8400122596 mk_synchronize rule transformation 2018-09-04 21:49:59 -04:00
Arie Gurfinkel 3a01fd791b Replace rule API 2018-09-04 21:49:59 -04:00
Arie Gurfinkel 0035d9b8cb Background external invariants
Background external invariants are constraints that are assumed to be
true of the system. This commit introduces a mode in which
background invariants are used only duing inductive generalization
and lemma pushing, but not during predecessor computation.

It is believed that this will be more efficient used of background
external invariants since they will not be able to disturb how
predecessors are generalized and computed.

Based on a patch by Jorge Navas
2018-09-04 21:49:59 -04:00
Arie Gurfinkel 533e9c5837 Expand equality literals when eq_prop is disabled
When equality propagation is disabled for arithmetic,
equality atoms are expanded into inequality for potentially
better generalization with interpolation
2018-09-04 21:49:59 -04:00
Nikolaj Bjorner 84c7df75d6 record statistics setting in config_params so that fp engine can access them, fix serialization bug when check-assumptions returns unsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-06 16:21:27 -07:00
Nikolaj Bjorner d47e06732c bmc improvements, move fd_solver to self-contained directory
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-05 10:02:15 -07:00
Nikolaj Bjorner e041ebbe80 bmc improvements, move fd_solver to self-contained directory
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-05 10:00:49 -07:00
Arie Gurfinkel 5d1149adb2 Transformation to eliminate term-ite expressions from DL rules 2018-07-02 17:09:56 -04:00
Arie Gurfinkel 6d75c31468 First draft of elim_term_ite xform. Not working. 2018-07-02 17:09:56 -04:00
Arie Gurfinkel 7acea2791d -tr:spacer.expand-add --> -tr:spacer_progress 2018-07-02 17:09:56 -04:00
Nuno Lopes cef17c22a1 remove some allocs from exceptions 2018-07-02 17:08:02 +01: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 3ad7d59f22 Merge branch 'master' of https://github.com/z3prover/z3 2018-06-29 21:25:21 -07:00
Nikolaj Bjorner 797e576195 unreferenced variable in release mode, spaces
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-29 21:25:08 -07:00
Arie Gurfinkel 9b578083f5 Avoid non-linear arithmetic in qgen 2018-06-28 16:50:43 -04:00
Arie Gurfinkel 5e87d7c4a3 Formatting: move q3 parameters closer together 2018-06-28 15:38:51 -04:00
Arie Gurfinkel bd63458778 Shuffle assumptions on every call
Order of assumptions appears to make a huge difference on what lemmas
are discovered. Shuffling the assumptions ensures that the solver
is never stuck with any bad order.
2018-06-28 15:38:51 -04:00
Arie Gurfinkel 6422fa3739 Fix arithmetic equality solver in qgen 2018-06-28 15:38:51 -04:00
Arie Gurfinkel 41a05e9d58 Add methods to print pob 2018-06-28 15:38:51 -04:00
Arie Gurfinkel a63e4b48ca Fix order of arguments when normalizing a conjunction 2018-06-28 15:38:51 -04:00
Arie Gurfinkel a8c9e3a837 Bug fix in qgen 2018-06-28 15:38:50 -04:00
Arie Gurfinkel e8e27f0daf Don't simplify bounds when normalizing a lemma 2018-06-28 15:38:50 -04:00
Arie Gurfinkel 0e5434ce0c Debug prints 2018-06-27 22:49:36 -04:00
Arie Gurfinkel 7c924c49f6 Do not evaluate quantified formulas in a model 2018-06-27 22:49:36 -04:00
Arie Gurfinkel 704c19920d Only 10 levels of weakness 2018-06-27 22:49:35 -04:00
Arie Gurfinkel 4339722e98 Fix segfaults in qgen 2018-06-27 22:49:35 -04:00
Arie Gurfinkel 49e9480928 Fix lemma_as_cti option
Use negation of a lemma as a proof obligation. This speeds up discovering
bad lemmas that do not contain some reachable states.
2018-06-27 22:49:35 -04:00
Arie Gurfinkel d7234dc039 Inactive debug code 2018-06-27 22:49:35 -04:00
Arie Gurfinkel 2b4d92821a Avoid crashing on cancel 2018-06-27 22:49:35 -04:00
Arie Gurfinkel f6dcc6fc72 API to find pob in pob_manager 2018-06-27 22:49:35 -04:00
Arie Gurfinkel 5bc57238a6 Track whether pob is in pob_queue
pob_queue is a priority queue. Changing a pob while it is in the queue might change
the priority. This is a source of subtle bugs. The flag is ment to help defend
against this issues in the future.

As a side-effect, a pob that is already in the queue will be silently not added
to it, and a new version of a pob might be created if a version being looked
for is already in the queue.
2018-06-27 22:49:35 -04:00
Arie Gurfinkel c00c6b4285 Pobs are always managed
Removed options to allow unmanaged pobs.
Other minor cleanups.
2018-06-27 22:49:35 -04:00
Arie Gurfinkel 1910b4c87c Rename pobs into pob_manager 2018-06-27 22:49:35 -04:00
Arie Gurfinkel d9100437ce Weakness of the lemma independent of the pob
Lemma inherits its weakness score from the pob. However,
pob's weakness might be reset or changed for some other reason.

To avoid affecting the lemma, the weakness is copied on
construction.
2018-06-27 22:49:35 -04:00
Nikolaj Bjorner eabe91cdef Merge branch 'master' of https://github.com/z3prover/z3 2018-06-27 17:05:52 -07:00
Nikolaj Bjorner 7844476a7d fixes to term-graph, add proof-checker routines for PR_BIND, remove orphaned file
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-27 17:04:47 -07:00
Nikolaj Bjorner 06c9a9f3e1 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-27 08:51:22 -07:00
Nikolaj Bjorner 5762be2a0f fix 1703
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-27 08:49:52 -07:00
Nikolaj Bjorner 520ce9a5ee integrate lambda expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-26 07:23:04 -07:00
Arie Gurfinkel 3af3c82f67 Normalize lit0 in theory clause 2018-06-25 09:21:30 -04:00
Arie Gurfinkel f330b96a35 Gracefully failing in assign-bounds to farkas 2018-06-24 21:03:09 -04:00
Arie Gurfinkel e906930922 Debug code 2018-06-24 20:43:04 -04:00
Arie Gurfinkel 8e57ab5d97 Computing missing coeff for assign-bounds lemma 2018-06-24 20:43:04 -04:00
Arie Gurfinkel 1764bb8785 Cleaning up unsat_core_learner 2018-06-24 20:43:04 -04:00
Arie Gurfinkel 7b2ca769ef Cleanup 2018-06-24 20:43:04 -04:00
Arie Gurfinkel 58dc5451e1 iuc code cleanup 2018-06-24 20:43:04 -04:00
Arie Gurfinkel 9c9d0d0840 convert assign-bounds axioms to farkas lemmas 2018-06-24 20:43:04 -04:00
Arie Gurfinkel ac23002dce Fix bugs in iuc generation 2018-06-24 20:43:04 -04:00
Arie Gurfinkel 4ed6783aff Formatting only. No change to code 2018-06-24 20:43:04 -04:00
Arie Gurfinkel fcfa6baeca Refactor mk_th_lemma 2018-06-24 20:43:04 -04:00
Nikolaj Bjorner 915983821b add rewrite to each branch of mbp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-24 17:06:49 -07:00
Nikolaj Bjorner c32bfb5ecd fix crash during cancelation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-24 15:29:40 -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 c81f25a1c8 fix build issue
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-17 09:59:03 -07:00
Nikolaj Bjorner 035baf7cb9 align use of spaces before for/if/while
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-17 09:43:40 -07:00
Arie Gurfinkel 4204b6ede2 Switch rest of spacer to new model API and remove mev_util 2018-06-16 14:40:17 -07:00
Arie Gurfinkel a222b6d41f Switch reach_fact to new model API 2018-06-16 14:17:33 -07:00
Arie Gurfinkel f226c6682b Switched derivation to new model API 2018-06-16 14:09:24 -07:00
Arie Gurfinkel 5e65b37f25 Switch spacer::qe_project to new model API 2018-06-16 13:58:58 -07:00