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

482 commits

Author SHA1 Message Date
Nikolaj Bjorner 38865ffe0d program the simple joints a bit more defensively per bugs reported by Sean McLaughlin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-31 10:42:41 -08:00
Mikolas Janota 3dbc307ecd Setting up the lackr branch. 2015-12-16 20:10:14 +00:00
Nikolaj Bjorner ee0dbf34f0 add completion (introducing negative root function symbols) to address regression introduced when fixing unsound handling of negative roots
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-16 00:49:06 +02:00
Nikolaj Bjorner 43bc6caa55 fix warning messages
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-15 04:11:11 +02:00
Nikolaj Bjorner 72883df134 fix build, add seq features
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-13 16:02:17 -08:00
Nikolaj Bjorner 2a051719d8 cleanup deprecated critical sections, fix cancellation for par_or_else tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-12 09:43:00 -08:00
Nikolaj Bjorner 1aea9722cb moving to resource managed cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 16:56:23 -08:00
Nikolaj Bjorner baee4225a7 reworking cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 16:21:24 -08:00
Nikolaj Bjorner 981f8226fe moving to resource managed cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 13:36:47 -08:00
Nikolaj Bjorner 32b6b2da44 moving to resource managed cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 13:13:11 -08:00
Nikolaj Bjorner 61dbb6168e cleanup cancelation logic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 12:35:35 -08:00
Nuno Lopes d9cd01f3f7 remove a few leftovers from min aggregation cleanup
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-12-09 09:28:17 +00:00
Nikolaj Bjorner 4bbe1d4674 remove unused min-aggregate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-04 09:23:36 -08:00
Nikolaj Bjorner b3e8020c88 bind variables in queries generated from Horn tactic to enforce that rule formulas don't contain free variables. Issue #328
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-01 14:47:33 -08:00
Nikolaj Bjorner c8f09fa955 fix for unsound results reported in #313
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-16 22:59:07 -08:00
Nikolaj Bjorner b8e4871d9e disable bottom-up coi filtering when relations contain facts. bug reported by SeanMcL
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-15 10:53:00 -08:00
Nikolaj Bjorner 3a3e1796e2 Fix bug #311. update tabs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-14 18:42:11 -08:00
Nikolaj Bjorner f537167080 Fix bug #311
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-14 18:41:16 -08:00
Nikolaj Bjorner 2912c355e2 remove reinterpret_cast. Issue #229, issue #24
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-10-04 10:54:19 -07:00
Nikolaj Bjorner 7768aa5487 compiler warning by daniel j h
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-10-04 10:35:48 -07:00
Nikolaj Bjorner 9b3e242990 adding rlimit resource limit facility to provide platform and architecture independent method for canceling activities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-09-28 13:37:59 -07:00
Christoph M. Wintersteiger f3441c6a9b tabs and indentation 2015-09-17 13:25:22 +01:00
Nikolaj Bjorner f94152c857 fix build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-09-15 10:54:01 +02:00
Nikolaj Bjorner 44105b7aeb reduce verbosity level of error message when equivalence checking fails
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-09-09 08:32:57 -07:00
Nikolaj Bjorner a3c43c34fb change default behavior of solver pretty printer to include declarations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-08-06 18:57:11 +02:00
Christoph M. Wintersteiger 0cd406ca0b Fixed initialization order and unused variable warnings.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-07-30 09:09:13 +01:00
Henning Guenther 5fdc104f82 Improve filter_rules performance
Perform lookup and insert in one operation to avoid duplicate work.
2015-07-23 16:08:09 +01:00
Nikolaj Bjorner a9a5a69b73 remove double underscores
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-09 13:31:22 -07:00
Nikolaj Bjorner 4bc044c982 update header guards to be C++ style. Fixes issue #9
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-08 23:18:40 -07:00
Nuno Lopes 5703abd3f1 Merge branch 'unstable' of https://github.com/Z3Prover/z3 into unstable 2015-07-08 13:39:26 +01:00
Nuno Lopes 8edd551f20 remove uneeded calls to datalog_context::get_rules(), since it can be expensive.
thanks to Henning Guenther for finding this.

Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-07-08 13:39:15 +01:00
Nikolaj Bjorner 940fed16e1 enforce stringstream formatting to avoid default format routine. fixes issue #149
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-06 09:11:52 -07:00
Nikolaj Bjorner 3fd5d0eaba handle variables and quantifiers, fixes issue #150
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-06 08:34:54 -07:00
Nuno Lopes 1f619fd960 cleanup warnings from new dataflow engine
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-06-30 08:47:37 +01:00
Nikolaj Bjorner 769127d531 add dummy file to fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-29 15:10:38 -07:00
Henning Guenther c7e96d897a Replace cone-of-influence filter with generalized dataflow-engine
Signed-off-by: Henning Guenther <t-hennig@microsoft.com>
2015-06-29 10:50:51 +01:00
Nuno Lopes f29d82858f make check_relation::check_equiv() exit only when solver return SAT (ie, avoid false-positives with unknowns)
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-06-24 17:13:24 +01:00
Nuno Lopes 30eb461e01 disable debug output from check_relation
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-06-24 17:06:22 +01:00
Nuno Lopes 5cc8c8bde6 udoc: micro optimization for compiler_guard
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-06-24 17:06:21 +01:00
Nikolaj Bjorner 03034e7b33 disable bottom-up COI on rules with negated predicates. Fixes issue #140
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-24 17:06:19 +01:00
Nikolaj Bjorner 3de2a70a48 move functionality from qe_util to ast_util
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-24 17:06:17 +01:00
Nikolaj Bjorner 158a5dd2db add count of memory allocations and way to limit allocations globally. Fix purification in nlsat_smt to fix regressions on QF_UFNRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-24 17:06:12 +01:00
Nikolaj Bjorner 22c0a593e7 deal with unit test failure cases, fixes #132 #133
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-24 17:06:08 +01:00
Matthias Schlaipfer 37cb5b9597 Fixed a bug in udoc_relation's join project
An optimization was applied in too many cases and led to wrong results.

