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

saw-core-coq: Explicitly define atWithProof, genWithProof, and friends #1786

Merged
merged 4 commits into from
Dec 13, 2022

Conversation

RyanGlScott
Copy link
Contributor

This provides explicit Coq definitions for SAWCore's atWithProof and genWithProof functions, which allow them to compute. It also proves the auxiliary at_gen_BVVec and gen_at_BVVec lemmas, a feat which is now possible thanks to the aforementioned computability.

Fixes #1784.

To avoid unnecessary breakage in the Coq support libraries, we keep
`bvNat_bvToNat_id` around as a deprecated alias for `bvNat_bvToNat`.

Fixes #1785.
Copy link
Contributor

@eddywestbrook eddywestbrook left a comment

Choose a reason for hiding this comment

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

Looks good, thanks Ryan!

This provides explicit Coq definitions for SAWCore's `atWithProof` and
`genWithProof` functions, which allow them to compute. It also proves the
auxiliary `at_gen_BVVec` and `gen_at_BVVec` lemmas, a feat which is now possible
thanks to the aforementioned computability.

To make this work with the current module ordering, I needed to wire in the
definition of `IsLtNat` into `SAWCoreScaffolding`, which proves
straightforward.

Fixes #1784.
The `SpecialTreatment` module had two entirely duplicate definitions
(`sawCoreScaffoldingModule` and `sawDefinitionsModule`) referring to the
`SAWCoreScaffolding` module. Let's delete the former in favor of the latter,
which is more widely used.
@RyanGlScott RyanGlScott added the PR: ready to merge Magic flag for pull requests to ask Mergify to merge given an approval and a successful CI run label Dec 13, 2022
@mergify mergify bot merged commit 727fccb into master Dec 13, 2022
@mergify mergify bot deleted the atGenWithProof branch December 13, 2022 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: ready to merge Magic flag for pull requests to ask Mergify to merge given an approval and a successful CI run
Projects
None yet
Development

Successfully merging this pull request may close these issues.

saw-core-coq: Give proper definitions to genWithProof and atWithProof
2 participants