3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 21:38:44 +00:00
Commit graph

5660 commits

Author SHA1 Message Date
Nikolaj Bjorner ec47706226 fix constant offset and handling of ite in difference logic optimizer code-path. Issue #946
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-24 02:23:50 -07:00
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
Murphy Berzish 82d472a227 Merge remote-tracking branch 'upstream/master' into develop 2017-03-23 13:35:58 -04: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
Murphy Berzish 43f9a0a2bd fix unterminated char* 2017-03-17 13:48:30 -04: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
Murphy Berzish 8021d63539 remove legacy str_decl_plugin and str_rewriter classes; these have been unified with sequence-compatible equivalents 2017-03-15 15:25:48 -04: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 5917a34226 Merge branch 'upstream-master' into develop 2017-03-14 15:04:17 -04:00
Murphy Berzish 9659f08322 Merge branch 'str-extract-semantics' into develop 2017-03-14 14:14:53 -04: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 24df976f95 fixup startswith/endswith to prefixof/suffixof 2017-03-13 17:03:36 -04:00
Murphy Berzish 94d5f242b8 Merge branch 'str-at-semantics' into develop 2017-03-13 14:40:40 -04: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
Murphy Berzish b459d17624 fix int-to-str terms in theory_str not being picked up 2017-03-10 13:53:55 -05:00
Murphy Berzish c198bc5863 fix re.range rewrite for theory_str 2017-03-10 13:13:45 -05: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 4d5c1dcfb6 fix model gen for regex terms in theory_str 2017-03-06 17:04:07 -05:00
Murphy Berzish 577cb19745 experimental rewrite of bitvector unit sequences to string constants 2017-03-06 13:58:03 -05:00
Murphy Berzish 82b1a61b25 fix string operator names 2017-03-04 16:30:36 -05:00
Murphy Berzish ad0766898c add boolean operators to zstring and fix ostream 2017-03-04 15:20:57 -05:00
Murphy Berzish 9f79015ee6 patches to theory_str for theory_seq compat 2017-03-01 22:18:18 -05:00
Murphy Berzish d00723e7ea add String name for string sort, SMTLIB2.5 compat 2017-03-01 18:23:48 -05:00
Murphy Berzish ab71dea82d theory_str refactoring 2017-02-28 17:47:55 -05:00
Murphy Berzish 8b077ebbe7 re-add regex NFA 2017-02-28 14:06:13 -05:00
Murphy Berzish 9ac0d098ac Merge remote-tracking branch 'upstream/master' into release-1.0 2017-02-28 12:45:04 -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
Murphy Berzish 11000efbfe fix zstring 2017-02-27 21:16:15 -05:00
Murphy Berzish c62b55f9b1 fix npos semantics 2017-02-27 20:51:30 -05:00
Murphy Berzish 3f1ceedcb1 theory_str refactor pass 2 2017-02-27 20:48:55 -05:00
Murphy Berzish 725352234d refactoring theory_str 2017-02-27 13:22:56 -05: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 7e3e434147 Merge branch 'upstream-master' into release-1.0 2017-02-23 19:18:58 -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
Murphy Berzish a7b21dc5d5 refactor: aligned external/internal names for str.strong_arrangements option 2017-02-23 16:00:05 -05:00
Murphy Berzish 3816779ba1 fix indent 2017-02-23 15:25:20 -05:00
Murphy Berzish 6387d59f5c refactor: remove commented-out code 2017-02-23 15:08:05 -05:00
Murphy Berzish 858c754b15 refactor: remove unused variable in smt_case_split_queue 2017-02-23 15:05:43 -05:00
Murphy Berzish 5107e5cafc refactor: remove t_str_refcount_hack traces 2017-02-23 15:01:55 -05:00
Murphy Berzish cff7c450c3 refactor: uint_set 2017-02-23 14:57:48 -05:00
Murphy Berzish 179b0f7630 clean up todos theory_str 2017-02-21 19:52:27 -05:00
Murphy Berzish 15e3d3ec3c octal escape theory_str 2017-02-21 15:51:08 -05:00
Murphy Berzish fe1a976c21 fix merge remnant 2017-02-18 15:25:04 -05:00
Murphy Berzish 235ea79043 Merge branch 'upstream-master' into release-1.0
Conflicts:
	src/cmd_context/check_logic.cpp
	src/cmd_context/cmd_context.cpp
	src/cmd_context/cmd_context.h
	src/smt/params/smt_params_helper.pyg
	src/smt/smt_context.cpp
