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

5038 commits

Author SHA1 Message Date
Nikolaj Bjorner 5d11a1cdb2 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-24 01:31:16 -07:00
Nikolaj Bjorner c56c7fd649 add handlers for dense difference logic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-24 01:31:00 -07:00
Christoph M. Wintersteiger 37167a8dd6 Fixed excessive trace output 2017-03-23 19:53:23 +00:00
Nikolaj Bjorner 0313f52cf2 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-23 11:10:32 -07:00
Nikolaj Bjorner 62e87d6474 fix double ownership of enode marking causing crash during tracing. Issue #952
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-23 11:10:19 -07:00
Nikolaj Bjorner 1ab7ab9d74 fix double ownership of enode marking causing crash during tracing. Issue #952
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-23 11:09:36 -07:00
Nikolaj Bjorner 26ae3a5abb making simplifier code exception friendlier. Towards getting a handle on #939
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-22 19:06:59 -07:00
Nikolaj Bjorner e47e8c67c0 introducing scoped detacth/attach of clauses to enforce basic sat solver invariants. Part of investigating #939:
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-22 14:12:47 -07:00
Nikolaj Bjorner 25d839ed10 fix bug in simplifier of bv2int over concatentations exposed by #948
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-22 10:55:55 -07:00
Nikolaj Bjorner e342b87921 Merge pull request #942 from mtrberzi/str-extract-semantics
alternate str.extract semantics in seq_rewriter
2017-03-21 10:48:06 -07:00
Murphy Berzish 6804c88b66 make seq.extract rewrite type-generic 2017-03-21 12:54:06 -04:00
Nikolaj Bjorner 6be4c9a5bb Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-21 07:40:40 -06:00
Nikolaj Bjorner ca4ae171ea remove unsound simplification in prefix #949
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-21 07:40:35 -06:00
Nuno Lopes 8ac060c549 fix build with VS 2017 2017-03-20 09:12:41 +00:00
Nikolaj Bjorner d58018841e remove code that causes infinite loop. Stackoverflow question from Dominik Wojtaszek
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-17 10:52:16 -07:00
Nikolaj Bjorner d754aa2dc4 disable ackerman reduction when head contains a non-constant/non-variable. #947
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-17 10:12:32 -07:00
Nikolaj Bjorner a0237ed2a6 fix crash reported in #946
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-16 18:56:43 -07:00
Nikolaj Bjorner 72651e2e98 fixing sources for double frees of clauses. #940
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-14 19:35:11 -07:00
Nikolaj Bjorner 05c267b8d8 make seq.at operations generic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-14 15:37:47 -07:00
Murphy Berzish 34717a7b6e str.extract semantics fix 2017-03-14 14:14:46 -04:00
Nikolaj Bjorner 0668ba5f6c add pb shorthands to C++. Issue #694
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-14 07:58:39 -07:00
Nikolaj Bjorner 7634f8b93e Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-14 07:47:51 -07:00
Nikolaj Bjorner 1dd2de61ec add sum shorthand to C++. Issue #694
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-14 07:43:26 -07:00
hume 0b1d564509 added no exception support to z3++.h 2017-03-14 18:11:00 +08:00
Murphy Berzish 5c9d7538a0 add alternate str.at semantics check in seq_rewriter
this rewrites to empty string if the index is negative or beyond the length of the string,
which is consistent with CVC4's semantics for this term
2017-03-13 14:39:12 -04:00
Dan Liew 2cb4223979 [CMake] Support including Git hash and description into the build.
CMake will automatically pick up changes in git's HEAD so that
the necessary code is rebuilt when the build system is invoked.

Two new options `INCLUDE_GIT_HASH` and `INCLUDE_GIT_DESCRIBE` have been
added that enable/disable including the git hash and the output of `git
describe` respectively. By default if the source tree is a git
repository both options are on, otherwise they are false by default.

To support the `Z3GITHASH` macro a different implementation is used from
the old build system. In that build system the define is passed on the
command line. This would not work well for CMake because CMake
conservatively (and correctly) rebuilds *everything* if the flags given
to the compiler change. This would result in the entire project being
rebuilt everytime git's `HEAD` changed.  Instead in this implementation
a CMake specific version of `version.h.in` (named `version.h.cmake.in`)
is added that uses the `#cmakedefine` feature of CMake's
`configure_file()` command to define `Z3GITHASH` if it is available and
not define it otherwise. This way only object files that depend on
`version.h` get re-built rather than the whole project.

