Phil Clayton
e6a089e63d
Fix build when Z3_API macro is non-empty ( #7553 )
...
API function definitions are updated to be consistent with header files.
2025-02-13 08:46:08 -08:00
Clemens Eisenhofer
091984419e
Fixed bug in UP ( #7545 )
...
* Fixed bug in UP
* Put decrement at the right position
2025-02-04 08:41:28 -08:00
Nikolaj Bjorner
6893e782ed
add cases for new parameters for ts build
2025-01-22 11:59:36 -08: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
Nikolaj Bjorner
ef275ab1a0
fix #7523
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
Nuno Lopes
322dcec531
Add 2 new API functions to get depth & groundness of exprs ( #7479 )
...
* Update api_ast.cpp
* Update z3_api.h
2024-12-30 08:49:43 -08:00
Dmitri
f99e1ee581
Support BitVectors in the TypeScript Optimize API ( #7480 )
...
This is just a change in type declarations to allow calling minimize/maximize with BitVectors.
2024-12-30 08:49:30 -08:00
Nuno Lopes
bd8c870bbe
api: avoid some string copies when using mk_external_string
2024-12-28 09:42:54 +00:00
Nikolaj Bjorner
2044fb460d
fix #7490
2024-12-21 14:32:02 +01: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
Kevin Gibbons
e5f8327483
Update emscripten ( #7473 )
...
* fixes for newer emscripten thread handling behavior
* fix return type for async wrapper functions
* update prettier
* update typescript and fix errors
* update emscripten version in CI
* update js readme about tests
2024-12-06 18:11:14 -08:00
Yuantian Ding
4be4067f75
Typescript high-level api for Sets ( #7471 )
2024-12-05 07:00:11 -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
Nikolaj Bjorner
012fc1b72b
more detailed tracing of where unmaterialized exceptions happen
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 18:15:50 -08:00
Nikolaj Bjorner
e855a50d9b
add exception handling to easier diagnose #7418
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 11:46:54 -08:00
Nikolaj Bjorner
b929996941
update to set single threaded
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-16 09:11:44 -08:00
Nikolaj Bjorner
f39198d9a8
move build-env setting to correct place
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-16 08:32:47 -08:00
Nikolaj Bjorner
7c5ff7c623
moving compile time flags to setup for pyodide
2024-11-16 08:28:24 -08:00
Linus
d3009dabfc
Proposed fix for #7451 ( #7452 )
2024-11-13 09:11:40 -08:00
Nikolaj Bjorner
30ad22a4ef
fix #7449
2024-11-11 15:45:18 -08:00
Audrey Dutcher
75e46778fa
Make build process work with pyodide ( #7442 )
2024-11-04 11:09:51 -08:00
Nikolaj Bjorner
92065462b4
use std::exception as base class to z3_exception
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 11:08:15 -08:00
Jonas Jongejan
604714ba40
js: Add pseudo-boolean high-level functions ( #7426 )
...
* js: Add pseudo-boolean high-level functions
* Add check for arg length
2024-11-02 12:34:15 -07:00
Nikolaj Bjorner
b0fef6429f
Add assert_and_track support to Optimize class in .NET binding ( #7437 )
...
Related to #7436
#7436
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/Z3Prover/z3/issues/7436?shareId=XXXX-XXXX-XXXX-XXXX ).
2024-10-26 01:33:09 -07:00
Nikolaj Bjorner
8b657f27aa
add shortcut to retrieve kind of application
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-22 13:05:58 -07:00
Nikolaj Bjorner
78d1139ba0
add shortcut to retrieve kind of application
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-22 13:04:41 -07:00
Nikolaj Bjorner
0ebea1c298
remove debug out
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-22 11:58:16 -07:00
Jonas Jongejan
45ef6d0109
js: Adding manual release methods ( #7428 )
...
* js: Adding manual release methods
* Add unregister token
* Add pointer assertion
* Add missing line
2024-10-22 09:15:49 -07:00
Nikolaj Bjorner
54d30f26f7
add _0 to platform tag for pypi
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-10 15:52:10 -07:00
Nikolaj Bjorner
00f1f1b83d
fix typo in setup.py
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-09 14:19:10 -07:00
Nikolaj Bjorner
fe71b75ffd
remove : from setup.py
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-09 13:21:27 -07:00
Nikolaj Bjorner
48aa2f6988
setup python dist to remove internal build suffix for macos
2024-10-09 12:47:17 -07:00
Nikolaj Bjorner
8c39863019
fix typo in arch for setup.py
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-30 16:17:40 -07:00
Nikolaj Bjorner
4cefc513eb
add sequoia to os versions #7407
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-30 16:05:53 -07:00
Nikolaj Bjorner
19f63cd6e3
add sequoia to os versions #7407
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-30 15:57:49 -07:00
Kevin Gibbons
77aa5280df
wasm: increase timeout in tests ( #7401 )
2024-09-25 18:33:14 +01:00
Kevin Gibbons
103c5ad71c
wasm: attempt to GC in tests ( #7400 )
2024-09-25 15:53:36 +01:00
Nikolaj Bjorner
2655301afc
comment out simple proofs unit test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-24 23:01:12 +01:00
Páll Haraldsson
994056f347
C API now used by Julia. ( #7387 )
...
See: https://github.com/ahumenberger/Z3.jl/releases/tag/v1.0.0
2024-09-24 15:17:00 +01:00
Nikolaj Bjorner
716a815ce1
update lock file
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-24 11:29:35 +01:00