2017-02-18 15:04:44 -05:00
Murphy Berzish 90705cfd5f remove todo from str api 2017-02-17 13:28:52 -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
Murphy Berzish 2e27e1cd36 fix obj_map insertions theory_str 2017-02-15 16:08:54 -05:00
Murphy Berzish d67f732c7c theory_str data structure refactoring 2017-02-15 13:39:55 -05: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
Murphy Berzish f9b3c47bf5 remove commented-out old worklists 2017-02-14 18:45:09 -05:00
Murphy Berzish d5b1e4b015 refactor theory_str: all library-aware/high-level terms are in one worklist 2017-02-14 18:44:40 -05:00
Murphy Berzish 3e714075c4 theory_str refactor: check_contain_by_substr uses contain_pair_idx_map 2017-02-14 16:09:45 -05:00
Murphy Berzish 52eaae9da0 theory_str refactor: check_contain_by_eqc_val uses contain_pair_idx_map 2017-02-14 15:19:03 -05:00
Murphy Berzish 5ca4f2a1c8 theory_str cleanup 2017-02-13 17:15:13 -05:00
Murphy Berzish e699f25889 theory_str cleanup 2017-02-13 16:24:32 -05: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
Murphy Berzish 3670fa64e6 add hex escape support theory_str 2017-02-11 16:59:06 -05: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
Murphy Berzish c456795acd temporarily remove finite model finding from theory_str 2017-02-07 17:14:11 -05:00
Murphy Berzish 55cb440aae add cut var info for theory_str processtype2 2017-02-07 14:41:16 -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
Murphy Berzish 19779f1a9b fix string operators in theory_str, this breaks theory_seq temporarily 2017-01-31 11:49:10 -05: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
Murphy Berzish ebcfa966c7 data structure refactor in theory_str 2017-01-30 16:07:32 -05: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
Murphy Berzish fa1ec0b80f smtlib25 draft standard in theory_str 2017-01-27 16:49:40 -05:00
Murphy Berzish a879b24011 add str.prefixof, str.suffixof in theory_str 2017-01-27 16:26:30 -05: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
Nikolaj Bjorner 777091e653 fix part 1 of #875
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-25 18:09:27 -08:00
Nikolaj Bjorner 4782e19086 fix bug in sat-simplifier decreasing heap values of variables that are not in the heap
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-25 16:21:51 -08:00
Nikolaj Bjorner 60783e5696 fix regression for z3num
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-25 13:26:58 -08:00
Nikolaj Bjorner 4ec4abd7e3 fix test for int-value
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-23 13:31:43 -08:00
Murphy Berzish 09ac5645e4 parameterize theory-aware activity of overlap 2017-01-22 23:21:20 -05:00
Christoph M. Wintersteiger adf8072eaa Added option to limit the distance of unsat core extension through patterns. 2017-01-21 12:28:37 +00:00
Murphy Berzish 50e2273dbd substr bugfix 2017-01-20 17:39:32 -05:00
Nikolaj Bjorner 1bfd09e16b Merge branch 'master' of https://github.com/Z3Prover/z3 2017-01-19 19:31:24 -08:00
Nikolaj Bjorner e23509797a access parameters from Python API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-19 19:28:20 -08:00
Christoph M. Wintersteiger 5c1ffe13d1 x64 build fix for .NET 3.5 API 2017-01-18 13:06:28 +00:00
Christoph M. Wintersteiger 81c3a7dabd Merge branch 'master' of https://github.com/Z3Prover/z3 2017-01-18 12:32:10 +00:00
Christoph M. Wintersteiger a334020f2c Added .NET 3.5 solution/project files 2017-01-18 12:32:02 +00:00
Nikolaj Bjorner 16552d32cb Merge branch 'master' of https://github.com/Z3Prover/z3 2017-01-17 14:19:32 -08:00
Nikolaj Bjorner 0aa912371b Another fix for #847. Reset wmax theory solver state between lex calls, otherwise it uses stale constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-17 14:19:24 -08:00
Nikolaj Bjorner 735998c386 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-01-17 13:41:25 -08:00
Nikolaj Bjorner 873d975c77 fix bug in consequence extraction: the order of bcp is not fixed between restarts, so the order of unit literals may not be preserved. This is relatively rare, so we optimize for the case where we assume bcp preserves order (and maybe miss some consequences)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-17 13:41:15 -08:00
Murphy Berzish a570149b57 finite overlap models with binary search 2017-01-17 14:49:57 -05:00
Christoph M. Wintersteiger 6d34899c46 Bugfix for macro finder. Fixes #832. 2017-01-17 15:44:03 +00:00
Murphy Berzish 794e210958 finite model fix 2017-01-16 21:42:11 -05:00
Murphy Berzish 0af834421f finite model finding for other concat cases in theory_str 2017-01-16 18:24:47 -05:00
Murphy Berzish e459617c39 experimental finite model finding WIP, first successful run 2017-01-16 18:04:03 -05:00
Murphy Berzish 4e2847dea4 Revert "scale theory-aware priority by bvar_inc"
This reverts commit aa8bf2668f.
2017-01-16 15:46:28 -05:00
Murphy Berzish 4b6582b8f3 Revert "experimental z3str2 search order"
This reverts commit 0dfaa30ae8.
2017-01-16 15:46:17 -05:00
Murphy Berzish 0dfaa30ae8 experimental z3str2 search order 2017-01-16 14:46:04 -05:00
Christoph M. Wintersteiger e472a8d4cf Enabled filenames in error messages during inclusion of files. 2017-01-16 15:46:58 +00:00
Christoph M. Wintersteiger 090a331d79 Added filenames to error messages for when we have more than one file. 2017-01-16 15:43:13 +00:00
Christoph M. Wintersteiger 00a50eea7f Added (include ...) SMT2 command. 2017-01-16 15:05:58 +00:00
Nikolaj Bjorner dc543a7ee7 update macro_util logging to uniform format
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-15 21:13:22 -08:00
Nikolaj Bjorner c4c9de0838 fix memory leaks from cancellations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-15 20:09:27 -08:00
Nikolaj Bjorner 24eae3f6e0 fix crash with unary xor #870
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-15 12:06:56 -08:00
Nikolaj Bjorner ee36662435 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-01-15 11:56:01 -08:00
Nikolaj Bjorner 7df803c131 Fix unsound handling of upper bounds in wmax, thanks to Patrick Trentin for report and careful repros #847
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-15 11:52:48 -08:00
Murphy Berzish aa8bf2668f scale theory-aware priority by bvar_inc 2017-01-14 15:28:58 -05:00
Murphy Berzish a9ec8666f0 add phase selection to theory-aware branching queue 2017-01-14 14:43:57 -05:00
Nikolaj Bjorner bc6b3007de remove unused features related to weighted check-sat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-13 20:53:22 -08:00
Murphy Berzish dd03632f3d Merge branch 'develop' of github.com:mtrberzi/z3 into develop 2017-01-13 12:57:50 -05:00
Murphy Berzish f033a77fae modify theory-aware branching to manipulate activity instead of giving absolute priority 2017-01-13 12:57:48 -05:00
Murphy Berzish 677fcdcb41 concat overlap avoid in theory_str 2017-01-12 18:41:30 -05:00
Christoph M. Wintersteiger f1a4a48491 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-01-12 12:49:35 +00:00
Christoph M. Wintersteiger 2458db30cf Corner-case fix for smt::solver::pop_core 2017-01-12 12:49:26 +00:00
Murphy Berzish 6576dabd58 add tracing info to theory_str cut var map 2017-01-12 00:20:34 -05:00
Daniel Perelman 3370adcdff Mark void DummyContracts as Conditional to avoid compiling their arguments. 2017-01-11 17:02:26 -08:00
Christoph M. Wintersteiger 650ea7b9cc Bugfix for smt.core.extend_patterns 2017-01-11 18:40:11 +00:00
Murphy Berzish 20a8ad9b21 correctly reserve entries in theory aware branching queue heap 2017-01-10 22:15:46 -05:00
Murphy Berzish bc5af58734 additional theory-aware branches in theory_str 2017-01-10 20:08:35 -05:00
Murphy Berzish 1363f50e4f demonstration of theory-aware branching in theory_str, WIP 2017-01-10 19:50:46 -05:00
Christoph M. Wintersteiger 9f49905582 Formatting, whitespace, and Z3_API annotations. 2017-01-10 21:05:27 +00:00
Christoph M. Wintersteiger d8d869822f Cleaned up #include<iostream> in api* objects. 2017-01-10 21:04:44 +00:00
Murphy Berzish 3459c1993e experimental theory-aware branching code 2017-01-10 15:38:33 -05:00
Christoph M. Wintersteiger 384468bc99 Added option to extend unsat cores with literals that (potentially) provide quantifier instances. 2017-01-10 20:22:20 +00:00
Christoph M. Wintersteiger ba9d36605b Formatting, whitespace 2017-01-10 20:22:20 +00:00
Murphy Berzish 9004e1b23e disable length test/theory case split integration theory_str 2017-01-10 12:34:44 -05:00
Christoph M. Wintersteiger 8047f0d91a GCC compilation/keyword fix. Relates to #864 2017-01-10 14:06:56 +00:00
Christoph M. Wintersteiger 8f95ee01e1 Removed polynomial factorization test cases. Relates to #852 and fixes #865. 2017-01-10 14:02:59 +00:00
Nikolaj Bjorner 331658f208 remove polynomial factorization as suggested by issue #852
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-09 21:30:54 -08:00
Nikolaj Bjorner 8d09b6e4a8 add at-least and pbge to API, fix for issue #864
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-09 21:23:00 -08:00
Murphy Berzish 5f854c6689 experimental linear search theory case split in theory_str 2017-01-09 15:11:56 -05:00
Murphy Berzish 6f5c1942f0 theory_str length propagation 2017-01-08 20:15:45 -05:00
Nikolaj Bjorner c69a86e647 fix bug in antecedent collection for consequence finding: once an antecedent is set, it should not be cleared
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-06 19:34:50 -05:00
Nikolaj Bjorner e9edcdc6e6 moderate exception behavior for issue #861
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-05 16:09:16 -05:00
Nikolaj Bjorner f443bfed87 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-01-04 19:05:52 -08:00
Nikolaj Bjorner ddf4bc548f allow disabling exceptions from C++. Issue #861
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-04 19:04:43 -08:00
Murphy Berzish c190d45859 fix binary search string length axiom 2017-01-04 15:56:16 -05:00
Nikolaj Bjorner ae9a3bfc24 add operator for issue #860
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-04 09:14:09 -08:00
Murphy Berzish f9d7981c1e add theory case split to theory_str binary search 2017-01-03 15:45:04 -05:00
Christoph M. Wintersteiger cb75a55095 Fixed initialization order warning. 2017-01-03 13:41:08 +00:00
Nikolaj Bjorner 74d3de01b3 enable incremental consequence finding with restart timeout
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-02 10:07:02 -08:00
Murphy Berzish f3e064cb07 theory_str binary search crash avoidance when a negative length is reached 2016-12-31 13:28:32 -05:00
Nikolaj Bjorner a4d5c4a00a make get_consequence call skip check-sat if a model is already there
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-30 18:05:19 -08:00
Nikolaj Bjorner 8dde60f634 initialize watch in assign_eh
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-26 10:18:55 -08:00
Nikolaj Bjorner aaf6e67ec8 add restart.max parameter to control cancellation based on restart count
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-25 17:43:47 -08:00
Nikolaj Bjorner 2bd29548da improve parser error message over API, streamline names of statistics for arithmetic solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-25 17:27:56 -08:00
Nikolaj Bjorner c44dd01292 fix missing else reported in #855
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-22 20:56:14 -08:00
Nikolaj Bjorner 46df31babf Merge branch 'master' of https://github.com/Z3Prover/z3 2016-12-22 20:54:14 -08:00
Nikolaj Bjorner 1787fa8296 remove redundant disjunction in compilation of at-most-1 constraints, log mutexes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-22 20:54:09 -08:00
Nikolaj Bjorner a444a33c30 updated encodings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-22 17:45:21 -08:00
Murphy Berzish 0a6c23148f fix empty vector edge case in binary search 2016-12-22 19:33:38 -05:00
Murphy Berzish 2dc9b486d3 theory_str binary search heuristic WIP 2016-12-22 19:17:42 -05:00
Nikolaj Bjorner f52baf1e17 fix build again
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-21 10:48:43 -08:00
Nikolaj Bjorner 4bcf1bf2f6 fix debug build, unused variable warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-21 10:44:49 -08:00
Nikolaj Bjorner df492e200f merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-21 10:04:02 -08:00
Nikolaj Bjorner 8d18fd075e remove sources for unused variable warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-21 09:54:45 -08:00
Murphy Berzish df63b62763 fix vector manip bug in theory case split 2016-12-20 17:32:51 -05:00
Murphy Berzish ab0fcc42f9 theory case split heuristic 2016-12-20 16:21:07 -05:00
Murphy Berzish a04bc9974b theory case split WIP 2016-12-20 11:14:42 -05:00
Dan Liew b5aa6d5eb5 Fix issue with bd1f07f864 pointed out by
@nunolopes .

