-
Notifications
You must be signed in to change notification settings - Fork 326
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
HEVM prove: "Unexpected response from the solver, context: define-fun" #671
Comments
This is a known issue, unfortunately, that I once thought I solved with #582, but it has reappeared lately. Its only present with cvc4 in some particular circumstances. As a workaround for now you can use |
Long term we should investigate further if the situation can be improved in sbv, but also make z3 the default solver again |
yup z3 works. is cvc4 considered superior or something? |
I think it probably depends on the use case, but at least for hevm we've generally found cvc4 to be faster, especially for cases where calldata is completely abstract (e.g. searching for assertions in all possible executions of all methods on a contract via |
When running a simple symbolic test that deposits into a contract which transfers and mints a token, the SMTChecker will error out with this cryptic message:
Here's a reproduction test-case:
https://github.com/Rari-Capital/vaults/blob/65b2de14363a1481ca2e251d308d1100fcfacb8c/src/tests/Vault.t.sol#L30
The issue is demonstrated in CI: https://github.com/Rari-Capital/vaults/runs/2919981668
To play around yourself simply clone the branch and run
make
.The text was updated successfully, but these errors were encountered: