3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00
Commit graph

5071 commits

Author SHA1 Message Date
Nikolaj Bjorner
f951372f03 fix regression in internalizing bit-vectors, reported by Mikolas Janota
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-18 13:54:42 -07:00
Nikolaj Bjorner
b0f65335ab update copyright year
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-17 13:07:40 -07:00
Nikolaj Bjorner
ab82fee398 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-03-17 13:06:21 -07:00
Christoph M. Wintersteiger
94054593a4 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-03-17 17:52:32 +00:00
Christoph M. Wintersteiger
cc04fdbd70 Added eager ackermannization to QF_FP, so that small numbers of unspecified operators are eliminated upfront. 2016-03-17 17:52:26 +00:00
Nuno Lopes
f5c4800eec reduce-args: last fix for may_be_unique to support quantified variables in arbitrary exprs 2016-03-17 15:29:48 +00:00
Nuno Lopes
facb421398 reduce-args: fix unsoundness 2: f(v + 2), where b is quantified 2016-03-17 13:27:07 +00:00
Nuno Lopes
aed4619066 reduce-args: fixed unsoundness introduced in my previous commit
skip an UF arg if it's quantified
e.g. forall a . f(a, b) -> f(b) (but not f)
2016-03-17 13:14:43 +00:00
Christoph M. Wintersteiger
c8af48d7ef Bugfix for bvurem0 model evaluation (+1 rewriting step) 2016-03-17 13:09:52 +00:00
Nikolaj Bjorner
22cae143b1 Merge pull request #517 from yaqwsx/expr_values_to_int
Add methods for obtaining numeral values in C++ API
2016-03-16 20:43:39 -04:00
Nikolaj Bjorner
3755035d65 Merge pull request #519 from 4tXJ7f/patch-1
[Z3py] Fix error in FPRef.__neg__()
2016-03-16 20:41:36 -04:00
Andres Nötzli
34da0a32b9 [Z3py] Fix error in FPRef.__neg__()
`FPRef.__neg__()` did not work previously because it tried to construct an FPRef from an FPRef (`fpNeg()` already returns an FPRef).
2016-03-16 17:12:45 -07:00
Christoph M. Wintersteiger
6b2d84b2be Fixed model evaluation/simplification for to_ieee_bv. 2016-03-16 17:46:52 +00:00
Christoph M. Wintersteiger
7ec70c1686 bug fixes for unspecified FP results 2016-03-16 16:57:20 +00:00
Christoph M. Wintersteiger
db6b9faabc Bugfix for FPA rewriter. 2016-03-16 16:35:45 +00:00
Christoph M. Wintersteiger
778c7fcc64 Bugfix for model evaluator and internal, uninterpreted FPA functions.
Fixes #518
2016-03-16 16:17:08 +00:00
Christoph M. Wintersteiger
cdc8e1303a Bugfix for fp.to_*_unspecified.
Fixes #507
2016-03-16 16:16:29 +00:00
Jan Mrázek
57265f6eb1 Add methods for obtaining numeral values in C++ API 2016-03-16 00:18:49 +01:00
Christoph M. Wintersteiger
99d7a47f82 Bugfixes for unspecified results from fp.to_* (models are still incomplete).
Relates to #507
2016-03-15 21:45:54 +00:00
Christoph M. Wintersteiger
3101d281e4 Removed unused variable 2016-03-15 15:12:54 +00:00
Christoph M. Wintersteiger
371573cbff More implementation of fp.to_ieee_bv for unspecified input/output
Relates to #507
2016-03-15 15:11:37 +00:00
Christoph M. Wintersteiger
a9df4a208f More bugfixes for fp.to_ieee_bv for unspecified input/output.
Relates to #507
2016-03-15 14:58:55 +00:00
Christoph M. Wintersteiger
ce64999ee2 More bugfixes for fp.to_ieee_bv for unspecified input/output 2016-03-15 14:50:59 +00:00
Christoph M. Wintersteiger
176782d62b Bugfix for fp.to_ieee_bv for unspecified input/output. 2016-03-15 14:38:11 +00:00
Christoph M. Wintersteiger
5463167a84 Bugfix for fp.rem (denormal numbers)
Fixes #508.
2016-03-14 15:52:09 +00:00
Christoph M. Wintersteiger
45b868e90b Merge pull request #513 from delcypher/fix_exec
Fix #510
2016-03-14 12:49:16 +00:00
Christoph M. Wintersteiger
139920e68d Merge pull request #516 from delcypher/readme_tweak
Fix omission of CMake build in README.md
2016-03-14 12:48:41 +00:00
Dan Liew
474ce6645a Fix omission of CMake build in README.md 2016-03-14 08:27:46 +00:00
Dan Liew
4814555c46 Fix inconsistent emission of `gparams_register_modules.cpp`,
``install_tactics.cpp`` and ``mem_initialiszer.cpp`` files between
the CMake and Python build systems.