If `pthread_cond_signal()` is called while `m_mutex` is held then the
timing thread might be woken up twice due to waking up from
`pthread_cond_timeout()` (due to being signaled) but then being forced
to sleep again because the thread calling `~imp()` is still holding
`m_mutex` (which the timing thread needs to acquire).
2016-12-19 22:36:42 +00:00
Nikolaj Bjorner 0c6c104f9a Merge pull request #841 from delcypher/scope_timer_spurious_wakes
Make `scoped_timer` robust to spurious wakes under Linux.
2016-12-19 08:22:03 -08:00
Murphy Berzish 94762d276d add string constant cache to theory_str and associated param 2016-12-18 18:47:38 -05:00
Nikolaj Bjorner 189d449cff fix generation of wcnf
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-18 14:49:45 -08:00
Murphy Berzish e5d3e425f1 theory_str caching of all string constants 2016-12-18 15:23:05 -05:00
Nikolaj Bjorner 5083b1adee Merge branch 'master' of https://github.com/Z3Prover/z3 2016-12-17 16:03:02 -08:00
Nikolaj Bjorner 5cb21924ad ensure that FD logic understands pb from command context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-17 16:02:54 -08:00
Murphy Berzish e85f9d33c4 add "legacy" support for theory case splits
this replicates what was done in theory_str to add axioms excluding each
pair of literals from being assigned True at the same time;
no new heuristics are being used in smt_context (yet)
2016-12-16 15:50:03 -05:00
Christoph M. Wintersteiger 6ce903b1d6 Style, whitespace. 2016-12-16 20:04:29 +00:00
Murphy Berzish dd8cd8199b theory_str refcount debug messages and beginning theory case split 2016-12-16 14:37:34 -05:00
Murphy Berzish 67e7307777 add cut var debug info, wip 2016-12-14 15:00:17 -05:00
Murphy Berzish 27a2c20c1c add more parameters for theory_str 2016-12-13 19:38:40 -05:00
Murphy Berzish bced5828f7 theory_str parameters 2016-12-13 17:20:58 -05:00
Murphy Berzish f5bc17b864 theory_str params module, WIP 2016-12-13 16:12:57 -05:00
Nikolaj Bjorner c1480b4389 handle model generation from issue #748. Deal with warnings from #836
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-12 00:40:52 +01:00
Dan Liew bd1f07f864 Fix implementation of scoped_timer under Linux where it was
incorrectly assumed that `pthread_cond_timedwait()` would exit
due to a condition variable being signaled or a timeout occuring.

