Skip to content
This repository has been archived by the owner on Jun 9, 2021. It is now read-only.

Prelude and saw-core-coq changes from Heapster #199

Closed
wants to merge 2 commits into from

Conversation

m-yac
Copy link
Contributor

@m-yac m-yac commented Apr 13, 2021

This PR includes:

  • all the additions to Prelude.sawcore from wip-heapster - from the commit description:

    • add various functions: boolToEither, equalString, bvSShiftR
    • add BVVec type and associated functions
    • for the above, add helper functions bvNat_bvToNat_id, genWithProof
    • add datatype for iso-recursive types (IRT) and associated types/functions
    • for the above, add ListSort and associated functions, uncurrySigma
    • tweaks to CompM definitions
  • the latest versions of the files in saw-core-coq/coq/handwritten from wip-heapster

  • the latest version of saw-core-coq/src/.../SpecialTreatment.hs from wip-heapster

  • re-generated Coq scaffolding.

This and #198 are the only differences between wip-heapster and master that we care about. I'm still working on getting wip-heapster of saw-script to work with this branch, but at least in theory, once this is merged to master we can switch our wip-heapster branch of saw-script to use saw-core master.

- add various functions: boolToEither, equalString, bvSShiftR
- add BVVec type and associated functions
- for the above, add helper functions bvNat_bvToNat_id, genWithProof
- add datatype for iso-recursive types (IRT) and associated types/functions
- for the above, add ListSort and associated functions, uncurrySigma
- tweaks to CompM definitions
- 59e6108 move prod destructing to after prove_refinement_eauto
- 6028a21 remove bitvector type synonym from Prelude (needs latest heapster-saw)
- bf6cd78 remove EqP, replace with Eq (needs latest heapster-saw)
- a2d632c composeM is no longer skipped by the Coq translator
- 9fa8e4f add IRT_BVVec, add gen_at_BVVec for IRT isomorphism
- 7e098d5 prove foldIRT/unfoldIRT isomorphism
- 0e53c87 use `match`es for IntroArg rules, clean up proofs
- fcb8625 more tweaks to proof automation
- 7ac5115 move bv hints to SAWCoreBitvectors
- 59bc79a performance improvements to prove_refinement...
- 1fa5049 add `refines` and basic properties, more clean up, some partial progress
- f0ed599 Adds bvShl and enables CryptolPrimitivesForSAWCore to build
Copy link
Contributor

@brianhuffman brianhuffman left a comment

Choose a reason for hiding this comment

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

In the longer term, it seems like we should organize some of the saw-core prelude definitions into a couple of separate .sawcore files. But this seems fine for now.

@eddywestbrook
Copy link
Contributor

Yes, that sounds like an excellent idea!

@brianhuffman
Copy link
Contributor

This has been migrated to GaloisInc/saw-script#1219.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants