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

Freeze stubs #97

Closed
wants to merge 3 commits into from
Closed

Conversation

JasonGross
Copy link
Collaborator

@andres-erbsen Here are some stubs in src/Specific/GF25519BoundedCommon.v

I leave it to you to decide when to merge this; it currently breaks compilation of extracted code by having an admit in computational code. I haven't removed the things I put in to handle reifying conditional subtract yet, but it should be pretty easy to remove them once this is merged.

(We should have talked about this earlier; I probably could have gotten the spurious carries dropped in time for the paper if we had taken this path from the beginning; I wouldn't have had any of the nasty n-tuple proofs that I spent so long struggling with.

(Z.land a26 33554431 )%Z, (Z.land a25 67108863 )%Z,
(Z.land a24 33554431 )%Z, (Z.land a23 67108863 )%Z,
(Z.land a22 33554431 )%Z, (Z.land a21 67108863 )%Z,
(Z.land a20 33554431 )%Z, ( Z.land a19 67108863 )%Z).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be just three carry loops. Could GF25519.ge_modulus also go through the bounds checking pipeline and get a proof that it returns the same thing as it would in Z? I realize it is not really great design to have it in terms of Z in the first place, but eh, we have it there now and going this way might be easy.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already there, as ge_modulusW

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unless you mean that you want it integrated into this function as an extra return value, which would probably take 1-3 hours of boilerplate munging.

The reason it is in terms of Z is because Jade asked me what type it should return, and I told her the reification framework would be simpler if I only had to reify Zs and not bools.

@andres-erbsen
Copy link
Contributor

Why would we want to reify conditional subtract?

@JasonGross
Copy link
Collaborator Author

Who are you asking?

@andres-erbsen
Copy link
Contributor

Oh, nevermind, I misread. "haven't removed the things I put in to handle reifying conditional subtract" indeed means they will go away.

@JasonGross
Copy link
Collaborator Author

they will go away.

Yes. I meant to write "haven't yet", but misplaced my "yet". Oops.

@jadephilipoom
Copy link
Collaborator

I've written the word version of conditional subtract and am working on filling in the stubs. I may leave a few admits if the proofs take too long.

@JasonGross
Copy link
Collaborator Author

Merged via #104

@JasonGross JasonGross closed this Nov 11, 2016
@JasonGross JasonGross deleted the prefreeze-stubs branch November 11, 2016 21:08
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.

None yet

3 participants