Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sls #7439

Merged
merged 206 commits into from
Nov 2, 2024
Merged

Sls #7439

merged 206 commits into from
Nov 2, 2024

Conversation

NikolajBjorner
Copy link
Contributor

@NikolajBjorner NikolajBjorner commented Nov 2, 2024

Reworks sls functionality to allow for modular addition of theories.
This remains work in progress and is only turned on by enabling specific configurations.
It is merged to master to avoid too much drift with respect to other code that is touched.

Other changes:

  • Fixes elim_unconstrained (elim_uncnstr2) old buggy implementation by rewrite.
  • Adds int-blasting as an option to the legacy smt solver. Hoists common functionality as rewriting utilities.
    Enable int-blasting by setting the parameter smt.bv.solver=2.
    Effect on alive2 benchmark sets with 20s timeout: SAT 27, UNSAT 2276, TIMEOUT 10648
    With concurrent SLS: SAT 39
  • Performance bug fixes to the new SAT based SMT core.

SLS is available as co-processor for both the legacy SMT and the SAT based SMT core. The legacy SMT core is generally performing better than the SAT based SMT core. Some performance discrepancies are being addressed with these changes, others are left for future updates.

The sls functionality is enabled by setting smt.sls.enable=true. It includes support for bit-vectors, arithmetic, EUF, Select/Store of arrays, and ADTs. Some features are missing (to_int and to_real). Other array operators are TBD and so is detecting unsupported theories properly (such as sequences/strings) so that the solver doesn't pretend the result is SAT when it isnt.

NikolajBjorner and others added 30 commits July 5, 2024 16:16
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
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](docker/build-push-action@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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…t parallelizes with PB solver

Signed-off-by: Nikolaj Bjorner <[email protected]>
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](docker/build-push-action@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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Z3_solver_from_string accepts a string buffer with solver
assertions, not a string buffer with filename.
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](docker/build-push-action@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] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
Signed-off-by: Nikolaj Bjorner <[email protected]>
@NikolajBjorner NikolajBjorner merged commit 91dc02d into master Nov 2, 2024
13 of 26 checks passed
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.

4 participants