It is unfortunate that the build systems now have different `version.h`
file templates. However they are very simple and I don't want to
modify how templates are handled in the python/Makefile build system.
2017-03-12 22:11:59 +00:00
Nikolaj Bjorner 1f4f4514bf Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-12 09:40:58 +01:00
Nikolaj Bjorner 8bec1e25a8 move restore relevancy until after literals have been replayed
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-12 08:32:06 +01:00
James Bornholt 559c5e5ae6 z3py: With tactical should not try to use context as a parameter 2017-03-11 16:09:25 -08:00
Nikolaj Bjorner 228111511c fixing build break, addressing #935
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-11 18:41:36 +01:00
Nikolaj Bjorner 509f7409ba adding fixedpoint object to C++ API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-10 23:01:43 +01:00
Nikolaj Bjorner 338193548b fixing build break, adding fixedpoint object to C++ API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-10 22:52:55 +01:00
Nikolaj Bjorner fbf81c88a2 remove print breaking build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-09 11:13:38 +01:00
Nikolaj Bjorner 854bb2197f include recursive functions to models. Issue #898
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-08 21:41:24 -08:00
Nikolaj Bjorner 6f68355fbc Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-08 21:33:43 -08:00
Nikolaj Bjorner 29969648ba check that formulas are in lira before invoking qsat. Issue #919
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-09 05:52:46 +01:00
Nikolaj Bjorner fcda4cee9f ensure evaluation of array equalities is enabled for external facing evaluator. Issue #917
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-09 05:29:56 +01:00
Nikolaj Bjorner 829519b837 fix bug for bit-vector optimization. Issue #928
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-08 10:19:35 +01:00
Nikolaj Bjorner 202ac0d1ee Merge branch 'master' of https://github.com/Z3Prover/z3
:wi
2017-03-08 10:08:54 +01:00
Nikolaj Bjorner 41e6fafc58 fix bug for bit-vector optimization. Issue #919
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-08 10:07:31 +01:00
Christoph M. Wintersteiger b57764800c Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-07 18:10:31 +00:00
Christoph M. Wintersteiger 8f14cfadd2 Tabs, whitespace 2017-03-07 18:10:03 +00:00
Murphy Berzish ad0766898c add boolean operators to zstring and fix ostream 2017-03-04 15:20:57 -05:00
Nikolaj Bjorner 4792229c2b Merge pull request #922 from mtrberzi/regex-unroll
add _re.unroll internal operator to seq_decl_plugin
2017-02-27 18:37:37 -08:00
George Karpenkov be1e9918f0 Class Optimize#Handle should be static,
as it already includes an explicit reference to the Optimize class.
2017-02-27 18:49:02 +01:00
George Karpenkov b3be83e7c5 Sane indentation + removing extra spaces for Optimize.java 2017-02-27 18:48:44 +01:00
George Karpenkov d6c79facc7 Java API for getting the objective value as a triple
See #911 for the motivation,
and e02160c674 for the relevant change
in C API.
2017-02-27 18:42:44 +01:00
Nikolaj Bjorner 899843b7cd fix unhandled finite domain sort rewrite case. Issue #918
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-26 17:20:54 -08:00
Nikolaj Bjorner 996c0f0666 fix type on exception message
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-25 16:14:50 -08:00
Nikolaj Bjorner c7591e3c99 remove unreferenced label
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-24 11:13:08 -08:00
Nikolaj Bjorner 183ee7e37d expose bounds as vector expressions instead of containing ad-hoc expressions. Issue #911
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-24 11:10:18 -08:00
Nikolaj Bjorner e02160c674 expose bounds as vector expressions instead of containing ad-hoc expressions. Issue #911
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-24 11:07:40 -08:00
Nikolaj Bjorner 8437cb7132 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-02-24 07:54:25 -08:00
Murphy Berzish 0ebd93c8b5 add _re.unroll internal operator to seq_decl_plugin 2017-02-23 20:57:19 -05:00
Murphy Berzish eb0ba26f90 C-style octal escapes, including 1- and 2-digit escapes 2017-02-23 18:33:10 -05:00
Murphy Berzish 61bbf8ba7e add octal escape to seq_decl_plugin 2017-02-23 18:24:08 -05:00
Nikolaj Bjorner b0dd3f3238 add recursive function graphs to model, adapt rewriter to bypass branches whose evaluation is redundant
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-16 13:58:12 -08:00
Nikolaj Bjorner c67cf1653c use non _ method from z3printer module so to be resilient against how _ is handled as indicator of private functions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-15 08:46:58 -08:00
Nikolaj Bjorner 216e17e5e2 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-02-13 08:16:43 -08:00
Nikolaj Bjorner e7a21dfac2 add par_and_then
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-13 08:16:39 -08:00
Nikolaj Bjorner 6fcba26ea6 make parameters accessible from expressions. Issue #896
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-12 09:56:49 -08:00
Nikolaj Bjorner b3dabc7ccf add missing mod/rem/is_int functionality to C++ API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-11 16:28:15 -05:00
Nikolaj Bjorner 4c6efbbc8b expose numerator/denominators for Martin and Giles
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-11 16:02:51 -05:00
Nikolaj Bjorner b42973152f fix model generation for non-linear expressions, reported by Martin Suda and Giles Reger
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-11 12:02:32 -05:00
Nikolaj Bjorner 3a0e9e8f53 add itos/stoi conversion to API. Issue #895
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-11 11:31:13 -05:00
Christoph M. Wintersteiger e4411265ea Fixed model-converter segfault in ::check_sat. Relates to #881 2017-02-05 17:53:44 +00:00
Christoph M. Wintersteiger 54280b6cc5 Fixed model-converter segfault in ::check_sat. Relates to #881 2017-02-05 17:20:45 +00:00
Christoph M. Wintersteiger d6b4e99489 Fixed signed/unsigned warnings 2017-02-05 16:03:00 +00:00
Christoph M. Wintersteiger 5682c43604 Merge pull request #881 from dwoos/tactic-labels
Thread labels through tactic system
2017-02-04 20:37:11 +00:00
Christoph M. Wintersteiger c56edc63d2 Merge pull request #882 from dwoos/sine-filter
Add basic Sine Qua Non filtering
2017-02-04 20:24:09 +00:00
Nikolaj Bjorner 999d17e29b Merge branch 'master' of https://github.com/Z3Prover/z3 2017-02-02 11:29:19 -08:00
Nikolaj Bjorner bd0bd6052a Merge branch 'master' of https://github.com/Z3Prover/z3 2017-02-02 10:19:21 -08:00
Nikolaj Bjorner 9ca52a3361 fix bug in lexicographic handling in maxres: previous assumptions were not committed in corner cases
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-02 10:19:11 -08:00
Nikolaj Bjorner 2e89c2de3d add par_or tactic to C++ API. #873
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-02 09:35:04 -08:00
Doug Woos d6fbfe401e add and use new is_pattern recognizer 2017-02-01 16:21:15 -08:00
Doug Woos 44c417904b correctly pretty-print 2017-02-01 16:21:01 -08:00
Doug Woos a147e2bc35 use is_uninterp 2017-02-01 16:20:40 -08:00
Nikolaj Bjorner 9cfd412cd0 enable pb theory always as pb terms can be introduced during transformations. Issue #884
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-01 15:28:29 -08:00
Nikolaj Bjorner 256a0e2d82 move exchange par
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-01 12:12:26 -08:00
Nikolaj Bjorner 40177f7bac bypass combined solver when logic is set to QF_FD
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-01 08:05:04 -08:00
Nikolaj Bjorner 4d8d705b3f bypass combined solver when logic is set to QF_BV or QF_FD
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-01 08:02:24 -08:00
Nikolaj Bjorner f015e3e4cc fix bug in propagation of parameters to combined solvers
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-31 17:17:58 -08:00
Nikolaj Bjorner bdfa84c6fe fix issues with running parallel solver: random strategy should not be a default on all solvers. Also reuse base solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-31 13:22:03 -08:00
Doug Woos d9e43f0e6d use insert_if_not_there 2017-01-31 11:48:52 -08:00
Doug Woos 89ba99918e reindent 2017-01-31 11:48:52 -08:00
Doug Woos c0bb6dd2be delete unused args 2017-01-31 11:48:51 -08:00
Doug Woos da63f6b0ff delete comment 2017-01-31 11:48:51 -08:00
Doug Woos b00c4d2e64 add name 2017-01-31 11:48:51 -08:00
Nikolaj Bjorner 1d1949e395 ensure that parallel threads are only invoked when thread count > 1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-30 18:30:06 -08:00
Doug Woos 8196173e29 Introduce and use labels_vec 2017-01-30 15:50:34 -08:00
Doug Woos 3791810920 add const & 2017-01-30 15:09:57 -08:00
Nikolaj Bjorner 76bc4f0b38 refine parsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-30 11:30:42 -08:00
Nikolaj Bjorner dadcc6e8ff Merge branch 'master' of https://github.com/Z3Prover/z3 2017-01-30 02:09:26 -08:00
Nikolaj Bjorner 37ee4c95c3 adding parallel threads
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-30 02:09:08 -08:00
Doug Woos a9d61d48ae Add basic Sine Qua Non filtering 2017-01-27 11:22:39 -08:00
Doug Woos 5796e15088 Thread labels through tactic system 2017-01-27 11:07:13 -08:00
Nikolaj Bjorner b70f1f0319 fix overflow exposed in #880
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-27 09:47:18 -08:00
Nikolaj Bjorner 962979b09c rework sat.mus to use restart count for bounded minimization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-26 13:28:40 -08:00
Nikolaj Bjorner 7386e2f3e9 add warning for scearios of #876
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-25 18:29:30 -08:00
Nikolaj Bjorner 6e6c5935d7 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-01-25 18:09:37 -08:00