Skip to content

Nl2lin#8752

Open
ValentinPromies wants to merge 1489 commits intoZ3Prover:nl2linfrom
ValentinPromies:nl2lin
Open

Nl2lin#8752
ValentinPromies wants to merge 1489 commits intoZ3Prover:nl2linfrom
ValentinPromies:nl2lin

Conversation

@ValentinPromies
Copy link

Merge master into nl2lin and move linear cell construction into levelwise

NikolajBjorner and others added 30 commits February 18, 2026 20:58
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: nunoplopes <2998477+nunoplopes@users.noreply.github.com>
Co-authored-by: nunoplopes <2998477+nunoplopes@users.noreply.github.com>
This fixes the install_name_tool issue on macOS where the tool fails
with "larger updated load commands do not fit". The linker flag
-Wl,-headerpad_max_install_names ensures sufficient header padding
in the Mach-O binary for install_name_tool to modify install names.

Changes made:
- CMake: Added flag to libz3, z3java, z3jl shared libraries on Darwin
- Python build: Changed flag from ML-only to all macOS builds
- OCaml CMake: Added flag to OCaml stublib build on APPLE

Fixes Z3Prover#7623 (regression in 4.15.5)

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

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Added release notes for version 4.15.6, including optimizations and fixes.
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
…ation test paths

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

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
levnach and others added 25 commits February 19, 2026 09:31
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
…eep 4 passing tests

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Disable failure on a nullified polynomial in levelwise
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
…oop bound

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

Fix off-by-one vulnerabilities in ackermannization module
…age-gaps

Add unit tests covering ackermannization module and Z3_algebraic_eval
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
…dd A3 Python badge

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
…banners-remove-workflows

Update README.md build status banners
@levnach
Copy link
Contributor

levnach commented Feb 25, 2026

There were some issues.
Z3 has a test environment at https://github.com/Z3Prover/z3test. It is a good idea to clone it ,for example, to directory “tz3” and run “python tz3/scripts/test_benchmarks.py ./z3 tz3/regressions/smt2”. This test currently gives me several incorrect results and a few timeouts: and it should work even on the debug version of z3.
I noticed that the new code produces empty explanations, which cause the unsound “unsat” results.
There was also exponential growth of the coefficients on , for example, problem tz3/regressions/smt2/8099.smt2.
Some more useful debug tricks:
Run z3 with nlsat.check_lemmas=true: I believe this option works now, even in the release build.
Run z3 with nlsat.log_lemmas=true, capture the output, including stderr, and then run z3 again on the output. There should not be lemmas which are “sat”.
I have not tried the last two options on the PR.

@NikolajBjorner
Copy link
Contributor

you can just run the CI/CD checks. They will run z3test regression tests.

@NikolajBjorner
Copy link
Contributor

Z3 build/z3) produced unexpected output for z3test/regressions/smt2/3689.smt2:
EXPECTED
sat
PRODUCED
unsat

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants