3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-08 10:25:18 +00:00
Commit graph

16812 commits

Author SHA1 Message Date
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
Nikolaj Bjorner 2990b69299
Update RELEASE_NOTES.md 2022-07-04 17:16:12 -07:00
Nikolaj Bjorner 605a3128d9 make release notes markdown
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-04 17:06:21 -07:00
Nikolaj Bjorner 71fc83c051 Move out equality use out of the loop 2022-07-04 12:42:39 -07:00
Nikolaj Bjorner 0353fc38ff fix #6127 again
this time adding inheritance to the recfun plugin so it properly contains the recursive definitions from the source.
2022-07-04 12:42:11 -07:00
Nikolaj Bjorner 6ed2b444b5 probably won't fix #6127
recfun decl plugin does not get copied so recursive functions are lost when cloning.
Fix is risky and use case is limited to threads + recursive definitions
2022-07-03 18:10:52 -07:00
Nikolaj Bjorner ac8aaed1d4 fix #6126 2022-07-03 17:47:05 -07:00
Nikolaj Bjorner d61d0f6a66 prepare release notes 2022-07-03 17:00:40 -07:00
Nikolaj Bjorner 02a92fb9e9 revert to use GCHandle for UserPropagator
avoids using a global static array
2022-07-03 17:00:40 -07:00