Nikolaj Bjorner
52619b9dbb
pull unstable
...
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-04-01 14:57:11 -07:00
Christoph M. Wintersteiger
b76d588c28
Renamed the soft_timeout option to just timeout.
...
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-03-21 16:10:30 +00:00
Nikolaj Bjorner
64e2011d42
fix crash in explanation generation. Codeplex issue 181
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-02-24 17:34:38 -08:00
Nikolaj Bjorner
b8fbc32689
fix crash in explanation generation. Codeplex issue 181
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-02-24 17:03:34 -08:00
Nuno Lopes
d3fb5f2a4c
fix misc compiler warnings
...
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2015-02-15 11:53:24 +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
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
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
05b7aa3ebb
flush cache when proof mode changes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-15 14:32:18 +05:30
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
Nuno Lopes
ee71c434b6
muZ/datalog: remove a few spurious make_empty() calls from the instruction handlers
...
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-12-22 14:17:07 +00:00
Nuno Lopes
dddb31fc37
minor optimization to previous patch
...
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-12-22 13:03:06 +00:00
Nuno Lopes
4ee83c1774
Datalog/DoC: add fast path for join_project for the case 'h(X) :- f(X), g(X).'
...
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-12-22 12:53:35 +00:00
Nuno Lopes
a7c7b70e19
muZ Datalog: be more aggressive when forming join_project
2014-12-22 12:49:31 +00:00
Nikolaj Bjorner
1d18934ddb
fix overflow and integrality bugs reported by Phan
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-12-15 16:19:38 -08:00
Nikolaj Bjorner
ae3d16bc50
fix overflow and integrality bugs reported by Phan
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-12-15 16:18:09 -08:00
Nikolaj Bjorner
e1e27f2c26
optimize the merge function
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-09 10:17:20 -07:00
Nikolaj Bjorner
d038c7bf89
fixing udoc/adding tuned join_project
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-08 22:07:19 -07:00
Nikolaj Bjorner
2362e01a9f
add unit test for join-project
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-08 17:17:14 -07:00
Nikolaj Bjorner
28fb266d8c
Merge branch 'opt' of https://git01.codeplex.com/z3 into opt
2014-10-08 11:05:50 -07:00
Nikolaj Bjorner
00555def4d
improve error handling of parameters and remove work notes from udoc_relation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-08 11:05:38 -07:00
Nuno Lopes
de73a4d893
DoC: fix bug in filter_project with '(not (= c1 c2))' style constraints
...
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-08 11:12:41 +01:00
Nuno Lopes
0cf04589ff
DoC: enable filter_project
...
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-08 09:58:02 +01:00
Nikolaj Bjorner
a3a008bdde
update Deprecated API to avoid memory leak and crash when there is a core, ensure invariant in new code
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-07 19:54:04 -07:00
Nuno Lopes
06c7f3f246
DoC: fix bugs in the new join_project
...
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-07 14:33:23 +01:00
Nuno Lopes
1066955a0f
Merge branch 'opt' of https://git01.codeplex.com/z3 into opt
2014-10-07 13:01:49 +01:00
Nuno Lopes
528bb507b2
DoC: fix memory leak
...
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-07 13:01:35 +01:00
Nikolaj Bjorner
5287089be2
sketch tuned join-project
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-07 04:31:24 -07:00
Nikolaj Bjorner
10c40d64b6
streamline filter-by-negation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-06 15:56:49 -07:00
Nikolaj Bjorner
7ef311acd3
updated check_relation test for join-project
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-06 13:05:53 -07:00
Nuno Lopes
893d51eae8
DoC: implement slow path of filter_negated using join+project.
...
disable fast path since it's broken
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-06 18:10:03 +01:00
Nikolaj Bjorner
db20b2502d
try qx
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-04 19:50:42 -07:00
Nikolaj Bjorner
93a757f45b
add two failing test cases
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-02 10:38:43 -07:00
Nuno Lopes
e778f3e65b
DoC: fix bug in insertion when inserting an element equal to on on the disjunction already
...
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-02 12:49:38 +01:00
Nuno Lopes
7d599fa047
DoC: fix bug I previously introduced in insert
...
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-02 11:54:53 +01:00
Nuno Lopes
9828b26379
DoC: fix slow path of filter_by_negation when columns are repeated in tgt relation
...
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-02 09:56:06 +01:00