3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 08:35:31 +00:00
Commit graph

2313 commits

Author SHA1 Message Date
Nikolaj Bjorner
c3232693f0 use PB solver instead of full arithmetic for bouding Pareto fronts so that difference logic theory isn't broken. Codeplex issue 175
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-02-22 09:46:21 -08:00
Nikolaj Bjorner
49483fdc28 take conflicts during restart into account. reported by Arie Gurfinkel
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-02-21 02:08:00 -08:00
Nikolaj Bjorner
911ffc370a separate MaxSMT functionality to enable using this independently (and incrementally) of overall context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-02-16 09:11:28 +01:00
Nikolaj Bjorner
ded635cd06 Merge branch 'opt' of https://git01.codeplex.com/z3 into opt 2015-02-08 10:25:44 +01:00
Nikolaj Bjorner
8141dadc89 break on small cores
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-02-08 10:22:06 +01:00
Nuno Lopes
bbefc54bf5 add implementation of UNREACHABLE for MSVC in release mode.
This reduces code size of Z3 by 0.1%  \o/

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-02-05 09:53:26 +00:00
Nuno Lopes
0c4d82de58 datalog: optimize previous commit
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-02-02 11:49:58 +00:00
Nuno Lopes
5548ecc853 Datalog: fix bug with the following 2 scenarios:
A(#x00) :- not B().
A() :- not B().

The first case can be further optimized, but committing this for correctness

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-02-02 11:29:49 +00:00
Nuno Lopes
2444440edc DoC: implement get_size_estimate_bytes()
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-02-02 11:28:57 +00:00
Nuno Lopes
c0e0b39a1d Datalog: save memory in the compiler by using a union
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-02-02 10:34:19 +00:00
Nuno Lopes
6017dcace3 datalog: fix compilation for rules like a(X) :- not b(X).
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-01-29 20:41:22 +00:00
Nuno Lopes
4be2f608f1 Datalog: make the compiler reuse registers in simple cases.
this also allows some code simplification

 dl_compiler.cpp |  133 +++++++++++++++++++-------------------------------------
 dl_compiler.h   |   16 +++---
 2 files changed, 54 insertions(+), 95 deletions(-)

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-01-29 13:00:44 +00:00
Nuno Lopes
2e083ab9c2 DoC: specialize union for the case dst=empty and/or delta=empty
this avoids O(n^2) insert and becomes O(n)

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-01-29 08:50:12 +00:00
unknown
f020b7c7b8 Merge branch 'opt' of https://git01.codeplex.com/z3 into opt 2015-01-28 17:54:26 -08:00
Nuno Lopes
1701af9dc9 DoC: fix fast_empty() for tables without columns
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-01-28 11:38:26 +00:00
Nuno Lopes
9e447281ed Datalog: fix bug in compilation of negated queries that referenced vars not in the head.
We will now first add unbounded columns for negation and for filtering
do filter_negation, and finally filter_interpret(_project)
2015-01-27 14:21:34 +00:00
Nuno Lopes
83bae6c8aa DoC: fix bug filter_by_negation when negation table has 0 columns
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-01-27 13:42:14 +00:00
Nuno Lopes
6ab167f0c7 fix debug build
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-01-25 18:31:04 +00:00
Nikolaj Bjorner
37fca65517 fuse join with projection avoiding double insert (but at cost of double projection)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-25 04:37:42 -08:00
Nikolaj Bjorner
761c7d9a40 adding annotation to logging to show number of columns and rows, adding dual propagation sketch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-25 04:01:18 -08:00
Nikolaj Bjorner
aae37c2317 Merge branch 'opt' of https://git01.codeplex.com/z3 into opt 2015-01-23 13:06:27 -08:00
Nikolaj Bjorner
552cbd840f adding soft-assertions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-23 13:06:11 -08:00
Andrey Rybalchenko
044f2a93e7 fix build with gcc 2015-01-23 19:53:14 +00:00
Nuno Lopes
036a56e360 DoC: remove another unused variable 2015-01-23 17:09:17 +00:00
Nuno Lopes
93db50ff64 DoC: further code simplifications 2015-01-23 17:04:09 +00:00
Nuno Lopes
92f6dd4de4 DoC: factorize join and join_project code so that join_project learns need tricks (i.e., prune empty vectors upfront) 2015-01-23 16:55:02 +00:00
Nikolaj Bjorner
e50e02e656 Merge branch 'opt' of https://git01.codeplex.com/z3 into opt 2015-01-20 16:38:55 -08:00
Nikolaj Bjorner
e24db56650 integrating new integer primal loop
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-20 16:38:45 -08:00
Nikolaj Bjorner
f1d9228b94 fix bug in context push/pop for sat solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-20 16:30:46 -08:00
Nikolaj Bjorner
82f1e81ac2 fix build errors on gcc
Signed-off-by: Nikolaj Bjorner <nbjorner@z3-mac.local>
2015-01-19 00:50:08 +00:00
Nikolaj Bjorner
4bb5302def template args
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-18 15:54:18 -08:00
Nikolaj Bjorner
67827ede4c add 'throws' declaration
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-18 04:13:00 +05:30
Nikolaj Bjorner
d45c7ce082 prepare revised primal phase
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-18 04:11:40 +05:30
Nikolaj Bjorner
41ad1d50f9 fix java compilation bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-16 08:08:51 +05:30
Nikolaj Bjorner
05b7aa3ebb flush cache when proof mode changes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-15 14:32:18 +05:30
Nikolaj Bjorner
e28701a64c add assertions to simplifier
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-14 22:09:48 +05:30
Nikolaj Bjorner
bd879c1016 improve logging diagnostics and tracing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-09 15:43:16 -08:00
Nikolaj Bjorner
52c6f7c3b1 refine the safety check for leaving basis. As long as all base variables are unbounded in compatible directions as the non-basic variable we can detect unbounded variables. This partial check fixes integer divergence in a case exposed by Karpenov. Establishing or converting this to a check that always identifies unbounded integer variables is left for further analysis.
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-06 15:22:40 -08:00
Nikolaj Bjorner
ef57e4abe5 extract theory symbols from Boolean objectives
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-05 19:42:06 -08:00
Nikolaj Bjorner
061ac0f23e populate proofs in opt specific tactics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-05 16:44:33 -08:00
Nikolaj Bjorner
2f9e9e1a3c create proof object in elim01. Codeplex issue 158
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-03 11:04:08 -08:00
Nikolaj Bjorner
2cd4669e21 add DT translation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-03 01:47:57 -08:00
Nikolaj Bjorner
129e048a1b Adding field update feature
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-03 01:27:52 -08:00
Nikolaj Bjorner
a296023823 incorrect offset calculation in diff logic optimization. codeplex issue 156
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-12-29 16:15:19 -08:00
Nikolaj Bjorner
7d62ceeadc Merge branch 'opt' of https://git01.codeplex.com/z3 into opt 2014-12-29 12:57:17 -08:00
Nikolaj Bjorner
c54a19b084 generate proof justifications in theory_pb: codeplex issue 157
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-12-29 12:57:02 -08:00
Nuno Lopes
a211fcfb9e muZ/datalog/udoc: fix bug in join_project
The bug was that we could project out don't care columns and don't take copied bits into account.
Bug reported by Ari Fogel

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-12-28 17:05:17 +00:00
Nikolaj Bjorner
d827713ce3 revert to SMT tactic on bv1_blaster_tactic - equalities are not removed, and conjunctions are not converted to NNF (or/not), so the formula still isn't sufficiently blasted
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-12-22 15:40:02 -08:00
Nikolaj Bjorner
f373996f09 Merge branch 'opt' of https://git01.codeplex.com/z3 into opt 2014-12-22 09:27:48 -08:00
Nikolaj Bjorner
c61e9f27db local changes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-12-22 09:27:33 -08:00