The problem was that the generated files were

* Senstive to the order component directories were traversed
* For CMake there are two directories (a source and build directory)
  for every component rather than a single directory like the
  Python build system has.

To fix this a new function ``sorted_headers_by_component()`` has been
added which defines a order that is consistent between both build
systems. This function is then used on lists of paths to discovered
header files.
2016-03-13 23:00:40 +00:00
Nikolaj Bjorner
55956df8d8 remove critical sections that are now redundant due to different cancellation model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-13 12:10:14 -04:00
Nikolaj Bjorner
3dfc0a93f6 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-03-13 12:09:25 -04:00
Dan Liew
75af362b25 Fix inconsistent emission of `z3consts.py`. The ordering of emitted
enum values is not consistent between python 2 or 3. The root cause
of the problem was a dictionary's keys being iterated over which has
no defined order.

This has been fixed by iterating over the dictionary's items and
ordering by values.  We could order by key rather than the values but
seeing as these represent an enum, ordering by value makes more sense.
2016-03-12 23:27:26 +00:00
Dan Liew
a2376b1016 Try to fix #510. The breakage was caused by #498.
The issue here is that in Python2 ``exec`` is a statement and
``exec`` is a function in Python3. For the ``exec`` statement to
work we would need to write

```
exec line.strip(' \n') in  exec_globals, None
```

We could write a wrapper function to do the right thing depending
on the Python version but a better approach is to actually just
use ``eval()`` rather than ``exec()`` because

* ``eval()`` is less "evil" than ``exec()`` because it only evaluates
  a single expression. My testing so far seems to indicate that this is
  sufficient.

* ``eval()`` is function in both Python 2 and 3 so we don't need
  to specialise the code based on Python version.
2016-03-12 22:22:20 +00:00
Christoph M. Wintersteiger
b5f1c50c1b Merge branch 'master' of https://github.com/Z3Prover/z3 2016-03-11 18:46:56 +00:00
Christoph M. Wintersteiger
80d8a6a660 Merge pull request #498 from delcypher/genfile_refactor
Refactor generated file code out of ``mk_util.py`` and into ``mk_genfile_common.py``
2016-03-11 18:44:01 +00:00
Christoph M. Wintersteiger
badf9e6e67 whitespace 2016-03-11 14:05:32 +00:00
Christoph M. Wintersteiger
3e61ee2331 disabled "hardware interpretation" of fp.min/fp.max because the unspecified, standard-compliant behaviour is cheap anyways. 2016-03-11 12:52:00 +00:00
Christoph M. Wintersteiger
b5279d1da8 Bugfix for fp.to_ieee_bv.
Fixes #507.
2016-03-11 12:35:41 +00:00
Christoph M. Wintersteiger
9dd53c091a guard on m_preprocess in inc_sat_solver 2016-03-11 12:02:49 +00:00
Christoph M. Wintersteiger
62a54cf154 Merge pull request #505 from MikolasJanota/tmp
Improvement in lazy ackermannization.
2016-03-10 18:43:19 +00:00
Nikolaj Bjorner
f734b97b97 Merge pull request #506 from hongjiawu/master
Update README.md

Thanks
2016-03-10 09:53:51 -08:00
mikolas
419e2c4899 Inc sat for ackr. 2016-03-10 17:36:06 +00:00
Mikolas Janota
ae9f369574 Fix in lackr_model_constructor. 2016-03-10 17:36:05 +00:00
mikolas
a2140085d6 In lazy ackermannization, collect all conflicting terms in one iteration. 2016-03-10 17:36:03 +00:00
Mikolas Janota
2f8465552c additional logging 2016-03-10 17:36:02 +00:00
hongjiawu
6a2f27476c Update README.md 2016-03-10 18:10:59 +01:00
Christoph M. Wintersteiger
9095d7db44 Merge pull request #504 from delcypher/cmake_custom_install_dirs
[CMake] Provide a way to customise the install directories
2016-03-10 12:39:11 +00:00
Nuno Lopes
d6c3260db7 reduce_args_tactic: make it aware that 'a + const' may be a unique value in bv theory
it allows us to remove UFs that are of the form f(a + 1), f(a + 2), etc..
2016-03-10 10:15:09 +00:00
Nuno Lopes
0b1b5a4328 fix VS x64 warning 2016-03-10 09:03:24 +00:00
Nikolaj Bjorner
2354e747bf Merge branch 'master' of https://github.com/Z3Prover/z3 2016-03-09 21:33:16 -08:00