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

16920 commits

Author SHA1 Message Date
Nikolaj Bjorner
b81f70f6fc split nla_grobner to separate file 2022-07-13 13:05:57 -07:00
Nikolaj Bjorner
7d0c789af0 propagate has-length over map/mapi 2022-07-12 20:50:28 -07:00
Nikolaj Bjorner
8900db527f add diagnostics for grobner 2022-07-12 20:49:54 -07:00
Nikolaj Bjorner
ca80d99617 fix #6153 2022-07-12 15:49:57 -07:00
Nikolaj Bjorner
43cf053066 fix #6128 2022-07-12 15:43:12 -07:00
Nikolaj Bjorner
faf6c02cf8 remove --js from nightly and release doc builds as the npm run 'check-engine' fails
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-12 07:46:06 -07:00
Nikolaj Bjorner
d5779bf99c handle trivial equalities in simplify_leaf
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-11 21:05:26 -07:00
Nikolaj Bjorner
4dc88f0993 add --js to nightly and release scripts, nb @ritave
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-11 20:37:50 -07:00
Nikolaj Bjorner
2e797045fa remove space
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-11 20:33:12 -07:00
Nikolaj Bjorner
316ed778e0 Tune Grobner equations
\brief convert p == 0 into a solved form v == r, such that
   v has bounds [lo, oo) iff r has bounds [lo', oo)
   v has bounds (oo,hi]  iff r has bounds (oo,hi']

   The solved form allows the Grobner solver identify more bounds conflicts.
   A bad leading term can miss bounds conflicts.
   For example for x + y + z == 0 where x, y : [0, oo) and z : (oo,0]
   we prefer to solve z == -x - y instead of x == -z - y
   because the solution -z - y has neither an upper, nor a lower bound.

The Grobner solver is augmented with a notion of a substitution that is applied before the solver is run.
2022-07-11 16:14:26 -07:00
Nikolaj Bjorner
f33c933241 Add substitution routine to pdd
For Grobner we want to preserve directions of intervals for finding sign conflicts. This means that it makes sense to have external control over linear solutions.
2022-07-11 12:10:28 -07:00
Nikolaj Bjorner
5c54d6564b fix #6143 2022-07-11 12:09:15 -07:00
Victor Paléologue
8b29f40152
Fix build on Mac (#6146)
* Fix finding Python on Mac

On Mac you have to specify the version.
It also works well on other platforms this way.

* Ignore CMake build directories from index

* Fix warning about unused variable in release

The variable is used in debug only,
but it's legit that the compiler does not warn us for that in release.
2022-07-11 09:46:23 -07:00
Nikolaj Bjorner
49b7e9084f Merge branch 'master' of https://github.com/z3prover/z3 2022-07-11 09:26:34 -07:00
Anthony Romano
7ae1a338a7
parallel-tactic: fix deadlocking race between shutdown and get_task (#6152)
Deadlock/Race is as follows:
  1. get_task() reads m_shutdown == false and enters loop body
  2. shutdown() is called; sets m_shutdown = true
  3. shutdown() calls m_cond.notify_all()
  4. get_task() finds no task in try_get_task()
  5. get_task() calls m_cond.wait(), missing the notification
  6. solve() waits forever on join()

Provided patch wraps (2) and (3) with the condition variable lock so that
step (5) cannot miss the notification.

Co-authored-by: Anthony Romano <anthony@forallsecure.com>
2022-07-11 09:26:11 -07:00
Stefan Muenzel
99212a2726
Use int64 for ocaml api functions that require it (#6150)
* Use int64 for ocaml api functions that require it

Signed-off-by: Stefan Muenzel <source@s.muenzel.net>

* Use elif

Signed-off-by: Stefan Muenzel <source@s.muenzel.net>
2022-07-11 09:25:05 -07:00
Clemens Eisenhofer
1f2346073a
Fixed missing assignment for binary clauses (#6148)
* Added function to select the next variable to split on

* Fixed typo

* Small fixes

* uint -> int

* Fixed missing assignment for binary clauses
2022-07-11 09:24:03 -07:00
Nikolaj Bjorner
9dd529bb12 missing initialization of List for cmd interpreter 2022-07-11 08:17:38 -07:00
Nikolaj Bjorner
b68af0c1e5 working on reconciling perf for arithmetic solvers
this update integrates inferences to smt.arith.solver=6 related to grobner basis computation and handling of div/mod axioms to reconcile performance with smt.arith.solver=2.

The default of smt.arth.nl.grobner_subs_fixed is changed to 1 to make comparison with solver=2 more direct.

The selection of cluster equalities for solver=6 was reconciled with how it is done for solver=2.
2022-07-11 07:38:51 -07:00
Nikolaj Bjorner
9d9414c111 inc version number 2022-07-06 14:00:40 -07:00
Nikolaj Bjorner
0c42d3b079 small format update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-06 11:41:48 -07:00
Nikolaj Bjorner
6ed071b444 update release notes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-06 11:38:32 -07:00
Kevin Gibbons
0d4169533a
fix js distributable (#6139) 2022-07-06 10:59:01 -07:00
Nikolaj Bjorner
cc841caf08 increment minor version for dev branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-06 10:15:34 -07:00
Nikolaj Bjorner
2ae84f88df Update release.yml for Azure Pipelines 2022-07-06 09:10:16 -07:00
Nikolaj Bjorner
15391fc9b9 remove musll from release.yml
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-06 07:37:51 -07:00
Nikolaj Bjorner
f1b7ab3d3f x64
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-06 01:53:26 -07:00
Nikolaj Bjorner
7f2ebf84a2 Remove package sub-directory from release script 2022-07-06 01:09:11 -07:00
Nikolaj Bjorner
580ed31afd fix types and incompleteness for feature #6104 2022-07-06 01:08:54 -07:00
Nikolaj Bjorner
bda86726af macarm
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 20:02:27 -07:00
Nikolaj Bjorner
4f62336fa8 download arm64
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 18:23:32 -07:00
Nikolaj Bjorner
593d5be202 bind variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 17:21:59 -07:00
Nikolaj Bjorner
8b35b7becc bind variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 17:20:21 -07:00
Nikolaj Bjorner
594b5daa9d remove download of mullinux
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 17:18:04 -07:00
Nikolaj Bjorner
3ce6663536 update release script
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 17:17:07 -07:00
Nikolaj Bjorner
73f35e067c Update release.yml for Azure Pipelines
pre-release
2022-07-05 17:13:55 -07:00
Nikolaj Bjorner
85c3d874dc neatify
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 16:57:41 -07:00
Nikolaj Bjorner
f23dc894b4 add disabled pass to detect upper bound range constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 16:51:05 -07:00
Nikolaj Bjorner
a374e2c575 ignore qid if they are both numerical - come from the parser
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 15:47:48 -07:00
Nikolaj Bjorner
6e53621146 #6112
add q->get_qid() to comparison of quantifiers
2022-07-05 13:17:04 -07:00
Nikolaj Bjorner
a251595467 Merge branch 'master' of https://github.com/z3prover/z3 2022-07-05 12:48:33 -07:00
Nikolaj Bjorner
d7472f0726 fix #6124
expression pointers were changed within a function, but not pinned. So the pointers got stale. To enforce their life-time within the function body (for use in logging) pin the expressions.
2022-07-05 12:48:21 -07:00
Kevin Gibbons
db09d38134
bump emscripten version used to build wasm artifact (#6136) 2022-07-05 12:39:43 -07:00
Nikolaj Bjorner
f82ca197d2 #6104 also in the new core 2022-07-05 12:38:07 -07:00
Nikolaj Bjorner
de41cfd277 fix #6104
add equality reasoning to bit-vector solver to instantiate int2bv(bv2int(x)) = x identity on demand.
2022-07-05 12:23:24 -07:00
Nikolaj Bjorner
282c786f1c setting version to release
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 11:51:12 -07:00
Nikolaj Bjorner
2a5d23b301 rename URL
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 11:49:52 -07:00
Nikolaj Bjorner
cd416ee9a9 add note about opt.incremental
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 08:20:46 -07:00
Nikolaj Bjorner
ac822acb0f add parameter incremental to ensure preprocessing does not interefere with adding constraints during search
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 08:10:20 -07:00
Nikolaj Bjorner
2cf0c8173b
Update RELEASE_NOTES.md 2022-07-04 17:16:56 -07:00