-
Notifications
You must be signed in to change notification settings - Fork 167
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
Sqrt fails formal verification #1586
Comments
What is the error you get? |
I think the conversation on Discord is also relevant. |
Alternatively, even easier: export const main =
Reach.App( () => {
const A = Participant('A', { x: UInt });
init();
A.only(() => {
const x = declassify(interact.x);
assume(x > 0, "x too low");
});
A.publish(x);
commit();
assert(sqrt(x) * sqrt(x) <= x);
}
); This gives:
|
If you are not able to test or use the new SMT assertion, then you can change your code from using a |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the error
There seems to be a bug in sqrt for formal verification. The following example fails verification (irrespective of the value of
tokensToReturn
.To Reproduce
Extra information
I am using the latest version of Reach. Also, may I please ask you to prioritize this, if at all possible? My Master thesis is due in about 2 weeks, and my project has been blocked by this bug for about 3 weeks now. Thank you so much!
The text was updated successfully, but these errors were encountered: