Copilot
c526c20cfc
Implement finite_set_rewriter with basic algebraic simplification rules ( #7972 )
...
* Initial plan
* Add finite_set_rewriter implementation with basic rewrite rules
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Fix finite_set_decl_plugin bug and complete implementation
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Revert finite_set_decl_plugin changes and disable difference rule
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Re-enable difference rule using set_sort directly
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Update finite_set_rewriter.h
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-14 17:13:18 +02:00
Nikolaj Bjorner
9442b41716
remove debug output
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-13 22:40:21 +02:00
Nikolaj Bjorner
1b9f27a798
patch definitions, add pretty print support
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-13 22:39:32 +02:00
Nikolaj Bjorner
fc3bd95cc2
AI slop
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-13 21:01:22 +02:00
Lev Nachmanson
fc2c5c7f58
fix the order of parameter evaluation
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-13 21:01:22 +02:00
Lev Nachmanson
e1db3c0b17
fixing the order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-13 21:01:22 +02:00
Lev Nachmanson
33ae08ab29
fixing the order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-13 21:00:54 +02:00
Nikolaj Bjorner
1344d8f8d7
Remove unused variable 'first' in mpz.cpp
...
Removed unused variable 'first' from the function.
2025-10-13 21:00:54 +02:00
Copilot
0972ab08bb
[WIP] Add a mutex to warning.cpp to ensure that warning messages from different threads don't interfere ( #7963 )
...
* Initial plan
* Add mutex to warning.cpp for thread safety
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-10-13 21:00:54 +02:00
dependabot[bot]
d6d1d7f19c
Bump actions/checkout from 4 to 5 ( #7954 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-13 21:00:54 +02:00
Philipp Danzinger
a3a8803e64
register finite_set plugin ( #7969 )
2025-10-13 14:06:58 +02:00
Copilot
df4052ec69
Implement finite_set_decl_plugin with complete operator support and polymorphism infrastructure ( #7961 )
...
* Initial plan
* Implement finite_sets_decl_plugin with all specified operations
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Add tests for finite_sets_decl_plugin
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Add set.singleton operator to finite_sets_decl_plugin
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Refactor finite_sets_decl_plugin to use polymorphic signatures and Array sorts
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Rename finite_sets to finite_set everywhere including file names
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Rename set.filter to set.select
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Refactor finite_set_decl_plugin to use polymorphism_util
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Move psig and match method to polymorphism_util
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Add MATCH macros and fix is_fully_interp return value
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Add is_finite_set helper and parameter count validation
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-10-13 10:58:53 +02:00
Nikolaj Bjorner
7356b5ff88
outline finite_set theory solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-05 16:22:28 -07:00
Nikolaj Bjorner
97c8fb15fa
update contract
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-05 14:15:08 -07:00
Nikolaj Bjorner
2ce30019ee
remove old files
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-05 14:06:36 -07:00
Nikolaj Bjorner
ad7b248956
add outline of axiomatization
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-05 14:04:51 -07:00
Nikolaj Bjorner
522be5d8c2
add stub for rewriter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-04 18:14:43 -07:00
Nikolaj Bjorner
fb41fbf5e1
placeholder for finite set signature
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-04 17:30:25 -07:00
Nikolaj Bjorner
e0fca3ba25
placeholder for finite set signature
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-04 17:18:12 -07:00
Nikolaj Bjorner
c8bdbd2dc4
remove directory
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-10-03 11:58:57 -07:00
Nikolaj Bjorner
e137aaa249
add user propagators to opt_solver
2025-10-02 19:44:22 -07:00
Nikolaj Bjorner
0e6b3a922a
Add commands for forcing preferences during search
...
Add commands:
(prefer <formula>)
- will instruct case split queue to assign formula to true.
- prefer commands added within a scope are forgotten after leaving the scope.
(reset-preferences)
- resets asserted preferences. Has to be invoked at base level.
This provides functionality related to MathSAT and based on an ask by Tomáš Kolárik who is integrating the functionality with OpenSMT2
2025-10-02 10:47:10 -07:00
Nikolaj Bjorner
5d8fcaa3ee
update clang format
2025-10-02 10:39:37 -07:00
Nikolaj Bjorner
72c89e1a4e
fix #7952 - make auto-selector detect large bit-vectors so it does't use the datalog engine for hopelessly large tables
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-30 15:58:48 -07:00
Nikolaj Bjorner
0881a71ed2
update format
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-30 15:42:01 -07:00
Nikolaj Bjorner
65c9a18c3a
fix #7956
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-30 15:41:49 -07:00
Ruijie Fang
339f0cd5f9
Correctly distinguish between Lambda and Quantifier in Z3 Java API ( #7955 )
...
* Distinguish between Quantifier and Lambda in AST.java
* Distinguish betwee Lambda and Quantifier in Expr.java
* Make things compile
2025-09-30 09:55:14 -07:00
Nikolaj Bjorner
253a7245d0
add analysis
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-28 13:05:04 +03:00
Nikolaj Bjorner
b5f79da76a
add analysis
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-28 13:03:31 +03:00
Nikolaj Bjorner
ae55b6fa1e
add analysis
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-28 13:02:05 +03:00
Nikolaj Bjorner
bda98d8da4
fix #7948
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-28 12:52:20 +03:00
Nikolaj Bjorner
b7eb21efed
fix #7948
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-28 12:52:19 +03:00
Wael Boutglay
391880b6fc
Add missing ::z3::sdiv to z3++.h ( #7947 )
2025-09-25 22:04:15 +03:00
Nikolaj Bjorner
6173a0d025
propagate value initialization to atoms
2025-09-24 11:01:24 +03:00
Nikolaj Bjorner
eae4de075b
fix latent bug in factorization
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-23 10:47:24 +03:00
Nikolaj Bjorner
04ddade2dd
remove stale comment
2025-09-22 04:43:41 +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