-
Notifications
You must be signed in to change notification settings - Fork 63
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
"bit vectors must have same length64 32" #707
Comments
I now have one where the proof goes through with z3 but where w4 gives the 64/32 error. I could share if it would help. |
This error message originates in the |
I tried sticking a |
I found the problem: The terms passed as arguments to
The C function prototype shows the numeric argument types alternating between The real bug here is that |
This issue is related to #443, which is about type checking of function return values. Ultimately we should probably use the same type-compatibility relation to check function arguments as we use to check return values. |
Looking at the source code, it appears that my suspicion was right: There is some code for checking type compatibility of function arguments, but it is only called by |
The checking of argument types has been moved from `resolveArguments` into a separate function `checkSpecArgumentTypes`, which is called from both `crucible_llvm_verify` and `crucible_llvm_unsafe_assume_spec`. Fixes #707.
With #714,
|
The checking of argument types has been moved from `resolveArguments` into a separate function `checkSpecArgumentTypes`, which is called from both `crucible_llvm_verify` and `crucible_llvm_unsafe_assume_spec`. Fixes #707.
The "bignum.saw" reference here - is that public? (I am currently trying to figure out how I'd do verification of a program that makes extensive use of GMP - if the library already exists in some form...) |
There's a link to a tarball in the original post. |
Better yet...see it in action over at https://github.com/weaversa/electionguard-c/blob/master/test/saw/bignum.saw Though the |
saw bignum.saw
gives some interesting results depending on the solver used (see the very bottom ofbignum.saw
).w4
complains that "bit vectors must have same length64 32".z3
gives a counter example (which I cannot understand).abc
gives:cvc4
gives:w4issue.tar.gz
This is a work in progress, so don't expect it to look nice...but I thought an issue was warranted.
The text was updated successfully, but these errors were encountered: