-
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
Constants involving ExtCns #1430
Comments
As I recall, the abstracting over Not only was this situation confusing, but I believe that it was actually unsound because when the override from such a proof was applied, it's supposed to do a substitution to replace the |
I see, so there's some mismatch between the contract of the OK, I'll have to think some more about what is a good way to achieve what I want. |
We might be able to just split
Defined Actually it seems like the second flavor is basically like |
Currently An idea I have a prototype implementation of is to allow |
The following operation makes sure to abstract a constant over any
ExtCns
values it mentions. As I recall, this is done to make sure that the bodies of constants are in some sense "totally closed". Is this restriction actually important/relied upon for anything we are doing? Would anything go wrong if we relaxed it? @brianhuffmansaw-script/saw-core/src/Verifier/SAW/SharedTerm.hs
Lines 1453 to 1471 in 4222c6e
I ask because it would be nice if we could allow Cryptol
primitive
declarations to be ultimately translated into CoqParameter
declarations, which would allow us to do proofs about operations that are held totally abstract. I have a branch that works in this direction and translates Cryptolprimitive
terms intoExtCns
, which are then translated to CoqParameter
declarations. So far so good. However, any declarations that mention these primitives get turned intoConstant
terms which then are abstracted over all the ExtCns that they mention, and the declarations I wanted are now lambda-abstracted over the primitives instead of referencing them the way I wanted.The text was updated successfully, but these errors were encountered: