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
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
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
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
Don Syme
4e1a9d1ef7
Daily Test Coverage Improver: Add comprehensive API Datalog tests ( #7921 )
...
* Daily Test Coverage Improver: Add comprehensive API Datalog tests
This commit adds comprehensive test coverage for Z3's Datalog/fixedpoint API functions, improving coverage from 0% to 17% (84/486 lines) in src/api/api_datalog.cpp.
Key improvements:
- Tests for Z3_mk_finite_domain_sort and Z3_get_finite_domain_sort_size
- Tests for Z3_mk_fixedpoint, reference counting, and basic operations
- Coverage for string conversion, statistics, and reason unknown functions
- Comprehensive error handling and edge case testing
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
* staged files
* remove files
---------
Co-authored-by: Daily Test Coverage Improver <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-09-17 20:07:24 -07:00
Don Syme
ee083a2e6c
Daily Test Coverage Improver: Add comprehensive API AST map tests ( #7890 )
...
* Add comprehensive tests for AST map API functions
Improved test coverage from 0% to 84% for src/api/api_ast_map.cpp by adding comprehensive tests for:
- Basic map operations (creation, insertion, lookup, size)
- Map manipulation (overwrite values, erase entries, reset)
- Reference counting (inc_ref/dec_ref)
- String representation (to_string function)
This contributes 94 newly covered lines to overall project test coverage.
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
* staged files
* Delete coverage-steps.log
* Delete coverage-summary.txt
* Delete coverage.html
* Delete z3.log
---------
Co-authored-by: Daily Test Coverage Improver <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-16 17:26:07 -07:00
Don Syme
44d2bba3e5
Add comprehensive tests for API algebraic number functions ( #7888 )
...
- Created new test file api_algebraic.cpp with tests for all algebraic API functions
- Tests cover basic operations (add, sub, mul, div, power, root)
- Tests cover comparison operations (lt, le, gt, ge, eq, neq)
- Tests cover sign detection (is_zero, is_pos, is_neg, sign)
- Tests cover algebraic value detection (is_value)
- Added comprehensive test cases for rational numbers and fractions
- Updated main.cpp and CMakeLists.txt to include the new test module
Coverage improvements:
- src/api/api_algebraic.cpp: 0% -> 52% (136/258 lines covered)
- Overall project coverage: ~47% (gained 71 covered lines)
Co-authored-by: Daily Test Coverage Improver <github-actions[bot]@users.noreply.github.com>
2025-09-16 15:32:23 -07:00
Copilot
41491d79be
Add comprehensive test coverage for math/lp and math/polynomial modules ( #7877 )
...
* Initial plan
* Add comprehensive test coverage for math/lp and math/polynomial modules
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Finalize test coverage improvements with corrected implementations
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Fix compilation errors in test files
- Fix algebraic_numbers.cpp: Simplified tests to use basic algebraic operations without polynomial manager dependencies
- Fix polynomial_factorization.cpp: Corrected upolynomial::factors usage and API calls
- Fix nla_intervals.cpp: Changed 'solver' to 'nla::core' and fixed lar_solver constructor
- Fix monomial_bounds.cpp: Updated class names and method calls to match current NLA API
These changes address the scoped_numeral compilation errors and other API mismatches identified in the build.
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Fix monomial bounds test assertions to use consistent values
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-09-14 14:57:21 -07:00
Nikolaj Bjorner
84bf34266b
put back shortcut for square test. Remove assumption in unit test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-14 05:00:47 -07:00
Nuno Lopes
b1ab695eb6
fix #7603 : race condition in Ctrl-C handling ( #7755 )
...
* fix #7603 : race condition in Ctrl-C handling
* fix race in cancel_eh
* fix build
2025-08-06 14:27:28 -07:00
Nikolaj Bjorner
0c5b0c3724
turn on ho-matcher for completion
2025-07-07 14:08:51 +02:00
Nikolaj Bjorner
1b3c3c2716
initial pattern abstraction and move matching to src
2025-07-06 00:53:46 -07:00
Nikolaj Bjorner
2d1a42d53f
fixes to ho-matcher
2025-07-05 16:24:45 -07:00
Nikolaj Bjorner
951554e883
ho matcher draft
...
Draft implementation of higher-order matcher.
No specific tuning at this point.
2025-07-04 18:01:47 -07:00
Lev Nachmanson
126e06b8b6
fix the test-z3 build
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-06-17 07:22:03 -07:00
Nikolaj Bjorner
c387b20ac6
move smt params to params directory, update release.yml
2025-06-09 10:47:22 -07:00
Nikolaj Bjorner
d37336eb07
remove trace by default from tests
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-08 09:22:43 -07:00
Nikolaj Bjorner
98d86c6687
disable tracing in test code
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-08 08:08:10 -07:00
Nikolaj Bjorner
3e75b22c94
fix build
2025-06-06 19:21:11 +02:00
LeeYoungJoon
0a93ff515d
Centralize and document TRACE tags using X-macros ( #7657 )
...
* Introduce X-macro-based trace tag definition
- Created trace_tags.def to centralize TRACE tag definitions
- Each tag includes a symbolic name and description
- Set up enum class TraceTag for type-safe usage in TRACE macros
* Add script to generate Markdown documentation from trace_tags.def
- Python script parses trace_tags.def and outputs trace_tags.md
* Refactor TRACE_NEW to prepend TraceTag and pass enum to is_trace_enabled
* trace: improve trace tag handling system with hierarchical tagging
- Introduce hierarchical tag-class structure: enabling a tag class activates all child tags
- Unify TRACE, STRACE, SCTRACE, and CTRACE under enum TraceTag
- Implement initial version of trace_tag.def using X(tag, tag_class, description)
(class names and descriptions to be refined in a future update)
* trace: replace all string-based TRACE tags with enum TraceTag
- Migrated all TRACE, STRACE, SCTRACE, and CTRACE macros to use enum TraceTag values instead of raw string literals
* trace : add cstring header
* trace : Add Markdown documentation generation from trace_tags.def via mk_api_doc.py
* trace : rename macro parameter 'class' to 'tag_class' and remove Unicode comment in trace_tags.h.
* trace : Add TODO comment for future implementation of tag_class activation
* trace : Disable code related to tag_class until implementation is ready (#7663 ).
2025-05-28 14:31:25 +01:00
Nikolaj Bjorner
47c12f9a18
refactoring to use for-range
2025-05-15 10:57:46 -07:00
Nikolaj Bjorner
8035edbe65
remove lp_assert
2025-04-14 11:10:26 -07:00
Nikolaj Bjorner
2e2a2e28df
use iterators on goal and other refactoring
2025-03-16 20:04:04 -07:00
Nikolaj Bjorner
eb97fcc273
mild refactoring
2025-03-16 12:24:41 -07:00
Nikolaj Bjorner
813da35539
fix unit test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-17 20:36:38 -08:00
Lev Nachmanson
8a9edd1aa7
fix the test build
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
862dc91cb2
work on incremental dio
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
df18885f97
debug dio
2025-02-11 12:23:00 -10:00
Nikolaj Bjorner
3a3e176dce
fix build for tests
2025-01-22 13:30:12 -08:00
Nikolaj Bjorner
fb5834268e
fix unit tests, add subsampling mode for false literals
2025-01-20 17:34:59 -08:00
Nikolaj Bjorner
5fec07a57e
fix unit test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-15 08:38:14 -08:00
Nikolaj Bjorner
bfcd75595e
update test file
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-02 21:03:50 -08:00
Nikolaj Bjorner
1131d8dbe6
update test file
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-02 20:59:40 -08:00
Nikolaj Bjorner
a511b8bcf0
disable unit tests relying on changed functionality
2024-12-31 09:24:41 -08:00
Nikolaj Bjorner
b529a58b91
add unit test for incremental equation edit distance with repair
2024-12-15 05:53:28 -08:00
Nikolaj Bjorner
42894f729a
add noexcept for signature compatibility
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 11:13:49 -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
Nikolaj Bjorner
91dc02d862
Sls ( #7439 )
...
* reorg sls
* sls
* na
* split into base and plugin
* move sat_params to params directory, add op_def repair options
* move sat_ddfw to sls, initiate sls-bv-plugin
* porting bv-sls
* adding basic plugin
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add sls-sms solver
* bv updates
* updated dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* updated dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use portable ptr-initializer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* move definitions to cpp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use template<> syntax
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix compiler errors for gcc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Bump docker/build-push-action from 6.0.0 to 6.1.0 (#7265 )
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v6.0.0...v6.1.0 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* set clean shutdown for local search and re-enable local search when it parallelizes with PB solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Bump docker/build-push-action from 6.1.0 to 6.2.0 (#7269 )
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v6.1.0...v6.2.0 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix a comment for Z3_solver_from_string (#7271 )
Z3_solver_from_string accepts a string buffer with solver
assertions, not a string buffer with filename.
* trigger the build with a comment change
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* remove macro distinction #7270
* fix #7268
* kludge to address #7232 , probably superseeded by planned revision to setup/pypi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add new ema invariant (#7288 )
* Bump docker/build-push-action from 6.2.0 to 6.3.0 (#7280 )
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v6.2.0...v6.3.0 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix unit test build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove shared attribute
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove stale files
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix build of unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes and rename sls-cc to sls-euf-plugin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* testing / debugging arithmetic
* updates to repair logic, mainly arithmetic
* fixes to sls
* evolve sls arith
* bugfixes in sls-arith
* fix typo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bug fixes
* Update sls_test.cpp
* fixes
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* refactor basic plugin and clause generation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to ite and other
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* updates
* update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix division by 0
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable fail restart
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable tabu when using reset moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* update sls_test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add factoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to semantics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* re-add tabu override
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* generalize factoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove restart
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable tabu in fallback modes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* localize impact of factoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* delay factoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* flatten products
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* perform lookahead update + nested mul
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable nested mul
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable nested mul, use non-lookahead
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* make reset updates recursive
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* include linear moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* include 5% reset probability
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* separate linear update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* separate linear update remove 20% threshold
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove linear opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* enable multiplier expansion, enable linear move
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use unit coefficients for muls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable non-tabu version of find_nl_moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove coefficient from multiplication definition
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* reorg monomials
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add smt params to path
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* avoid negative reward
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use reward as proxy for score
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use reward as proxy for score
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use exponential decay with breaks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use std::pow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to bv
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to fixed
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixup repairs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* reserve for multiplication
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixing repair
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* include bounds checks in set random
* na
* fixes to mul
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix mul inverse
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to handling signed operators
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* logging and fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* gcm
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* peli
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Add .env to gitignore to prevent environment files from being tracked
* Add m_num_pelis counter to stats in sls_context
* Remove m_num_pelis member from stats struct in sls_context
* Enhance bv_sls_eval with improved repair and logging, refine is_bv_predicate in sls_bv_plugin
* Remove verbose logging in register_term function of sls_basic_plugin and fix formatting in sls_context
* Rename source files for consistency in `src/ast/sls` directory
* Refactor bv_sls files to sls_bv with namespace and class name adjustments
* Remove typename from member declarations in bv_fixed class
* fixing conca
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Add initial implementation of bit-vector SLS evaluation module in bv_sls_eval.cpp
* Remove bv_sls_eval.cpp as part of code cleanup and refactoring
* Refactor alignment of member variables in bv_plugin of sls namespace
* Rename SLS engine related files to reflect their specific use for bit-vectors
* Refactor SLS engine and evaluator components for bit-vector specifics and adjust memory manager alignment
* Enhance bv_eval with use_current, lookahead strategies, and randomization improvements in SLS module
* Refactor verbose logging and fix logic in range adjustment functions in sls bv modules
* Remove commented verbose output in sls_bv_plugin.cpp during repair process
* Add early return after setting fixed subterms in sls_bv_fixed.cpp
* Remove redundant return statement in sls_bv_fixed.cpp
* fixes to new value propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Refactor sls bv evaluation and fix logic checks for bit operations
* Add array plugin support and update bv_eval in ast_sls module
* Add array, model value, and user sort plugins to SLS module with enhancements in array propagation logic
* Refactor array_plugin in sls to improve handling of select expressions with multiple arguments
* Enhance array plugin with early termination and propagation verification, and improve euf and user sort plugins with propagation adjustments and debugging enhancements
* Add support for handling 'distinct' expressions in SLS context and user sort plugin
* Remove model value and user sort plugins from SLS theory
* replace user plugin by euf plugin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove extra file
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Refactor handling of term registration and enhance distinct handling in sls_euf_plugin
* Add TODO list for enhancements in sls_euf_plugin.cpp
* add incremental mode
* updated package
* fix sls build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* break sls build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix build
* break build again
* fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixing incremental
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* avoid units
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixup handling of disequality propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fx
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* recover shift-weight loop
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* alternate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* throttle save model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* allow for alternating
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix test for new signature of flip
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bug fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* restore use of value_hash
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding dt plugin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* dt updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* added cycle detection
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* updated sls-datatype
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Refactor context management, improve datatype handling, and enhance logging in sls plugins.
* axiomatize dt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing factory plugins to model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixup finite domain search
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixup finite domain search
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* redo dfs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixing model construction for underspecified operators
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to occurs check
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixup interpretation building
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* saturate worklist
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* delay distinct axiom
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding model-based sls for datatatypes
* update the interface in sls_solver to transfer phase between SAT and SLS
* add value transfer option
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* rename aux functions
* Track shared variables using a unit set
* debugging parallel integration
* fix dirty flag setting
* update log level
* add plugin to smt_context, factor out sls_smt_plugin functionality.
* bug fixes
* fixes
* use common infrastructure for sls-smt
* fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove declaration of context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add virtual destructor
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* reorder inclusion order to define smt_context before theory_sls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* change namespace for single threaded
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* check delayed eqs before nla
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use independent completion flag for sls to avoid conflating with genuine cancelation
* validate sls-arith lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bugfixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add intblast to legacy SMT solver
* fixup model generation for theory_intblast
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* mk_value needs to accept more cases where integer expression doesn't evalate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use th-axioms to track origins of assertions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing operator handling for bitwise operators
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing operator handling for bitwise operators
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* normalizing inequality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add virtual destructor
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* rework elim_unconstrained
* fix non-termination
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use glue as computed without adjustment
* update model generation to fix model bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to model construction
* remove package and package lock
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix build warning
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use original gai
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
---------
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sergey Bronnikov <estetus@gmail.com>
Co-authored-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: LiviaSun <33578456+ChuyueSun@users.noreply.github.com>
2024-11-02 12:32:48 -07:00
Nikolaj Bjorner
328616b8b2
fix build warnings
2024-09-30 17:25:19 -07:00
Nikolaj Bjorner
2c94a3a1b3
fix build warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-09-30 13:09:01 -07:00
LiviaSun
7c30cbfe48
add scoped_vector invariants and unit tests ( #7327 )
...
* add scoped vector unit test
* fix dlist tests
* add new scoped vector invariants
* remove all loop invariants
2024-08-02 19:21:40 -07:00
LiviaSun
d2fc085b8c
update heap unit tests ( #7324 )
...
* new heap invariants
* change ENSURE to SASSERT for unit test heap
* change SASSERT to VERIFY
* update heap tests
* update
* remove one invariant
2024-08-02 18:29:50 -07:00
LiviaSun
fce4b36dad
add apply_permutation tests ( #7322 )
...
* add permutation unit tests
* update test
* update
* Update permutation.cpp
fix macos build
* add apply_permutation tests
* update test
* Update permutation.cpp
* fix permutation tests
---------
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-02 18:29:33 -07:00
Nikolaj Bjorner
ea9fa17f86
add static
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-02 11:38:03 -07:00
Nikolaj Bjorner
23e7dc0356
assert -> SASSERT
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-02 11:36:04 -07:00
LiviaSun
fe594618e6
fix dlist tests ( #7323 )
2024-08-01 16:56:54 -07:00
LiviaSun
6ba25b888b
add permutation unit tests ( #7300 )
...
* add permutation unit tests
* update test
* update
* Update permutation.cpp
fix macos build
---------
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-08-01 12:56:26 -07:00