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

16936 commits

Author SHA1 Message Date
Nikolaj Bjorner 4ecb61aeaa neatify
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-15 09:53:56 -07:00
Nikolaj Bjorner b743e210f8 give java dynamic lib a chance for extra flags for #5848 2022-07-15 08:44:05 -07:00
Nikolaj Bjorner 2696775088 remove stale assertion
with support for substitutions we allow the simplifier to change the state of equations.
2022-07-15 04:03:25 -07:00
Nikolaj Bjorner 6688c1d62a prepare for #6160
The idea is to set _concurrent_dec_ref from the API
(function not yet provided externally, but you can experiment with it by setting the default of m_concurrent_dec_ref to true).
It then provides concurrency support for dec_ref operations.
2022-07-15 03:53:15 -07:00
Nikolaj Bjorner b29cdca936 integrate factorization to Grobner 2022-07-14 21:24:27 -07:00
Nikolaj Bjorner 7c177584f3 add propagators to grobner 2022-07-14 15:45:07 -07:00
Andrea Lattuada af80bd18ce
Flush the trace stream before displaying sat results (#6162) 2022-07-14 13:43:57 -07:00
Stefan Muenzel 2f5fef92b7
Cache param descrs when modifying solver params (#6156) 2022-07-14 11:11:56 -07:00
Nikolaj Bjorner 4a192850f2 add var_factors
Add routine to partially factor polynomials. It factors out variables.
2022-07-14 11:06:53 -07:00
Nikolaj Bjorner 981c82c814 fix initialization order 2022-07-13 18:11:18 -07:00
Nikolaj Bjorner 894fb836e2 fix build break (debug assertion) and isolate gomory functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-13 17:26:56 -07:00
Nikolaj Bjorner b253db2c0a redundant parenthesis 2022-07-13 16:20:03 -07:00
Nikolaj Bjorner dec87fe4d9 fix issue with set-logic for eval_smtlib2_string 2022-07-13 16:19:12 -07:00
Nikolaj Bjorner 1378e713ba fix #6157 2022-07-13 14:37:04 -07:00
Nikolaj Bjorner a3eb9da191 fix #6158 2022-07-13 14:33:42 -07:00
Nikolaj Bjorner 8e23af33d7 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-13 14:20:21 -07:00
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