-
Notifications
You must be signed in to change notification settings - Fork 19
Add axiomatization infrastructure for Boogie functions, add axioms for maps functions #17
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
Conversation
|
I wrote some code to extract the axioms from Strata.Boogie code (see For that to work though, the |
|
The axiom generation should probably be elsewhere, any suggestion? |
Strata/Languages/Boogie/Examples/DDMAxiomExtractionExample.lean
Outdated
Show resolved
Hide resolved
|
The CI fails because the Lambda translation now adds type information to applications of |
atomb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm inclined to merge this as-is because it provides functionality we really want and will serve as a regular reminder to encourage us to implement a way to write the axioms more concisely. :)
I'm just waiting on Shilpi's PR to be merged to un comment the concise version that is working :) |
Ah, nice! In that case, let's wait for that PR. |
|
There you go @atomb :) |
atomb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice! There's one stray TODO comment about something you've already done now.
shigoel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Description of changes:
updateandselecton Maps in the Boogie languages are defined by axioms. To add them, this PR adds a mechanism to add axioms for functions in the Boogie functions factory. These axioms are encoded in SMT for each type instantiations when encoding the functions.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.