Dan Liew
beb21126e2
Move where the Z3 API header files to be scanned by the Python scripts
...
is declared out of ``src/api/CMakeLists.txt`` and into
``src/CMakeLists.txt``. We will need this list to generate the
``api_dll.def`` module definition file for MSVC. Whilst I'm here
also fix a stray use of ``USES_TERMINAL`` in ``add_custom_command()``.
2016-03-04 15:26:09 +00:00
Dan Liew
ce54f6d957
Fix racing MSVC CMake build. The `libz3
` target must have a different
...
OUTPUT_NAME than the ``shell`` target to avoid conflicting file names.
2016-03-04 15:26:09 +00:00
Dan Liew
ca6c41e411
Don't append ${OpenMP_CXX_FLAGS} to Z3_DEPENDENT_LIBS. This is wrong
...
because this is passed to ``target_link_libraries()``. It just so
happens that ``target_link_libraries()`` will interpret arguments
starting with a dash as a flag to pass to the linker (i.e. in this
case ``-fopenmp``). However in the case of MSVC that flag is ``/openmp``
which is the interpreted as a file path which will lead to a linker
failure later because the linker can't find the file ``\openmp.obj``.
2016-03-04 15:26:09 +00:00
Dan Liew
32e51eda2e
Only CMake >= 3.2 supports the `USES_TERMINAL
` argument to
...
add_custom_command()
2016-03-04 15:26:09 +00:00
Dan Liew
9f5f8f128f
CMake 2.8.12 doesn't support the `continue()
` command.
2016-03-04 15:26:09 +00:00
Dan Liew
251527603d
Implement a CMake build system.
...
This is a large rework of my first attempt at this (#459 ).
This implementation calls into the recently implemented python scripts
to generate the necessary generated ``.h`` and ``.cpp`` files but is
independent from Python building system otherwise. Unlike the Python
build system, the generated files are emitted into the build tree to
avoid polluting the source tree. The build system is setup to refuse to
configure if it detects generated files in the source tree. If your
source tree is dirty you can run ``git clean -fx`` to clean your working
directory.
Currently the build succeeds on Linux using CMake 3.4.3 using
the "Unix Makefiles" generator with gcc or clang.
The following notable features are implemented:
* Building of the C and C++ examples and the ``test-z3`` executable.
These are included from the ``all`` target so you have to tell the
build system (e.g. make) to build them manually.
* Install (``make install``) and uninstall (``make uninstall``) of libz3
and its header files. This supports ``DESTDIR`` out of the box because
CMake supports it.
* An option (``BUILD_LIBZ3_SHARED``) to build libz3 as a static or dynamic library.
* Support for using/not using OpenMP (``USE_OPENMP``)
* Support for using/not using libgmp (``USE_LIB_GMP``)
* Setting the SOVERSION for libz3. I'm not sure if I'm setting the
* number correctly though. This is required by Linux distrubtions that
wills ship libz3. This needs discussion.
The following notable features are currently not implemented
and are left for future work.
* Support for ARM.
* Support for the foci2 library.
* Support for creating/installing/uninstalling the dotnet, java, python and ml
bindings.
* Full support for MSVC. Although I've tried to write the CMake code
with MSVC in mind not all the correct flags are passed to it.
* Support for using the git hash.
This new build system has several advantages other the old build system.
* It is easier for outside contributors to contribute to Z3 when the
build system is something more standard.
* Incremental builds work properly. With the old build system when
new code is pulled down the old build directory would need to thrown
out and a new fresh build had to be performed because the build system
didn't know how to correctly rebuild the project (e.g. couldn't handle
new sources being added/removed, compiler flags changing, generated
files changing, etc...). This is a MASSIVE boost to productivity!
* We now have access rich array of features that CMake provides for
building C/C++ projects. This means less time spent implementing
custom build system logic in Python that is already supported by
CMake.
* CMake supports many IDEs out of the box so it should be fairly
straight forward to build Z3 with Visual Studio (once support for MSVC
is added), Xcode, Eclipse CDT, CLion, ..etc.
2016-03-04 15:26:09 +00:00
Christoph M. Wintersteiger
a51201298c
Bugfix for assumptions in inc_sat_solver
2016-03-04 14:42:38 +00:00
Christoph M. Wintersteiger
b2eb5b7170
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-03-04 13:09:50 +00:00
Christoph M. Wintersteiger
8cc3ba5a8b
fixed FP Python doctest examples
2016-03-04 13:09:42 +00:00
Nikolaj Bjorner
6fef24edb4
recursive function definitions; combine model-building functionality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-03 08:07:06 -08:00
Nikolaj Bjorner
50b2389e7f
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-03-03 07:59:13 -08:00
Nikolaj Bjorner
7c6540e18f
recursive function definitions; combine model-building functionality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-03 07:59:03 -08:00
Christoph M. Wintersteiger
1aeea763ff
Assertion fix in inc_sat_solver
2016-03-02 18:39:28 +00:00
Christoph M. Wintersteiger
bf40bb8005
Bugfix for inc_sat_solver
2016-03-02 18:27:01 +00:00
Christoph M. Wintersteiger
68416bf6bc
whitespace
2016-03-02 18:25:56 +00:00
Christoph M. Wintersteiger
bddf416064
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-03-02 18:06:22 +00:00
Christoph M. Wintersteiger
dbf9609b4c
added assertion
2016-03-02 18:06:14 +00:00
Christoph M. Wintersteiger
f128c76f23
whitespace
2016-03-02 18:05:14 +00:00
Christoph M. Wintersteiger
6fa2338edc
Merge pull request #471 from 4tXJ7f/patch-1
...
[Z3py] Fix documentation in FPSortRef
2016-03-02 14:14:54 +00:00
Nikolaj Bjorner
1a081936ac
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-03-01 22:31:53 -08:00
Nikolaj Bjorner
a25336a899
fix test build, working on rec-functions and automata complementation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-01 22:31:44 -08:00
Andres Nötzli
18b9cd1948
[Z3py] Fix documentation in FPSortRef
2016-03-01 18:56:20 -08:00
Christoph M. Wintersteiger
1e86175c03
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-03-01 21:21:32 +00:00
Christoph M. Wintersteiger
59e695f2be
Bugfixes for FP numerals in Python
...
Relates to #464 , #470
2016-03-01 21:21:25 +00:00
Nikolaj Bjorner
9b6963d112
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-03-01 09:48:53 -08:00
Nikolaj Bjorner
67397bf71e
enable logic parameter update to configure SMTLIB logic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-01 09:48:24 -08:00
Christoph M. Wintersteiger
0cb8193cdd
logic fix
2016-03-01 17:42:33 +00:00
Nikolaj Bjorner
7f51ecab37
enable logic parameter update to configure SMTLIB logic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-01 09:26:14 -08:00
Nikolaj Bjorner
31c58b0999
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-03-01 08:46:51 -08:00
Nikolaj Bjorner
908f09a9df
update logic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-01 08:46:43 -08:00
Christoph M. Wintersteiger
c171170bed
Fixed FP string input conversions.
...
Fixes #464
2016-03-01 15:31:33 +00:00
Christoph M. Wintersteiger
b6e43b6d7b
Merge pull request #468 from 4tXJ7f/fix_fp_neq
...
[Z3py] Consistent behavior of eq and ne for FP
2016-03-01 14:07:28 +00:00
Nuno Lopes
62e46aacd9
bv_bounds: make may_simplify more precise to skip exprs with just 1 bound expr
...
speedups up to 3x in selected benchmarks
2016-03-01 11:31:08 +00:00
Nuno Lopes
33431ef922
fix build with gcc
2016-03-01 10:02:24 +00:00
Nuno Lopes
10ea36bfed
fix build with gcc
2016-03-01 10:00:58 +00:00
Andres Notzli
91d6b2cbbb
[Z3py] Consistent behavior of eq and ne for FP
...
Before, x == y and x != y were returning inconsistent expressions (i.e.
`Not(x == y)` was not the same as `x != y`):
>>> x = FP('x', Float32())
>>> y = FP('y', Float32())
>>> (x == y).sexpr()
'(= x y)'
>>> (x != y).sexpr()
'(not (fp.eq x y))'
`=` does not have the same semantics as `fp.eq` (e.g. `fp.eq` of +0.0
and -0.0 is true while it is false for `=`).
This patch removes the __ne__ method from FPRef, so `x == y` and `x !=
y` use the inherited operations while fpEQ and fpNEQ can be used to
refer to `fp.eq(..)`/`Not(fp.eq(..))`.
2016-03-01 00:21:10 -08:00
Nikolaj Bjorner
830a99aab4
finish minimization
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-01 00:04:03 -08:00
Nikolaj Bjorner
4a15d756d7
uint64_t -> uint64 for cross platform
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 22:16:03 -08:00
Nikolaj Bjorner
b90bc4e685
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 21:15:44 -08:00
Nikolaj Bjorner
3b6eef05c9
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-29 20:23:29 -08:00
Nikolaj Bjorner
6cf76f2113
remove references to _DEBUG use Z3DEBUG instead
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 20:23:20 -08:00
Andres Nötzli
c9269c1983
Fix documentation for floating-point comparisons
2016-02-29 19:12:14 -08:00
Nikolaj Bjorner
7ac5e67538
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-29 17:04:32 -08:00
Nikolaj Bjorner
c6c84dd59a
update documentation help to be inline with fpLT. Issue #465
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 17:04:26 -08:00
Nuno Lopes
43202572ee
bv_bounds: switch from rational to uint64
...
this limits the analysis to 64-bit BVs, but gives a speedup of up to one order of magnitude
2016-02-29 17:23:54 +00:00
Nikolaj Bjorner
9efc7f4aea
turn on model completion in validation code
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 09:06:20 -08:00
Nikolaj Bjorner
d89c39cbe2
apply t()
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-29 08:36:25 -08:00
Nuno Lopes
006dc147a8
fix build with gcc 5
2016-02-29 14:34:48 +00:00
Nikolaj Bjorner
7656adc483
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-28 17:05:52 -08:00
Nikolaj Bjorner
df2d7e7628
add intersection using symbolic automata facility
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-28 17:05:12 -08:00
Nuno Lopes
c1eb1cc3f2
bv_bounds: improve perf of push/pop
2016-02-28 20:07:39 +00:00
Nuno Lopes
e7a360ca08
ctx_simplify: remove virtual push() method
2016-02-28 17:57:40 +00:00
Nuno Lopes
51687b2be7
bv_bounds: ensure (bvule x maxuint) is simplified to true
2016-02-28 10:56:48 +00:00
Nikolaj Bjorner
e659845bc0
tune handling of contains, avoid redundant equalities, merge use of indexof.left/right with contains.left/right adding only least-ness constraints in the context of index
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-27 09:56:11 -08:00
Nikolaj Bjorner
1c630ccc9a
Merge branch 'master' of https://github.com/Z3Prover/z3 into HEAD
2016-02-26 18:15:57 -08:00
Nikolaj Bjorner
ce8862d415
fix bug in conflict clause generation in seq-branch-variable
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-26 18:15:45 -08:00
Nuno Lopes
97d6098d00
bv_bounds: make may_simplify() more aggressive for the common case of a single comparison
...
fix expr_has_bounds to handle cases like (bvadd (ite c t e) ...)
2016-02-25 19:41:01 +00:00
Nuno Lopes
6563e458f0
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-25 16:53:45 +00:00
Nuno Lopes
c693c990df
bv_bounds: speedup up to 10x in larger formulas
...
introduce a may_simplify() function to short-circuit evaluation of expression trees that are guaranteed to not be simplifiable
2016-02-25 16:53:35 +00:00
Nuno Lopes
d642d5fe4c
API: add smt.logic parameter to enable setting the logic through the API
...
currently only Z3_solver_set_params() is supported
logic has to be set before solver first usage or before solver reset
2016-02-25 09:47:51 +00:00
Nuno Lopes
c1aa33339d
bv_bounds: early exit in is_bound in case the expr is not boolean
...
~2% speedup
2016-02-25 09:32:10 +00:00
Nikolaj Bjorner
4c408165ab
Merge branch 'master' of https://github.com/Z3Prover/z3 into HEAD
2016-02-24 08:55:28 -08:00
Nikolaj Bjorner
5679fb5d6b
experimenting with alternative prefix encodings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-24 08:55:22 -08:00
Nikolaj Bjorner
4e7a867cd9
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-23 18:42:01 -08:00
Nikolaj Bjorner
d5383e2387
fix bug in definition of rewrite rule for replace, tighten constraints for tightest-prefix
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-23 18:41:56 -08:00
Nikolaj Bjorner
8c68aed69e
Merge branch 'master' of https://github.com/Z3Prover/z3 into HEAD
2016-02-23 08:11:09 -08:00
Nuno Lopes
64888b6b19
ctx_simplify: fix bug in simplification of or exprs
...
this triggered when the or covers the whole space -> true
2016-02-23 10:37:01 +00:00
Nuno Lopes
12458b1a84
remove dead code in qfufbv
2016-02-22 10:22:56 +00:00
Nikolaj Bjorner
63c138c08e
add option to enable equality propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-21 11:16:13 -08:00
Nikolaj Bjorner
8c538fd3f0
setting partial equivalence priority lower so that it doesn't intefere with inlining (partial fix to the fact that inlining will remove such implicit relations). Using short-circuit negation in qe to avoid redundant double negations in intermediary results
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-21 10:31:13 -08:00
Nikolaj Bjorner
d4f41c0420
add goal context for simplifier, disable equality creation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-20 10:13:24 -08:00
Nikolaj Bjorner
c7abc11ce0
Merge branch 'master' of https://github.com/Z3Prover/z3 into HEAD
2016-02-19 08:23:32 -08:00
Nikolaj Bjorner
bff10527d1
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-19 08:23:27 -08:00
Nuno Lopes
7d3af70a63
ctx-simplify: fix mem leak of simplifier
2016-02-19 11:08:01 +00:00
Nuno Lopes
c618838ed9
bv_bounds: fix crash in push() when realloc happened
2016-02-19 11:06:22 +00:00
Nuno Lopes
121b3b60f3
bv_bounds/ctx_simplify: improve handling of (ite x a b) where (not x) is proved to be false
2016-02-19 09:42:42 +00:00
Nikolaj Bjorner
73f93dbadb
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-18 18:10:30 -08:00
Nikolaj Bjorner
a073b37ce3
fix bugs in seq solver: add relevancy and axiom
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-18 18:10:16 -08:00
Nikolaj Bjorner
5962ca2a62
seq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-18 12:08:35 -08:00
Nuno Lopes
73da4dda07
add a bv rewrite pattern:
...
(bvsle (- x (srem x c1)) c2) -> (bvsle x (+ c1 c2 - 1))
2016-02-18 17:45:55 +00:00
Nuno Lopes
d32b4c71d1
[bv_bounds] introduce a tight bit in intervals to denote they are tight (over and under approx)
...
use this to ensure certain transformations remain sound
2016-02-18 15:53:11 +00:00
Nikolaj Bjorner
67958efed2
add fixed length heuristic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-17 21:20:39 -08:00
Nuno Lopes
8718c1c99f
bv_bounds: simplify negated expressions as well
2016-02-17 19:14:02 +00:00
Nikolaj Bjorner
16ced7cda5
Merge pull request #453 from delcypher/fix_clause_allocator_bound_check
...
Fix incorrect (off by one) bound check in clause_allocator
2016-02-17 08:50:51 -08:00
Nuno Lopes
a4cfcd4550
bv_bounds: fix bug in interval intersection for non-wrapping disjoint values
2016-02-17 16:32:43 +00:00
Nuno Lopes
ac20d8bc11
bv_bounds: fix intersection of wrapped intervals
...
e.g., [117, 115] /\ [115, 113] -> [115, 113]
2016-02-17 15:41:12 +00:00
Nuno Lopes
98a92b9255
bv_bounds tactic: change representation to intervals
...
Code by myself and Nikolaj Bjorner
2016-02-17 10:02:40 +00:00
Dan Liew
6c966bba59
Fix incorrect (off by one) bound check. Also assert that we don't
...
increment ``m_num_segments`` beyond the maximum value
(``c_max_segments``).
This is related to #436 .
When doing an AddressSanitized build and running the ``c_example``
it looks like Z3 tries to create too many segments and index out of
bounds. Fixing the checks here causes them to fail which should help
us narrow down the problem.
2016-02-16 14:04:21 +00:00
Nuno Lopes
c05a0dfa61
revert my previous attempt to simplify the destructor of ctx-simplify
...
there can be assertions at level 0
2016-02-16 13:10:17 +00:00
Nuno Lopes
293566d464
ctx-simplify: simplify destructor
2016-02-16 09:53:04 +00:00
Nuno Lopes
98c5a5c86c
move ctx_propagate_assertions class to .cpp file
2016-02-16 09:34:45 +00:00
Nikolaj Bjorner
07953342ac
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-15 17:29:54 -08:00
Nikolaj Bjorner
d3805bbdf6
fix location of level retrieval
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-15 17:29:46 -08:00
Nuno Lopes
96f6bf7028
ctx_simplify: simplify ite if then/else values become equal
2016-02-15 12:06:20 +00:00
Nikolaj Bjorner
8fc58e1ace
propagate bounds implementation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-13 02:07:41 +00:00
Nikolaj Bjorner
d7186eede8
bv bounds tactic for Nuno
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-13 00:13:16 +00:00
Nikolaj Bjorner
e484fc365d
add outline of bv bounds tactic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-12 22:57:47 +00:00
Nikolaj Bjorner
94be6fc776
remove passing suffixes into pdr_sym_mux, trying to isolate cause of issue #420
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-12 19:25:52 +00:00
Nikolaj Bjorner
660eff0b9e
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-12 18:59:05 +00:00
Nikolaj Bjorner
45999b254c
hoist simplifier functionality out of context loop to allow plugging in other contextual simplification methods
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-12 18:58:37 +00:00
Christoph M. Wintersteiger
6319861e26
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-12 18:32:46 +00:00
Christoph M. Wintersteiger
f399fe5e1d
resolved conflicts
2016-02-12 18:29:46 +00:00
Christoph M. Wintersteiger
3356f36b8f
Merge pull request #446 from msullivan/arm-build
...
Fix gcc build failure on ARM caused by including <emmintrin.h>
2016-02-12 18:27:14 +00:00
Nikolaj Bjorner
e2dc7c6f64
add note that current re.complement is non-standard
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-12 17:12:43 +00:00
Nikolaj Bjorner
94453033b6
add partial support for complementation of regular expressions. Handles case of complementing character ranges
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-12 15:59:33 +00:00
Christoph M. Wintersteiger
9dbb8057ca
Merge pull request #449 from kenmcmil/issue243
...
fixed logging on return of Z3_compute_interpolant...
2016-02-12 12:40:01 +00:00
Nikolaj Bjorner
8d61d36c3f
add documentation methods to param_descrs, add C++ API and example for param_descrs. Issue #443
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-12 11:45:00 +00:00
Ken McMillan
8b90bc9e91
fixed logginf on return of Z3_compute_interpolant and added interpolation example to test_capi.c
2016-02-11 16:09:54 -08:00
Michael Sullivan
fa598edf43
Fix gcc build failure on ARM caused by including <emmintrin.h>
...
src/util/hwf.cpp tries to use <emmintrin.h> to directly use SSE
intrinsics. Make sure to only use those when actually on x86 or
x86_64.
2016-02-10 20:47:08 +00:00
Nikolaj Bjorner
9ed7dadc02
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-10 15:02:28 +00:00
Nikolaj Bjorner
a6e1c70eab
fix documentation/default bug. #445
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-10 15:02:22 +00:00
Christoph M. Wintersteiger
fa68b00563
Cleanliness
2016-02-10 14:39:33 +00:00
Christoph M. Wintersteiger
c01f0323c3
Merge branch 'lackr' of https://github.com/MikolasJanota/z3 into MikolasJanota-lackr
2016-02-10 14:26:04 +00:00
Nikolaj Bjorner
84cf208d5f
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-10 12:02:51 +00:00
Nikolaj Bjorner
535fb39313
add documentation comments as raised in #443
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-10 12:02:40 +00:00
Nikolaj Bjorner
56f15e98b5
Merge pull request #444 from delcypher/explicit_solver_timeout_units
...
Explicitly state what the units of the timeout parameter for the "smt" module are.
2016-02-10 11:43:31 +00:00
Dan Liew
ea900db337
Explicitly state what the units of the timeout parameter for the "smt"
...
module are.
2016-02-10 11:35:15 +00:00
Nikolaj Bjorner
5285a795ac
handle configuration passed in as null, deal with crash in logs attached to issue #243
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-10 01:20:16 +00:00
Nikolaj Bjorner
cacfa0cb98
fix build, likely addressing issue #420
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-09 22:58:08 +00:00
Nikolaj Bjorner
a0503ba6a1
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-09 22:24:48 +00:00
Nikolaj Bjorner
5ce85aba40
removing const qualifiers, perhaps this helps for #420 and adding assert to enable Clang analysis earlier for issue #440
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-09 22:23:37 +00:00
Mikolas Janota
73ef125171
Merge remote-tracking branch 'upstream/master' into lackr
2016-02-09 17:28:24 +00:00
Christoph M. Wintersteiger
4ba744987d
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-09 16:38:42 +00:00
Christoph M. Wintersteiger
3df9fea54c
removed unused variables
2016-02-09 16:38:35 +00:00
Nuno Lopes
564343c39c
remove unused methods in ast.cpp
2016-02-09 15:30:05 +00:00
Nikolaj Bjorner
60c0e73b2f
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-09 11:08:52 +00:00
Nikolaj Bjorner
133e3693de
fix bug in replace built-in and move length-equality propagation to branch final check
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-09 11:08:33 +00:00
Christoph M. Wintersteiger
a2f376f9d6
Fixed memory leak in theory_fpa. Relates to #436
2016-02-08 17:17:49 +00:00
Christoph M. Wintersteiger
7e2783c6a2
Fixed javadoc links in comments.
...
Relates to #401 .
2016-02-08 15:25:53 +00:00
Mikolas Janota
b614e7732b
Merge remote-tracking branch 'upstream/master' into lackr
2016-02-08 12:54:22 +00:00
Christoph M. Wintersteiger
92b6a3e134
Fixed exponent cap for fp.add in fpa2bv_converter (was unsound for combinations of many sbits but few ebits).
...
Fixes #439 .
2016-02-07 17:33:33 +00:00
Christoph M. Wintersteiger
e9d94e53f6
Improved FPA simplifier plugin
2016-02-07 15:01:22 +00:00
Christoph M. Wintersteiger
37b11cdc74
Comments, whitespace.
2016-02-07 15:01:09 +00:00
Nikolaj Bjorner
3ef6d91038
fix #434 : repeat documentation remarks about reference counting for disambiguation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-07 14:46:53 +00:00
Nikolaj Bjorner
677b4bf4fe
fix #436 , adding more length-based propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-07 14:43:53 +00:00
Nikolaj Bjorner
fc1f37efc9
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-06 16:14:07 +00:00
Nikolaj Bjorner
5b50d98b89
ensure that seq rewriter gets invoked during pre-processing
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-06 16:13:31 +00:00
Christoph M. Wintersteiger
b61376e8c2
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-05 15:22:42 +00:00
Christoph M. Wintersteiger
7ddd2856c8
Added is_considered_uninterpreted() to decl_plugins.
2016-02-05 15:22:37 +00:00
Christoph M. Wintersteiger
3d37c25bcc
whitespace
2016-02-05 15:16:54 +00:00
Christoph M. Wintersteiger
c11b6d90ce
whitespace
2016-02-05 15:16:19 +00:00
Christoph M. Wintersteiger
757585d96f
Merge pull request #427 from jwakely/patch-1
...
Convert stream to bool explicitly
2016-02-05 15:08:33 +00:00
Christoph M. Wintersteiger
ac19bfb032
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-05 13:53:41 +00:00
Christoph M. Wintersteiger
bb5118acbb
Bugfix for bv*div0 model construction.
2016-02-05 13:53:35 +00:00
Christoph M. Wintersteiger
88f007e9da
whitespace
2016-02-05 13:48:47 +00:00
Christoph M. Wintersteiger
b87f4ca677
whitespace
2016-02-05 13:48:05 +00:00
Christoph M. Wintersteiger
21b85c27e1
whitespace
2016-02-05 13:47:14 +00:00
Nikolaj Bjorner
eae17a43a2
Fix #430 : disable rewriting of concatentations with constants because it breaks equality propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-05 11:00:17 +00:00
Nikolaj Bjorner
cf970fd76a
Fix #430 : disable rewriting of concatentations with constants because it breaks equality propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-05 10:59:24 +00:00
Nikolaj Bjorner
2a65503235
fix #425 and report from Patrick Trentin of same bug in preprocessing soft constraints that are simplified to true/false
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-04 22:35:02 +00:00
Christoph M. Wintersteiger
808eb664cb
Merge branch 'master' of https://github.com/Z3Prover/z3 into lackr
2016-02-04 18:27:19 +00:00
Nikolaj Bjorner
768bb84798
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-04 08:12:56 -08:00
Nikolaj Bjorner
9c7e5c37d1
add equality propagation based on partial length information to sequence theory. Fix issue #429
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-04 08:12:46 -08:00
Mikolas Janota
8547a965ab
changing preamble for qfufbv_ackr_tactic.
2016-02-04 14:05:40 +00:00
Christoph M. Wintersteiger
4e37821dde
"canceled" -> Z3_CANCELED_MSG
...
Relates to #431
2016-02-04 13:52:43 +00:00
mikolas
faa620f673
Further refactoring ackermannization.
2016-02-03 17:31:19 +00:00
mikolas
f3240024e7
Further refactoring ackermannization.
2016-02-03 17:26:58 +00:00
mikolas
2679b74543
refactoring
2016-02-03 13:53:52 +00:00
Mikolas Janota
6f12c0e6f9
bugfix in refactoring
2016-02-03 11:52:11 +00:00
Jonathan Wakely
f02d273ee3
Convert stream to bool explicitly
...
In C++11 there is no implicit conversion from iostream classes to `void*`, just an explicit conversion to bool.
2016-02-02 23:39:11 +00:00
mikolas
0f0d3e55dc
refactoring
2016-02-02 17:58:23 +00:00
mikolas
21b332235a
Merge branch 'lackr' of github.com:MikolasJanota/z3 into lackr
2016-02-02 15:04:32 +00:00
mikolas
bcab9a3600
re-factoring
2016-02-02 15:04:20 +00:00
Christoph M. Wintersteiger
3f6a1eb8c5
Fix for QF_BV core theory detection.
2016-02-02 13:01:32 +00:00
Christoph M. Wintersteiger
35c21779e3
Merge branch 'master' of https://github.com/Z3Prover/z3 into lackr
2016-02-02 11:29:35 +00:00
Nikolaj Bjorner
9b979b6e1e
more string optimizations based on Chris' examples
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-01 17:08:11 -08:00
Christoph M. Wintersteiger
0b298b4df9
Minor fixes for QF_BV div0 ackermannization
2016-02-01 18:04:19 +00:00
Nuno Lopes
16a69e750a
fix break in configure
2016-02-01 17:38:14 +00:00
Nuno Lopes
ea55bd495f
add new API function Z3_get_estimated_alloc_size() that returns *estimated* allocated memory size by Z3
...
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2016-02-01 17:19:55 +00:00
Nuno Lopes
b9c0578eea
fix build on C++98 compilers
2016-02-01 17:12:22 +00:00
Nikolaj Bjorner
fe6799699c
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-02-01 07:51:26 -08:00
Nikolaj Bjorner
995a2e1a29
perf tuning based on Chris's examples
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-02-01 07:51:05 -08:00
Nuno Lopes
cc6769c866
improve bit-blasting for the case (bvsrem var power-of-two)
...
We will now transform bvsrem into an extract + zero extend
Gives ~40% speedup in selected benchmarks
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2016-02-01 13:46:55 +00:00
mikolas
de28e57dee
Adding parameters to Ackermannization in qfbv_tactic.
2016-01-29 17:21:21 +00:00
mikolas
c9799b143d
Adding parameters to Ackermannization in qfbv_tactic.
2016-01-29 17:18:21 +00:00
Mikolas Janota
470b5c20fe
Small modifs in ackermannization.
2016-01-29 16:43:18 +00:00
mikolas
2ce7dc68ad
Adding a probe for estimating the number of Ackermann congruence lemas.
2016-01-29 15:37:10 +00:00
Nikolaj Bjorner
2115111dac
update display method for datalog to use predicates, throttle use of extensionality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-28 20:23:06 -08:00
Mikolas Janota
3e94a44540
Refactoring ackermannization functionality.
2016-01-28 18:18:42 +00:00
Nikolaj Bjorner
847607bda7
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-01-28 08:51:40 -08:00
Nikolaj Bjorner
30f8110488
fix bugs exposed by Chris' sequence unit tests. Improve diagnostics for reason-unknown in combined solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-28 08:51:04 -08:00
Nikolaj Bjorner
b352d43e50
fix bugs exposed by Chris' sequence unit tests. Improve diagnostics for reason-unknown in combined solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-28 08:50:13 -08:00
Mikolas Janota
53c187671f
Merge branch 'lackr' of github.com:MikolasJanota/z3 into lackr
2016-01-28 11:48:20 +00:00
mikolas
acd01c7778
Adding a probe for qf_ufbv and applying it in the qfufbv_ackr_tactic.
2016-01-28 11:46:31 +00:00
Christoph M. Wintersteiger
20df9e1cd1
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-01-28 11:14:11 +00:00
Christoph M. Wintersteiger
5f0ea74e89
Made ufbv-rewriter tactic public
2016-01-28 11:14:01 +00:00
Nikolaj Bjorner
512aa0e8d3
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-01-27 14:47:24 -08:00
Nikolaj Bjorner
87228b6a9d
add a little more verbiage to description of simplify. Issue #424
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-27 14:47:15 -08:00
Nuno Lopes
ac2e8f8b57
Merge branch 'master' of https://github.com/Z3Prover/z3
2016-01-27 18:09:36 +00:00
Nuno Lopes
ee2bae898a
remove unused exceeded_memory_allocations class
2016-01-27 18:09:24 +00:00
Mikolas Janota
28a5c27e33
Merge branch 'lackr' of github.com:MikolasJanota/z3 into lackr
2016-01-27 16:27:35 +00:00
Mikolas Janota
e318d460d7
dbg printing
2016-01-27 16:27:31 +00:00
mikolas
956d774299
Detecting OP_BSDIV0, etc. as uninterpreted functions in ackermannization.
2016-01-27 16:22:28 +00:00
Mikolas Janota
4b37140780
small fix
2016-01-26 18:11:33 +00:00
Nikolaj Bjorner
6529d43fb1
fix bugs exposed by unit tests from Pierre
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-26 09:50:14 -08:00
Mikolas Janota
0dc8dc4d8e
Moving things around. Adding tactic just for ackermannization.
2016-01-26 17:02:30 +00:00
Mikolas Janota
470f8bca73
Merge remote-tracking branch 'upstream/master' into lackr
2016-01-26 16:51:57 +00:00
Mikolas Janota
c63f9f4912
Moving things around. Adding tactic just for ackermannization.
2016-01-26 16:50:00 +00:00
Nikolaj Bjorner
8e378062e2
add get-some-value to seq API, expose quantifier tactics
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-26 08:05:44 -08:00
Nikolaj Bjorner
345f6e87bd
seq bug fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-26 07:21:31 -08:00