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

1849 commits

Author SHA1 Message Date
Ilana Shapiro
6044389446
Parallel solving (#7771)
* very basic setup

* ensure solve_eqs is fully disabled when smt.solve_eqs=false, #7743

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* respect smt configuration parameter in elim_unconstrained simplifier

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* indentation

* add bash files for test runs

* add option to selectively disable variable solving for only ground expressions

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove verbose output

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix #7745

axioms for len(substr(...)) escaped due to nested rewriting

* ensure atomic constraints are processed by arithmetic solver

* #7739 optimization

add simplification rule for at(x, offset) = ""

Introducing j just postpones some rewrites that prevent useful simplifications. Z3 already uses common sub-expressions.
The example highlights some opportunities for simplification, noteworthy at(..) = "".
The example is solved in both versions after adding this simplification.

* fix unsound len(substr) axiom

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* FreshConst is_sort (#7748)

* #7750

add pre-processing simplification

* Add parameter validation for selected API functions

* updates to ac-plugin

fix incrementality bugs by allowing destructive updates during saturation at the cost of redoing saturation after a pop.

* enable passive, add check for bloom up-to-date

* add top-k fixed-sized min-heap priority queue for top scoring literals

* set up worker thread batch manager for multithreaded batch cubes paradigm, need to debug as I am getting segfault still

* fix bug in parallel solving batch setup

* fix bug

* allow for internalize implies

* disable pre-processing during cubing

* debugging

* remove default constructor

* remove a bunch of string copies

* Update euf_ac_plugin.cpp

include reduction rules in forward simplification

* Update euf_completion.cpp

try out restricting scope of equalities added by instantation

* Update smt_parallel.cpp

Drop non-relevant units from shared structures.

* process cubes as lists of individual lits

* merge

* Add support for Algebraic Datatypes in JavaScript/TypeScript bindings (#7734)

* Initial plan

* Add datatype type definitions to types.ts (work in progress)

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

* Complete datatype type definitions with working TypeScript compilation

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

* Implement core datatype functionality with TypeScript compilation success

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

* Complete datatype implementation with full Context integration and tests

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>

* chipping away at the new code structure

* comments

* debug infinite recursion and split cubes on existing split atoms that aren't in the cube

* share lemmas, learn from unsat core, try to debug a couple of things, there was a subtle bug that i have a hard time repro'ing

* merge

* fix #7603: race condition in Ctrl-C handling (#7755)

* fix #7603: race condition in Ctrl-C handling

* fix race in cancel_eh

* fix build

* add arithemtic saturation

* 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

* missing new closure

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add Z3_solver_propagate_on_binding to ml callback declarations

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add python file

Signed-off-by: Lev Nachmanson <levnach@Levs-MacBook-Pro.local>

* debug under defined calls

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* more untangle params

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* precalc parameters to define the eval order

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* remove a printout

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* rename a Python file

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* add on_binding callbacks across APIs

update release notes,
add to Java, .Net, C++

* use jboolean in Native interface

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* register on_binding attribute

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix java build for java bindings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* avoid interferring side-effects in function calls

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove theory_str and classes that are only used by it

* remove automata from python build

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove ref to theory_str

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* get the finest factorizations before project

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* rename add_lcs to add_lc

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* resolve bad bug about l2g and g2l translators using wrong global context. add some debug prints

* initial attempt at dynamically switching from greedy to frugal splitting strategy in return_cubes. need to test. also there is some bug where the threads take forever to cancel?

* Update RELEASE_NOTES.md

* resolve bug about not translating managers correctly for the second phase of the greedy cubing, and the frugal fallback

---------

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Lev Nachmanson <levnach@Levs-MacBook-Pro.local>
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: humnrdble <83878671+humnrdble@users.noreply.github.com>
Co-authored-by: Nuno Lopes <nuno.lopes@tecnico.ulisboa.pt>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
Co-authored-by: Lev Nachmanson <levnach@hotmail.com>
2025-08-11 09:14:20 -07:00
Nikolaj Bjorner
195f3c9110 update build dependencies 2025-07-07 16:50:35 +02:00
Nikolaj Bjorner
b1259fb6ce Update nightly.yaml for Azure Pipelines 2025-06-28 16:11:16 -07:00
Nikolaj Bjorner
2f2289eaff update minor version number
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-25 09:14:13 -07:00
Nikolaj Bjorner
bd3e722b6b remove nuget signing steps 2025-06-24 07:18:49 -07:00
Nikolaj Bjorner
a3c8bbb461
Update build-win-signed-cmake.yml 2025-06-19 10:18:03 -07:00
Nikolaj Bjorner
bce1be47b8
Update build-win-signed.yml 2025-06-19 10:17:39 -07:00
Nikolaj Bjorner
ffb0bd9f11
Update nightly.yaml
remove esrp
2025-06-19 10:12:26 -07:00
Nikolaj Bjorner
e1661759db update version to 4.15.2 2025-06-10 15:55:54 -07:00
Nikolaj Bjorner
b665c99d06 add missing dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-09 13:05:09 -07:00
Nikolaj Bjorner
c387b20ac6 move smt params to params directory, update release.yml 2025-06-09 10:47:22 -07:00
Nikolaj Bjorner
dc420332b8 use userSpecifiedTag instead of gitTag
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-08 20:51:06 -07:00
Nikolaj Bjorner
81f4125f05 update to @1 for githubpublish action
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-08 19:10:19 -07:00
Nikolaj Bjorner
602cfafd96 update version number of github release
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-08 12:57:35 -07:00
Nikolaj Bjorner
e8f627cde9 disable pypi publishing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-08 12:46:18 -07:00
Christoph M. Wintersteiger
590b79dc54
Fix #7623 (#7672) 2025-06-06 20:29:04 +02:00
Nikolaj Bjorner
08c4f73e32 add dependencies to fix build 2025-06-06 13:02:48 +02:00
Nikolaj Bjorner
a5a2a13d34 update version number 2025-05-13 14:32:35 -07:00
Nikolaj Bjorner
49dffaed39 enable pypi 2025-05-09 15:37:19 -07:00
Nikolaj Bjorner
b54ed38cea enable pypi 2025-05-09 13:15:42 -07:00
Nikolaj Bjorner
59a7e007a4 disable pypi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-05-09 08:26:38 -07:00
Nikolaj Bjorner
d4b622e239 update version number
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-05-09 08:25:40 -07:00
Nikolaj Bjorner
fa5a50c4f9 fix #7295
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-12 11:43:31 -07:00
Nikolaj Bjorner
021e8558df update minor version to 14.2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-10 19:08:34 -07:00
Nikolaj Bjorner
3c0d786e6e install setup tools for python packaging
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-10 15:50:08 -07:00
Nikolaj Bjorner
e05f75d74c switch to ubuntu 24 for python packaging
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-09 20:53:36 -07:00
Nikolaj Bjorner
8df45b442b try ubuntu 24
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-05 13:58:39 -08:00
Nikolaj Bjorner
b47ec2074b try version 75
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-05 11:26:12 -08:00
Nikolaj Bjorner
3e7f4839d1 68
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-04 17:14:10 -08:00
Nikolaj Bjorner
dedfe9019d remove downlevel setup in nightly.yaml
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-04 07:38:28 -08:00
Nikolaj Bjorner
f698dea2b0 downlevel setup
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-03 18:25:20 -08:00
Nikolaj Bjorner
e6855bb299 disable setup tool install
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-03 16:01:45 -08:00
Nikolaj Bjorner
d714f1b6c5 update path
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-03 14:23:33 -08:00
Nikolaj Bjorner
7eb401b891 extract paths within zip file
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-03 07:15:29 -08:00
Nikolaj Bjorner
476c5ee110 improve diagnostics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-02 19:36:47 -08:00
Nikolaj Bjorner
f74d8460f6 use single thread for win-dist
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-02 19:23:19 -08:00
Nikolaj Bjorner
14390eeac2 fix typo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-02 18:44:04 -08:00
Nikolaj Bjorner
62616cf37c fixup nuget task
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-02 17:13:03 -08:00
Nikolaj Bjorner
a97e5fcf0e fix error in mk_nuget_task.py
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-28 18:18:51 -08:00
Nikolaj Bjorner
cd95c7e72a add diagnostics to extraction of Microsoft.pdb/xml/dll
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-28 13:55:44 -08:00
Nikolaj Bjorner
fb6ec7d5e7 increase version number
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-18 15:00:26 -08:00
Nikolaj Bjorner
30dba9bde7 use down-level setup tools on hosted machines to avoid https://stackoverflow.com/questions/79252233/canonicalize-versionversion-strip-trailing-zero-false-while-doing-colcon-buil
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-18 14:36:16 -08:00
Nikolaj Bjorner
3c47fd96cf bump timeout for jobs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-18 13:41:31 -08:00
Nikolaj Bjorner
2e008a9745 Update release.yml for Azure Pipelines 2025-02-18 13:39:41 -08:00
Nikolaj Bjorner
d1575af5d2 Update nightly.yaml for Azure Pipelines
update timeout to 90
2025-02-17 21:45:10 -08:00
Nikolaj Bjorner
0ef26983fc release
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-31 17:31:37 -08:00
Nikolaj Bjorner
d6dcc515eb rehearse release
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-31 09:49:42 -08:00
Nikolaj Bjorner
8ae24e2b38 update release version 2025-01-31 09:29:28 -08:00
Nikolaj Bjorner
decaee83f3 move from justified_expr to dependent_expr by aligning datatypes 2025-01-22 11:46:10 -08:00
Nuno Lopes
3aacc62229 api: hint the compiler that logging enabled is unlikely 2024-12-28 09:52:36 +00:00