According to the documentation `pthread_cond_timedwait()` might
spuriously wake so we introduce a new variable `m_signal_sent` (that is
guarded by an existing mutex) that is used as the variable to check that
the thread wake was not spurious.

This is intended to partially fix #839 .
2016-12-11 23:12:36 +00:00
Nikolaj Bjorner 7cc093eee0 Add rewrite rule for property encoded in #812
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-11 11:05:12 +01:00
Nikolaj Bjorner 2307a7ffa7 fix bug in handling of repeated soft constraints. #815
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-11 10:19:57 +01:00
Nikolaj Bjorner 0765eea486 add suggestions from #835
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-11 05:45:40 +01:00
Nikolaj Bjorner 70bb92d016 remove nested booleans during pre-processing. issue #837
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-11 05:16:31 +01:00
Nikolaj Bjorner ff46a925a2 bail out on failure to properly project. issue #837
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-11 04:25:05 +01:00
Nikolaj Bjorner 20790c46ee bail out on failure to properly project
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-11 04:23:07 +01:00
Nikolaj Bjorner 32c63ce4cd address other warnings per input from delcypher
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-10 17:23:59 +01:00
Nikolaj Bjorner 6594c3a046 add virtual destructor to intermediary class in case this helps for #835
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-10 13:58:39 +01:00
Nikolaj Bjorner dea3b8ddf7 address warnings from #836
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-10 13:14:36 +01:00
Nikolaj Bjorner 8e078cf9e2 address #835
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-10 07:52:00 +01:00
Nikolaj Bjorner fe10f2d244 address #835
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-10 07:51:16 +01:00
Murphy Berzish 09053b831d enforce nonempty string constraint on refreshed nonempty string vars 2016-12-09 17:23:39 -05:00
Nikolaj Bjorner 0ef14ffa08 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-12-09 23:18:02 +01:00
Nikolaj Bjorner e092232f67 add virtual destructors, fix operator code for API methods complement and intersection per note by Loris d'Antoni
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-09 23:17:52 +01:00
Murphy Berzish e9411e5b8c explicitly re-introduce string axioms on refreshed string theory vars
this fixes at least one case (kaluza/unsat/big/9650.smt2) where a string
could have a negative length value due to a constraint that went out of scope
2016-12-09 17:12:29 -05:00
Murphy Berzish 737565180f disable stronger arrangements in theory_str for now 2016-12-09 16:55:34 -05:00
Christoph M. Wintersteiger 4c664f1c05 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-12-09 15:03:36 +00:00
Christoph M. Wintersteiger 16b32ecf12 Bugfix for special-case handling in fp.fma.
Thanks to Florian Schanda for reporting this bug.

