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

662 commits

Author SHA1 Message Date
Nikolaj Bjorner
6e767795db set status to unknown 2025-09-14 13:43:10 -07:00
Nikolaj Bjorner
928a2e7cf2 update python doc tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-14 10:56:26 -07:00
Nikolaj Bjorner
12563c6963 clean up a little of the handling of VERSION.txt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-24 16:38:15 -07:00
Copilot
300e0ae69e
Move VERSION.txt to scripts directory and update all references (#7811)
* Initial plan

* Move VERSION.txt to scripts/ and update all references

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2025-08-24 16:36:05 -07:00
Nikolaj Bjorner
287464567b copy VERSION from SRC_DIR
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-24 15:10:49 -07:00
Nikolaj Bjorner
116e1eca8b print dirs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-24 15:02:50 -07:00
Nikolaj Bjorner
be22111df5 more output
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-24 14:49:56 -07:00
Nikolaj Bjorner
867bc6aee6 remove extra characters
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-24 14:36:23 -07:00
Nikolaj Bjorner
438b41acbf try other dir
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-23 18:27:26 -07:00
Nikolaj Bjorner
1987b3dde1 try src_dir_repo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-23 18:20:32 -07:00
Nikolaj Bjorner
778b9a57c3 try diferennt dirs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-23 18:13:18 -07:00
Nikolaj Bjorner
3b036369f9 add more logging to setup.py
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-23 16:37:06 -07:00
Nikolaj Bjorner
21e63dba8d add print for version file
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-23 14:41:28 -07:00
Copilot
5d29eb1060
Fix Azure Pipeline PyPI package builds by including VERSION.txt in source distribution (#7808)
* Initial plan

* Fix Azure Pipeline PyPI package builds by including VERSION.txt in source distribution

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2025-08-23 10:51:35 -07:00
Nikolaj Bjorner
fa0f9c97bc fix parsing of version
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-20 09:45:06 -07:00
Nikolaj Bjorner
02f195a380 fix version parse
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-20 09:39:36 -07:00
Nikolaj Bjorner
72655637de read version from VERSION.txt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-08-20 09:24:58 -07:00
Nikolaj Bjorner
57a60c832b add > operator as shorthand for Array 2025-08-13 10:24:46 -07:00
Nikolaj Bjorner
b33f444545 add an option to register callback on quantifier instantiation
Suppose a user propagator encodes axioms using quantifiers and uses E-matching for instantiation. If it wants to implement a custom priority scheme or drop some instances based on internal checks it can register a callback with quantifier instantiation
2025-08-06 21:11:55 -07:00
humnrdble
eb24488c3e
FreshConst is_sort (#7748) 2025-07-27 03:19:43 -07:00
Nikolaj Bjorner
661ccb3702
Revert "Fix source installation to create dist-info directory for package dis…" (#7704)
This reverts commit ad0afbb792.
2025-06-29 09:11:32 -07:00
Copilot
ad0afbb792
Fix source installation to create dist-info directory for package discovery (#7695)
* Initial plan

* Add proper pyproject.toml metadata for dist-info creation

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Clean up setup.py and add comprehensive test for dist-info fix

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Fix build errors in setup.py and pyproject.toml

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Fix ModuleNotFoundError by removing dynamic version loading from pyproject.toml

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Remove hardcoded version from pyproject.toml, use dynamic version from setup.py

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2025-06-28 16:06:03 -07:00
Copilot
84a6e4d672
Fix pydoc doctest failures by updating expected output format for string operations (#7703)
* Initial plan

* Fix pydoc doctest failures by updating expected output format

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2025-06-27 19:11:04 -07:00
Copilot
2de40ff220
Improve Extract function documentation to clarify bit-vector vs sequence usage (#7701)
* Initial plan

* Improve Extract function documentation to clarify bit-vector vs sequence usage

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2025-06-27 10:21:23 -07:00
Dongjae Lee
3916c451e5
Fix: typo in z3 python api (#7693) 2025-06-24 07:13:44 -07:00
Nikolaj Bjorner
7ebe7c46b9 remove stale API #7648 2025-05-15 10:57:46 -07:00
Nikolaj Bjorner
9232ef579c remove copy of LICENSE.txt - pypi doesn't take it 2025-05-09 16:53:45 -07:00
Kyle Bloom
5ad79f2864
Add Iterators as acceptable arguments to functions (#7620) 2025-04-12 10:32:56 -07:00
Mark Ryan
14e2aadad0
include LICENSE.txt in wheels (#7614)
Update setup.py so that we copy LICENSE.TXT to src/api/python before
creating the sdist.  Any wheels built from this sdist will now
contain the LICENSE.txt file.

Fixes #7604
2025-04-07 08:41:50 -07:00
Nikolaj Bjorner
0b7a81b7c9 list[ExprRef] doesn't build for python 2025-04-05 14:45:52 -07:00
Nikolaj Bjorner
e7ff6009a0 #7605
add case for linux/risc64
2025-04-05 12:07:46 -07:00
Nikolaj Bjorner
9d8291a75b remove type annotation Context | None to ensure Centos ARM Build pass 2025-04-05 10:51:35 -07:00
Nikolaj Bjorner
f607331856 type annotations across Python versions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-04-04 22:14:32 -07:00
Nikolaj Bjorner
bd2c7aa908 remove downlevel version incompatible elements of typing 2025-04-04 20:18:23 -07:00
Nikolaj Bjorner
305f1e8498 remove references to TypeGuard
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-04-04 19:41:50 -07:00
Nikolaj Bjorner
5e10fd39fc add selected type annotations to python API 2025-04-04 18:40:15 -07:00
Ammar Askar
eb4e28d5d4
[z3.py] Fix incorrect call to _get_ctx in SeqMapI (#7610) 2025-04-04 15:54:32 -07:00
Nikolaj Bjorner
bd566f16b1 Expose PARAMETER_INTERNAL and PARAMETER_ZSTRING in case API users access these #7522 2025-01-22 11:46:11 -08:00
Michał Górny
fc9ff946b7
use cmake from PyPI only when system executable is not available (#7514)
Rather than pulling `cmake` from PyPI unconditionally, add it to build
dependencies only if the system `cmake` executable cannot be found.
This eliminates an unnecessary dependency on systems featuring CMake,
and ensures that whenever possible, a downstream patched CMake version
is used that is more compatible with the system in question.
2025-01-21 14:39:19 -08:00
Nikolaj Bjorner
71a4801c1d add shortcuts to convert to python objects in cases of numerals and strings 2025-01-05 12:17:38 -08:00
Nikolaj Bjorner
cd41b21fa2 fix #7501 2025-01-05 11:59:59 -08:00
Nikolaj Bjorner
05f166f736 add py_value to selected classes in python bindings, add mode for input-assertion based lookahead solving 2025-01-04 13:40:49 -08:00
Nikolaj Bjorner
87f7a20e14 Add (updated and general) solve_for functionality for arithmetic, add congruence_explain to API to retrieve explanation for why two terms are congruent Tweak handling of smt.qi.max_instantations
Add API solve_for(vars).
It takes a list of variables and returns a triangular solved form for the variables.
Currently for arithmetic. The solved form is a list with elements of the form (var, term, guard).
Variables solved in the tail of the list do not occur before in the list.
For example it can return a solution [(x, z, True), (y, x + z, True)] because first x was solved to be z,
then y was solved to be x + z which is the same as 2z.

Add congruent_explain that retuns an explanation for congruent terms.
Terms congruent in the final state after calling SimpleSolver().check() can be queried for
an explanation, i.e., a list of literals that collectively entail the equality under congruence closure.
The literals are asserted in the final state of search.

Adjust smt_context cancellation for the smt.qi.max_instantiations parameter.
It gets checked when qi-queue elements are consumed.
Prior it was checked on insertion time, which didn't allow for processing as many
instantations as there were in the queue. Moreover, it would not cancel the solver.
So it would keep adding instantations to the queue when it was full / depleted the
configuration limit.
2024-12-19 23:27:57 +01:00
Oskar Haarklou Veileborg
b4295620b3
Add __enter__ and __exit__ methods on Optimize class (#7477)
This enables the use of the with statement for the Optimize class to
concisely call push() and pop(). This works similarly to the Solver
class.
2024-12-13 09:19:04 -08:00
Nikolaj Bjorner
05e053247d add facility to solve for a linear term over API 2024-11-30 09:34:27 -08:00
Nikolaj Bjorner
d2411567b5 add projection with witnesses
expose model based projection with witness creation
2024-11-27 10:26:34 -08:00
Nikolaj Bjorner
36725758eb fix typos POLING -> POLLING in setup.py and remove unused CFLAGS
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-21 11:32:38 -08:00
Nikolaj Bjorner
71bad7159b #7418 - circumvent use of timer threads to make WASM integration of z3 easier
The scoped_timer uses a std::therad. Spawning this thread fails in cases of WASM.
Instead of adapting builds and using async features at the level of WASM and the client, we expose a specialized version of z3 that doesn't use threads at all, neither for solvers nor for timers.
The tradeoff is that the periodic poll that checks for timeout directly queries the global clock each time.
We characterize it as based on polling.
2024-11-21 11:20:05 -08:00
Nikolaj Bjorner
8965123c0d fix type in setup.py
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 19:08:29 -08:00
Nikolaj Bjorner
10d9c81957 adapt for pyodide built
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 18:51:04 -08:00