Signed-off-by: Matthias Schlaipfer <t-matsch@microsoft.com>
2015-06-24 17:06:06 +01:00
Nikolaj Bjorner 8fc6789955 remove spurious print statement
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-24 17:06:06 +01:00
Nikolaj Bjorner 1a5327e427 strengthen quantifier check for PDR (and other engines) that don't handle quantified predicates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-24 17:06:05 +01:00
Nikolaj Bjorner ca31c979fe re-enable transformations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-11 12:00:21 -07:00
Nikolaj Bjorner 868b430b8b use scoped pointers instead of explicit deallocation (robust under exceptions)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-11 10:19:29 -07:00
Alex Horn 8c097044e8 Add basic compiler support for min aggregation function
Signed-off-by: Alex Horn <t-alexh@microsoft.com>
2015-06-11 16:23:26 +01:00
Alex Horn c8a123b7dd Disable a few rule transformations
For this prototype, we need to disable three rule transformations,
namely coi_filter, similarity_compressor, rule_inliner. But
disabling the inliner causes problems with the tracer in the
datalog interpreter. Since a new proprocessor is underway, we
skip the problematic trace outputs for now.

Signed-off-by: Alex Horn <t-alexh@microsoft.com>
2015-06-11 16:16:47 +01:00
Alex Horn 565c0f785f Fix memory leaks
Signed-off-by: Alex Horn <t-alexh@microsoft.com>
2015-06-11 09:20:52 +01:00
Alex Horn bd57994f78 Merge branch 'unstable' of https://github.com/Z3Prover/z3 into minimum
Signed-off-by: Alex Horn <t-alexh@microsoft.com>

Conflicts:
	src/test/dl_table.cpp
2015-06-10 20:35:28 +01:00
Alex Horn 132f984d51 Add syntactical min checker
The purpose of this patch is to find out more about the "shape" of
the constraints in our benchmarks. In particular, we would like to
determine whether aggregation and negation, together, appear in
recursive rules.