(+reversed accidental debug code commit).
2016-12-09 15:03:31 +00:00
Nikolaj Bjorner a17e957362 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-12-09 15:32:26 +01:00
Nikolaj Bjorner acba529bce fix bug in encoding of axioms for indexof. Issue #806
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-09 15:32:15 +01:00
Christoph M. Wintersteiger 56b1a8b086 Bugfix for special-case handling in fp.fma.
Thanks to Florian Schanda for reporting this bug.
2016-12-09 13:43:05 +00:00
Christoph M. Wintersteiger 9df5c31485 Whitespace 2016-12-09 13:40:46 +00:00
Nikolaj Bjorner 0ab2067b69 produce error message for cores with optimization. Issue #825
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-09 13:15:40 +01:00
Nikolaj Bjorner 99b7c26e9f exposing regular expression features to address issue #831
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-09 13:05:02 +01:00
Nikolaj Bjorner 8e6600c6be add python API for newly exposed regex constructors
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-09 09:09:03 +01:00
Nikolaj Bjorner 976fadf771 add missing complement
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-09 06:21:57 +01:00
Nikolaj Bjorner 0473d2ef56 add regular expression features to C# API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-09 06:17:13 +01:00
Nikolaj Bjorner a82b5e21fe add regular expression operations to C and C++ API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-09 06:11:36 +01:00
Murphy Berzish 515cd4a3f3 add boolean case split in theory_str::solve_concat_eq_str 2016-12-08 14:49:38 -05:00
Nikolaj Bjorner 4e25bffab6 add range constructor to .NET API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-08 18:33:02 +01:00
Nikolaj Bjorner feb801564b adding range to C API. Issue #831
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-08 18:28:27 +01:00
Christoph M. Wintersteiger dc0d29a00c Bugfix for model construction. Fixes #828. 2016-12-08 16:14:54 +00:00
Murphy Berzish 7b0aaf8745 boolean case split theory_str concat_eq remaining cases 2016-12-06 16:22:42 -05:00
Murphy Berzish 225b527d58 boolean case split theory_str process_concat_eq_type2 2016-12-06 16:09:38 -05:00
Murphy Berzish b57f04e2d2 optimize generate_mutual_exclusion in theory_str to make only half as many subterms 2016-12-06 12:59:40 -05:00
Murphy Berzish da61c99f9e experimental boolean case split in theory_str process_concat_eq_type1 WIP 2016-12-06 12:52:48 -05:00
Murphy Berzish 938dcaa669 Merge branch 'develop' of github.com:/mtrberzi/z3 into develop 2016-12-05 20:17:44 -05:00
Murphy Berzish be9cb8db82 regex tracing theory_str 2016-12-05 20:17:43 -05:00
Murphy Berzish 35ad68d9b5 assert stronger arrangements theory_str 2016-12-05 15:13:48 -05:00
Christoph M. Wintersteiger f1a704484b Re-added context creation locks in the Java API. Relates to #819. 2016-12-01 23:16:15 +00:00
Murphy Berzish 406b622f59 Revert "testing term generation refactor in theory_str::check_length_const_string"
This reverts commit edf151c9a0.
2016-12-01 15:19:51 -05:00
Murphy Berzish b020c71f8a Revert "ref_vector refactoring in theory_str::check_length_concat_concat"
This reverts commit 599cc1e75d.
2016-12-01 15:19:51 -05:00
Murphy Berzish 548f635f7e Revert "experimental non-reuse of XOR vars in theory_str"
This reverts commit fd1bf65b64.
2016-12-01 15:19:50 -05:00
Murphy Berzish 10c0d94cf2 Revert "refactor theory_str::check_length_concat_var"
This reverts commit 170e2b4e2a.
2016-12-01 15:19:50 -05:00
Nuno Lopes dedae29300 add a few more statics to avoid symbol clashes 2016-12-01 17:37:07 +00:00
Nuno Lopes e697d3e810 remove 2 outdated comments 2016-12-01 14:10:31 +00:00
Nuno Lopes 42b26c63e5 make a few functions static 2016-12-01 14:01:20 +00:00
Murphy Berzish 170e2b4e2a refactor theory_str::check_length_concat_var 2016-11-30 19:41:00 -05:00
Murphy Berzish fd1bf65b64 experimental non-reuse of XOR vars in theory_str 2016-11-30 15:52:58 -05:00
Murphy Berzish 599cc1e75d ref_vector refactoring in theory_str::check_length_concat_concat 2016-11-30 13:08:42 -05:00
Nikolaj Bjorner 7ebc660b6d Merge branch 'master' of https://github.com/Z3Prover/z3 2016-11-30 09:52:15 -08:00
Nikolaj Bjorner 024082a45f adding preferred sat, currently disabled, to wmax. Fixing issue #815
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-30 09:52:05 -08:00
Murphy Berzish edf151c9a0 testing term generation refactor in theory_str::check_length_const_string 2016-11-29 21:46:00 -05:00
Murphy Berzish 947d443726 improved regex concat rewrite 2016-11-29 19:46:37 -05:00
Nikolaj Bjorner d9227b95ea blast distinct in incremental BV solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-29 15:45:23 -08:00
Murphy Berzish 361f02ef1d remove assignment refcount hack from theory_str::pop_scope_eh 2016-11-28 21:34:55 -05:00
Murphy Berzish f968f79d1c refactor solve_concat_eq_str to use expr_ref_vector 2016-11-28 18:47:42 -05:00
Murphy Berzish b77f6666dc refactor process_concat_eq_type_6 to use expr_ref_vector 2016-11-28 18:40:28 -05:00
Murphy Berzish 1e65511a3f save a few functions to trail in theory_str 2016-11-28 16:21:26 -05:00
Nuno Lopes 4b4365470d mam compiler: move reset of matched_exprs cache next to code reset 2016-11-28 15:40:25 +00:00
Nuno Lopes 2babd192b8 small optimization in compilation of multi-patterns
also make the path faster for single patterns
2016-11-28 14:43:47 +00:00
Nuno Lopes 4452ac0d6d optimize pattern matching code generator for DAG patterns
generated code now uses COMPARE instructions to compare subtrees instead of diving into both subtrees. Code is thus smaller and fails faster.
2016-11-28 13:48:15 +00:00
Murphy Berzish 8c33dfab39 fix escape character overflow print 2016-11-27 20:51:34 -05:00
Christoph M. Wintersteiger 1799310155 Fixed iterator invalidation bug in SAT probing. Relates to #798. 2016-11-26 14:07:05 +00:00
Murphy Berzish 1fa8129c8f pretty-printing of general escape sequences for string literals 2016-11-25 18:02:24 -05:00
Nikolaj Bjorner 441dbbb94b streamline logging in arithmetic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-24 13:08:50 -08:00
Murphy Berzish 889b6be2c3 fix smt-lib 2.5 double quotes in pp 2016-11-23 19:03:53 -05:00
Martin Nowack 762e5fd093 Do not request time stamp if not needed
If no timeout is needed for solving queries, time stamps do not
need to be acquired.
2016-11-23 16:38:21 +01:00
Murphy Berzish 8e962aa427 escape chars in smt2 printing of string constants 2016-11-22 18:32:03 -05:00
Murphy Berzish 11d8ffc4d4 escape characters in theory_str 2016-11-22 18:21:40 -05:00
Nikolaj Bjorner 7a4c20698f fix handling of AC operator ++ on regular expressions. Issue #804
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-22 13:02:17 -08:00
Christoph M. Wintersteiger 71ca355257 Fixed OpenMP problems in log synchronization. Relates to #798. 2016-11-22 13:26:29 +00:00
Christoph M. Wintersteiger dee7c29b19 Added optional synchronization for multi-thread API logs. Relates to #798. 2016-11-22 11:32:25 +00:00
Nikolaj Bjorner d3fe015ff5 Merge pull request #796 from rickyz/nondependent_name
Fix GCC/Clang compilation.
2016-11-20 06:29:37 -08:00
Nikolaj Bjorner 725e79e9eb re-enable ematching on recursive function definitions, disabling ematching breaks regressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-20 06:24:47 -08:00
Nikolaj Bjorner 650a719298 fix crash in new clique code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-20 06:20:22 -08:00
Ricky Zhou 9939d07827 Fix GCC/Clang compilation.
The calls to negate use a non-dependent name, so GCC and Clang do not
examine dependent base classes when looking up the name. Adds a using
declaration as suggested at
https://isocpp.org/wiki/faq/templates#nondependent-name-lookup-members.
2016-11-20 05:09:30 -08:00
Nikolaj Bjorner 6a9b5ea3af fix unsoundness reported in issue #777, disable ematching on recursive function definition axioms exposed in #793
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-19 15:29:43 -08:00
Nikolaj Bjorner 2ff5af7d42 fix bug incorrect clearing of goals during node creation. Issue #777
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-19 10:06:16 -08:00
Nikolaj Bjorner a5bae72bdf Merge branch 'master' of https://github.com/Z3Prover/z3 2016-11-19 08:09:55 -08:00
Nikolaj Bjorner df0e3a100c tune initialization for wmax and sortmax
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-19 08:04:06 -08:00
Nikolaj Bjorner ea601dd403 fix and coallesce clique functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-19 03:55:48 -08:00
Murphy Berzish 5e37a21802 fix expr_ref in theory_str splits WIP 2016-11-18 16:07:20 -05:00
Murphy Berzish 855037eed7 refactor process_concat_eq_type2 in theory_str; fixes unsat/big/8558 2016-11-17 16:25:53 -05:00
Murphy Berzish d260218e2b tabs to spaces test 2016-11-17 15:28:26 -05:00
Murphy Berzish e2d05578d6 add extra trace message in smt_context for theory_str results change 2016-11-17 15:25:39 -05:00
Christoph M. Wintersteiger ad76e536b2 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-11-17 16:36:44 +00:00
Christoph M. Wintersteiger b138a0f6d3 Cleaned up hacky rewriter cancelation fix in theory_fpa. 2016-11-17 16:36:39 +00:00
Christoph M. Wintersteiger a97358965b Fixed interruption/cancelation issue in rewriter. 2016-11-17 16:28:49 +00:00
Nikolaj Bjorner 1600823435 fix perf bug reported in #790
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-17 05:38:52 +02:00
Nikolaj Bjorner 123b50ed3c Merge branch 'master' of https://github.com/Z3Prover/z3 2016-11-17 04:26:36 +02:00
Nikolaj Bjorner e9db934f1a improving perf of mutex finding, revert semantics of 0 timeout to no-timeout. Issue #791
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-17 04:26:17 +02:00
Murphy Berzish 55ae83f47e Revert "experimental modification to simplify_parent call in theory_str, WIP"
This reverts commit 9771428600.
2016-11-16 13:00:05 -05:00
Christoph M. Wintersteiger 9053e6eba6 Resolved merge conflicts. Added FPA API input validity checks. 2016-11-15 20:19:40 +00:00
Murphy Berzish 9771428600 experimental modification to simplify_parent call in theory_str, WIP 2016-11-15 15:18:07 -05:00
Christoph M. Wintersteiger dcf643f711 Merge branch 'master' of https://github.com/Z3Prover/z3 into gh570-att-2 2016-11-15 19:59:54 +00:00
Christoph M. Wintersteiger c7787feebb Assertion fix for theory_fpa. Relates to #570. 2016-11-15 19:59:22 +00:00
Christoph M. Wintersteiger ee60ba824f Bugfix for rewriter exceptions in theory_fpa. Relates to #570. 2016-11-15 19:59:08 +00:00
Nikolaj Bjorner e65d80dedd make semantics of extract/substr deterministic. Issue #781
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-15 18:29:51 +02:00
Nikolaj Bjorner fa8427258a Merge branch 'master' of https://github.com/Z3Prover/z3 2016-11-15 15:07:15 +02:00