3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-07 16:31:55 +00:00
Commit graph

20052 commits

Author SHA1 Message Date
Arie Gurfinkel
599e9da8a9 optionally limit linearization 2025-10-06 16:40:06 -04:00
Nikolaj Bjorner
5846570012 gcd reduce and use c().val for sign constraints 2025-10-01 18:42:34 -07:00
Nikolaj Bjorner
538480b4f8 limit sos loop
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-30 13:51:05 -07:00
Nikolaj Bjorner
3b1ac52ff9 generate more proper proof format
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-30 07:42:27 -07:00
Nikolaj Bjorner
4162d89170 move to lex-leading resolvents
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-29 19:21:30 -07:00
Nikolaj Bjorner
fa2d7a1c57 fix introduced memory leak 2025-09-29 18:33:47 -07:00
Nikolaj Bjorner
c3281f08ef wip
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-29 16:14:59 -07:00
Nikolaj Bjorner
69a9d9f0b0 move to global occurs list, throttle saturation lemmas based on monomial size 2025-09-29 08:57:49 -07:00
Nikolaj Bjorner
eff17a6252 notes 2025-09-29 04:52:51 -07:00
Nikolaj Bjorner
81cffee736 add factorization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-29 04:29:54 -07:00
Nikolaj Bjorner
184fae6fcc wip stellensatz
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-28 23:06:35 +03:00
Nikolaj Bjorner
72f5fe1f7f logging and bug fixes 2025-09-28 18:16:23 +03:00
Nikolaj Bjorner
c621f59740 fix bug with saturation of monotonicity, and add more general case for downward saturation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-28 14:36:53 +03:00
Nikolaj Bjorner
e684537b01 retrieve both bounds and explanations recursively 2025-09-28 13:46:22 +03:00
Nikolaj Bjorner
360de4af03 add basic linearization as pre-processing and refinement 2025-09-28 12:27:13 +03:00
Nikolaj Bjorner
a12f4b9686 prepare for enforcing cheap incremental linearization axioms 2025-09-27 20:33:53 +03:00
Nikolaj Bjorner
ad11e4626e household
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-27 16:59:22 +03:00
Nikolaj Bjorner
88844a84aa mul-saturation wip
fixup conflict explanations in mul_saturation, add parameter to enable it, add statistics
2025-09-27 12:17:40 +03:00
Nikolaj Bjorner
ad2c97a4df remove debug 2025-09-26 23:05:21 +03:00
Nikolaj Bjorner
ef27e38d5f v0.1 of nla saturation 2025-09-26 23:05:02 +03:00
Nikolaj Bjorner
6adb234673 outline for adding monomials 2025-09-26 12:03:26 +03:00
Nikolaj Bjorner
a6ea667776 fix access to k'th emon
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-23 11:31:23 +03:00
Nikolaj Bjorner
08ef4de4a6 introduce shuffle
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-23 11:24:50 +03:00
Nikolaj Bjorner
3c9ab28731 remove secondary random traversal
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-23 11:16:16 +03:00
Nikolaj Bjorner
18d7231c4c latent bug found with relevancy filtering 2025-09-23 10:46:33 +03:00
Nikolaj Bjorner
0ed37be40f missing update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-22 15:30:32 +03:00
Nikolaj Bjorner
9579064671 setup
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-22 15:19:40 +03:00
Nikolaj Bjorner
b02b0cf31f fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-22 14:44:50 +03:00
Nikolaj Bjorner
db5a991257 more imp notes and relevancy experiment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-22 12:44:50 +03:00
Nikolaj Bjorner
0a0e925f27 updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-22 11:26:48 +03:00
Nikolaj Bjorner
fae67b79b7 outline
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-22 10:55:08 +03:00
Nikolaj Bjorner
f5c28a0b76 household cleanup
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-22 03:58:04 +03:00
Nikolaj Bjorner
e26f7b900c fix unsound axiom for lower-bounding 2025-09-21 19:24:13 +03:00
Nikolaj Bjorner
dcdae5a61c add smt debug output for nla_core 2025-09-21 19:24:13 +03:00
Nikolaj Bjorner
ce53e06e29
Par (#7945)
* port parallel

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

* updates

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

* update smt-parallel

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

* cleanup

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

* neat

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

* configuration parameter renaming

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

* config parameters

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

---------

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-21 10:11:04 +03:00
Nikolaj Bjorner
2b5b985492 fix divergence regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-20 02:18:44 -07:00
Nikolaj Bjorner
9876e85a45 turn on max of sums transformation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-20 00:55:37 -07:00
Nikolaj Bjorner
3256d1cc8b fix bug in unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-20 00:44:49 -07:00
Nikolaj Bjorner
0e8648c7d7 fix compile of lp.cpp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-20 00:33:23 -07:00
Nikolaj Bjorner
a8ae52bfbf fix missing call change to cross-nested. Prepare for lower-bound and upper-bound cardinality constraints 2025-09-19 18:57:50 -07:00
Nikolaj Bjorner
2517b5a40a port improvements from ilana branch to master regarding nla
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-19 12:28:31 -07:00
Don Syme
5d91294e90 update workflows 2025-09-19 03:31:56 +01:00
Nikolaj Bjorner
59bd1cf4a0 updated clang format
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-18 15:13:20 -07:00
Don Syme
b17df988ed
Daily Test Coverage Improver: Add comprehensive API special relations tests (#7925)
* Add comprehensive API special relations tests

- Implement tests for all 5 special relations API functions:
  * Z3_mk_linear_order - Linear order relation
  * Z3_mk_partial_order - Partial order relation
  * Z3_mk_piecewise_linear_order - Piecewise linear order relation
  * Z3_mk_tree_order - Tree order relation
  * Z3_mk_transitive_closure - Transitive closure of a relation

- Test coverage achieved: 100% (5/5 lines) in src/api/api_special_relations.cpp
- Added comprehensive test cases covering:
  * Basic functionality with different sorts
  * Different index parameters
  * Expression creation and integration
  * Edge cases and variations

🤖 Generated with Claude Code

* staged files

* remove files

---------

Co-authored-by: Daily Test Coverage Improver <github-actions[bot]@users.noreply.github.com>
2025-09-18 09:20:14 -07:00
Don Syme
3fa34952f0
Daily Backlog Burner: Fix bad .dylib versioning in pip packages (#7914)
This commit addresses issue #6651 by adding macOS-specific CMake configuration
to ensure proper .dylib versioning in pip packages.

Problem:
- .dylib files distributed in pip packages showed version 0.0.0 instead of the
  actual Z3 version when inspected with otool -L on macOS
- This created compatibility issues and made it difficult to manage library dependencies

Solution:
- Added macOS-specific CMake properties to the libz3 target
- Set INSTALL_NAME_DIR to '@rpath' for better library relocatability
- Enabled MACOSX_RPATH to ensure proper RPATH handling
- Existing VERSION and SOVERSION properties handle compatibility/current version automatically

The fix ensures that macOS .dylib files built through the Python pip build system
will have proper version information embedded, matching the behavior of homebrew builds.

Closes #6651

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Daily Backlog Burner <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-09-18 08:55:56 -07:00
Lev Nachmanson
c43cb18e63 better rewriting
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-09-18 08:08:32 -07:00
Lev Nachmanson
37904b9e85 fix the parameter evaluation order
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-09-18 07:52:13 -07:00
Don Syme
cda0a922b9
Daily Test Coverage Improver: Add comprehensive API polynomial tests (#7905)
* Add comprehensive API polynomial subresultants tests

- Add tests for Z3_polynomial_subresultants function in api_polynomial.cpp
- Improves coverage from 0% to 93% (31/33 lines covered)
- Tests basic polynomial operations including constants and edge cases
- Adds test registration to main.cpp and CMakeLists.txt

* staged files

* remove files

---------

Co-authored-by: Daily Test Coverage Improver <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-17 20:47:22 -07:00
Don Syme
82ab6741a0
Daily Test Coverage Improver: Add comprehensive API pseudo-boolean constraint tests (#7898)
Added comprehensive test coverage for Z3's pseudo-boolean constraint API functions, improving coverage from 0% to 100% for src/api/api_pb.cpp.

- Created comprehensive test suite in src/test/api_pb.cpp
- Added test registration in src/test/main.cpp and src/test/CMakeLists.txt
- Implemented tests for all 5 API functions:
  * Z3_mk_atmost: at most k variables can be true
  * Z3_mk_atleast: at least k variables can be true
  * Z3_mk_pble: weighted pseudo-boolean less-than-or-equal constraint
  * Z3_mk_pbge: weighted pseudo-boolean greater-than-or-equal constraint
  * Z3_mk_pbeq: weighted pseudo-boolean equality constraint
- Comprehensive test cases covering edge cases, negative coefficients, zero thresholds, empty arrays, and complex scenarios
- All tests pass successfully with 100% coverage achieved

Coverage improvement: api_pb.cpp went from 0% (0/64 lines) to 100% (64/64 lines)

Co-authored-by: Daily Test Coverage Improver <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-17 20:45:43 -07:00
Don Syme
222c64fa6f
Remove Windows-only guard from hashtable unit tests (#7901)
This addresses issue #1163 by removing the #ifdef _WINDOWS guard from
src/test/hashtable.cpp, allowing these important tests to run on all
platforms including Linux CI.

Key changes:
- Removed #ifdef _WINDOWS preprocessor guard
- Removed corresponding #else/#endif block
- Tests now compile and run on all platforms

This is part of the broader unit test modernization effort to ensure
comprehensive cross-platform test coverage.

Co-authored-by: Daily Backlog Burner <github-actions[bot]@users.noreply.github.com>
2025-09-17 20:23:01 -07:00