Signed-off-by: Alex Horn <t-alexh@microsoft.com>
2015-06-10 20:19:14 +01:00
Alex Horn 9b7c5658c8 Ignore min aggregation functions in compiler for now
Signed-off-by: Alex Horn <t-alexh@microsoft.com>
2015-06-10 20:06:09 +01:00
Nikolaj Bjorner b08ccc7816 added missing Copyright forms
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-06-10 11:54:02 -07:00
Alex Horn 140fb7942d Add datalog infrastructure for min aggregation function
This patch adds an instruction to the datalog interpreter and
constructs a new AST node for min aggregation functions.

The compiler is currently still work in progress and depends on
changes made to the handling of simple joins and the preprocessor.

Signed-off-by: Alex Horn <t-alexh@microsoft.com>
2015-06-10 18:14:14 +01:00
Matthias Schlaipfer bc94007207 Fixed non-deterministic behaviour in relation_map
Use of ptr_hash and subsequent iteration led to non-deterministic behaviour in Datalog engine.

Signed-off-by: Matthias Schlaipfer <t-matsch@microsoft.com>
2015-06-02 14:58:31 +01:00
Nikolaj Bjorner 6f42cbd325 remove std-out
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-06-01 09:22:19 -07:00
Nikolaj Bjorner ed7e0e11a8 n/a
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-28 20:55:13 -07:00
Nuno Lopes b10f79a941 dl_compiler: minor simplifications
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-05-27 17:07:18 +01:00
Nikolaj Bjorner f100d4feda hoist out basic union find
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-21 11:10:42 -07:00
Nikolaj Bjorner 28f6adf79e disable hybrid relations pending overhaul/deletion of product relations
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-05-20 09:21:55 -07:00
Christoph M. Wintersteiger 32fb679066 tabs 2015-05-19 11:01:15 +01:00
Nikolaj Bjorner 203c5015c8 fix debian amd64 warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-18 15:17:21 -07:00
Nuno Lopes d8dc86f558 Merge branch 'unstable' of https://github.com/mschlaipfer/z3 into unstable 2015-05-18 16:38:19 +01:00
Nikolaj Bjorner 5632900f35 fix gcc compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-16 12:04:10 +01:00
Nikolaj Bjorner 64bd62b17e fix gcc compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-16 11:56:04 +01:00
Nuno Lopes 6c22edc988 fix assorted compiler warnings
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-05-16 11:44:58 +01:00
Matthias Schlaipfer c82319b358 Refactor count_vars and count_rule_vars
ast_manager m was not used
2015-05-14 17:04:38 +01:00
Alex Horn e576ca50bf Fix typo in documentation
Signed-off-by: Alex Horn <t-alexh@microsoft.com>
2015-05-12 14:24:59 +01:00
Alex Horn efaba8eb40 Fix negation in documentation
Signed-off-by: Alex Horn <t-alexh@microsoft.com>
2015-05-12 14:22:32 +01:00
Alex Horn 0f78238b7e Fix typo in documentation
Signed-off-by: Alex Horn <t-alexh@microsoft.com>
2015-05-12 13:18:51 +01:00
Nuno Lopes c2ef566ddc Merge pull request #81 from ahorn/opt
Fix g++ compile-time error
2015-05-12 10:44:28 +01:00
U-EUROPE\t-alexh b882a94f6a Fix g++ compile-time error
Signed-off-by: U-EUROPE\t-alexh <t-alexh@microsoft.com>
2015-05-12 10:23:25 +01:00
Nikolaj Bjorner c96c4c7af7 Merge branch 'opt' of https://github.com/Z3Prover/z3 into opt 2015-05-11 17:12:04 -07:00
Nikolaj Bjorner bf6ab3fc03 local state
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-11 17:11:52 -07:00
Nikolaj Bjorner e53462c1c1 update ddnf experiment code
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-05-11 17:11:21 -07:00
Nikolaj Bjorner 839e3fbb7c add ddnf tests, add facility to solve QF_NRA + QF_UF(and other theories) in joint solver to allow broader use of QF_NRA core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-09 19:40:34 -07:00
Nikolaj Bjorner 9377779e58 merge with unstable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-04-30 10:40:03 -07:00
Nikolaj Bjorner ffc3a36dcb checked ite-expressions as shared for bounds detection
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-04-23 19:59:33 +02:00
Ken McMillan af444beb2e re-indenting interp and duality 2015-04-15 12:22:50 -07:00
Nikolaj Bjorner 9978cba5a8 Codeplex issue 191: inconsistent results from PDR engine. The report exposed bugs in the implementation of the priority queue leaving unexplored leaves durin search. The priority queue has now been revised to address the exposed bugs
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-04-01 16:27:15 -07:00
Nikolaj Bjorner 52619b9dbb pull unstable
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-04-01 14:57:11 -07:00
Nikolaj Bjorner 9c55be14fb change print parameters to use hyphen instead of namespace dots
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-04-01 10:56:40 -07:00
Nikolaj Bjorner 10cdbb881f enable canceling simplex on interrupt, investigating PDR inconsistency
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-03-25 12:13:57 -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 dffb0ff844 Merge branch 'opt' of https://git01.codeplex.com/z3 into opt 2015-02-24 17:04:01 -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
nikolajbjorner fcb4962016 add patch suggested by Arie Gurfinkel
Signed-off-by: nikolajbjorner <nbjorner@microsoft.com>
2015-02-23 11:18:24 -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
Christoph M. Wintersteiger 1209302fe6 Fixed integration issues
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-21 15:34:21 +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
Christoph M. Wintersteiger 71912830f1 Formatting, mostly tabs
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-08 17:54:44 +00:00
Christoph M. Wintersteiger 0381e4317a Formatting, mostly tabs.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-08 17:54:04 +00: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
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 08cb8b8de8 address divergence in the case of shared theory symbols. Codeplex issue 147, thanks to George Karpenkov
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-12-09 16:04:25 +01:00
Ken McMillan d815af9f0f merge duality changes with unstable 2014-10-22 10:14:05 -07:00
Nikolaj Bjorner ce18421a7a fix box
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-15 14:29:39 -07:00
Nikolaj Bjorner 92166eb5cb deal with warning for unused parameter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-14 13:12:40 -07:00
Nikolaj Bjorner 2c1c932185 deal with compiler warning on unused field
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-14 13:09:02 -07: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 e1c2049343 Merge branch 'opt' of https://git01.codeplex.com/z3 into opt 2014-10-06 08:37:41 -07:00
Nikolaj Bjorner e363f1547f avoid re-declaration of contains_pred
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-06 08:37:34 -07:00
Nikolaj Bjorner db20b2502d try qx
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-04 19:50:42 -07:00
Ken McMillan ec48f6d129 working on transforms for duality 2014-10-04 19:07:14 -07:00
Ken McMillan e8985ff33d working on transforms in duality 2014-10-04 17:17:33 -07:00
Ken McMillan 16445569f1 fix for quantifier abstraction 2014-10-04 16:31:01 -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
Nikolaj Bjorner bb15ddbf15 update unit tests to use filter_by_negation verifier from check_relation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-01 15:21:42 -07:00
Nuno Lopes 04b5d436b3 DoC: fix fast path of filter_negated
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-01 18:03:59 +01:00
Nuno Lopes 5211e9aa1a DoC: compact result of subtract
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-10-01 17:10:35 +01:00
Ken McMillan 301cb51bbb added restarts options to duality (plus some other disabled features) 2014-09-30 12:42:30 -07:00
Nuno Lopes 115ab12ade DoC: code cleanups
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-30 17:16:14 +01:00
Nuno Lopes 8d1177bf3f DoC: compact result of substract and maintain invariant
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-30 16:24:59 +01:00
Nuno Lopes 1606359dc9 DoC: add slow path to emptiness detection that uses SMT solving
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-30 15:58:38 +01:00
Nuno Lopes 938a5adafa DoC: make fold_neg detect empty TBVs
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-30 13:00:29 +01:00
Nuno Lopes 5176cbeefb fix printing of TBVs
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-30 11:26:49 +01:00
Nikolaj Bjorner e6725b2344 merge unstable into opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-26 12:12:24 -07:00
Nikolaj Bjorner 08ef9f34bc add lipstick note
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-26 08:46:14 -07:00
Nikolaj Bjorner 061a18efcf move some configuration parameters into dl_context, add notes to udoc_relation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-26 08:22:25 -07:00
Nikolaj Bjorner 74053275cf consolidate rule checking in separate class
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-25 19:05:49 -07:00
Nikolaj Bjorner 8e2fedbc2e Merge branch 'opt' of https://git01.codeplex.com/z3 into opt 2014-09-25 09:33:20 -07:00
Nikolaj Bjorner a2d8fd4c4b local opts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-25 09:33:12 -07:00
Nuno Lopes b7397b6967 relations with no columns are not always non-empty.
fix that in the udoc datalog backend

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-25 16:27:20 +01:00
Nuno Lopes aaa931e0d5 fix build with gcc
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-25 15:56:01 +01:00
Nuno Lopes 84a61b5454 reenable datalog while loop priting
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-25 14:36:37 +01:00
Nuno Lopes 41d7c50e29 fix debug build
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-25 14:10:17 +01:00
Nuno Lopes 4a710cf86d sync with unstable (port bugfix)
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-25 11:35:32 +01:00
Nikolaj Bjorner 9cea3a1c02 last? bug-fix to new udoc_relation for feature parity
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-24 22:08:49 -07:00
Nikolaj Bjorner 979d1f913a fix bug in union_fn: delta should not be reset, it is shared among several union computations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-24 16:46:00 -07:00
Nikolaj Bjorner 6457654e2e make self-contained bind-variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-24 14:30:30 -07:00
Nikolaj Bjorner 918d52f1b0 tune and fix doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-24 09:20:21 -07:00
Nikolaj Bjorner 16f80fce92 add check_relation for integrity checking of relational operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-24 01:06:58 -07:00
Nikolaj Bjorner 1111c0494f adding validation code to doc/udoc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-23 17:10:00 -07:00
Nikolaj Bjorner 54506408f9 fix overflow bugs in doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-22 22:03:59 -07:00
Nikolaj Bjorner 83e7107485 fix bugs in doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-22 17:45:01 -07:00
Nikolaj Bjorner 4cf8905a8f fixing join
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-22 11:08:23 -07:00
Nikolaj Bjorner 75b11d2b75 fix bugs in doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-22 03:22:26 -07:00
Nikolaj Bjorner 8c34cfca31 streamline condition, fix bugs in doc::subtract
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-22 01:54:51 -07:00
Nikolaj Bjorner 3203b6e2db fix bug in contains check
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-22 01:42:14 -07:00
Nikolaj Bjorner 816119e8ae fix bug in contains check
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-22 01:37:11 -07:00
Nikolaj Bjorner 22808a039d working on udoc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-21 20:25:11 -07:00
Nikolaj Bjorner a50cbef877 testing doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-20 19:01:15 -07:00
Nikolaj Bjorner 2552c1530b doc unit tests pass
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-20 10:19:54 -07:00
Nikolaj Bjorner f94bdf4035 updated unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-20 01:05:43 -07:00
Nikolaj Bjorner 2b2ba2d541 unit testing doc relation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-19 21:55:20 -07:00
Nikolaj Bjorner 25914c0492 testing filter interpreted
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-19 18:18:40 -07:00
Nikolaj Bjorner 6a8623ef0c remove extra udoc_relation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-19 11:01:38 -07:00
Nikolaj Bjorner 5679cc7567 move doc code to rel, adding unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-19 11:00:30 -07:00
Nikolaj Bjorner cb8ad76677 finished code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 23:51:11 -07:00
Nikolaj Bjorner adce20119f doing project
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 22:30:45 -07:00
Nikolaj Bjorner 6db3ca1236 unit test merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 21:58:11 -07:00
Nikolaj Bjorner 0d5b1637ba debug projection
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 20:45:13 -07:00
Nikolaj Bjorner 8154fc24e1 testing projection
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 15:42:30 -07:00
Nikolaj Bjorner 4173bf930b fix-eq bits and projection
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 14:08:53 -07:00
Nikolaj Bjorner c2db127a45 fix-eq bits and projection
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 14:04:06 -07:00
Nikolaj Bjorner 8384a27eca handle fix_eq functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 11:43:18 -07:00
Nuno Lopes 61d67dc2de fix a few compiler warnings
Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
2014-09-18 14:38:40 +01:00
Nikolaj Bjorner 9116d38628 doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-18 06:07:03 -07:00