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

Concrete backend should be able to handle extremely simple symbolic cases #64

Closed
rhelmot opened this issue Feb 8, 2018 · 3 comments
Closed
Labels

Comments

@rhelmot
Copy link
Member

rhelmot commented Feb 8, 2018

  • evaluating x when x == 4 should not touch z3
  • evaluating y when y == x and x == 4 should not touch z3
  • evaluating x when x[15:0] == 4 and x[31:16] == 5 should not touch z3
  • max(x) when x <= 5 (and no other constraints on x) should not touch z3
  • max(x) when x <= y and y <= 5 (and no other constraints on x and y) should not touch z3
@zardus
Copy link
Member

zardus commented Feb 8, 2018

We support this (and considerably more complex cases even!) with the HybridSolver, which uses the ReplacementFrontend coupled with a VSA LightFrontend. It doesn't touch Z3, but on the other hand, it executes a lot of python code, so we don't often "win" on performance.

We could probably use almost the exact same scaffold but without VSA for more speed at the cost of only handling simpler expressions.

@github-actions
Copy link
Contributor

This issue has been marked as stale because it has no recent activity. Please comment or add the pinned tag to prevent this issue from being closed.

@github-actions github-actions bot added the stale label May 29, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Jun 6, 2022

This issue has been closed due to inactivity.

@github-actions github-actions bot closed this as completed Jun 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants