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

MRSolver SpecM bugfixes #1952

Merged
merged 9 commits into from
Oct 5, 2023
Merged

MRSolver SpecM bugfixes #1952

merged 9 commits into from
Oct 5, 2023

Conversation

m-yac
Copy link
Contributor

@m-yac m-yac commented Oct 4, 2023

This PR makes bugfixes to MRSolver to get as many of the heapster-saw/examples as we can working with the current definition of SpecM. Namely:

  • Abstracting uvars at the proper time in mrFreshCallVars
  • Giving the proper type to the dummy proof object made in the MaybeElim case of mrRefines
  • Adding liftCompStack to monMacro0
  • Adding IsLifted argument to FunBind, adding liftStackS case to normComp, and lifting when using normBind in mrRefines'
  • Updating SpecPrims.cry, specPrims.saw, and arrays.sawcore to use SpecM instead of CompM
  • Adding back MRSolver logic for atM/updateM

This PR also uncomments all the MRSolver tests from the heapster-saw/examples/Makefile, commenting out the only two tests that we aren't able to get working with the current definition of SpecM: zero_array |= zero_array_loop_spec and zero_array |= zero_array_spec from arrays_mr_solver.saw.

@m-yac m-yac added the subsystem: MRSolver Issues related to the Mr. Solver monadic-recursive solver in Heapster label Oct 4, 2023
Copy link
Contributor

@bboston7 bboston7 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!

heapster-saw/examples/SpecPrims.cry Outdated Show resolved Hide resolved
heapster-saw/examples/SpecPrims.cry Outdated Show resolved Hide resolved
Co-authored-by: Brett Boston <bboston7@users.noreply.github.com>
@m-yac m-yac merged commit 23616d5 into master Oct 5, 2023
38 checks passed
@m-yac m-yac deleted the mrsolver-specM-fixes branch October 5, 2023 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
subsystem: MRSolver Issues related to the Mr. Solver monadic-recursive solver in Heapster
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants