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

BLOCKED: feat: withInstantiatMainGoal combinator to eagerly instantiate goal metavariables #212

Closed
wants to merge 11 commits into from

Conversation

alexkeizer
Copy link
Collaborator

Description:

WORK IN PROGRESS.

Attempt to spread out the cost of mvar instantiation by eagerly instantiating the original main goal of sym_n, after the tactic is finished. This doesn't seem to have any effect.

See also the related issue on Lean: leanprover/lean4#5610

Testing:

What tests have been run? Did make all succeed for your changes? Was
conformance testing successful on an Aarch64 machine?

License:

By submitting this pull request, I confirm that my contribution is
made under the terms of the Apache 2.0 license.

When an write to memory or a write to a register that is not SP is made, we update the proof of stack alignment. When a write to SP is made, we create a new mvar with the proof obligation that the new value is aligned, and store that mvar in a new `sideConditions` field.
These tags show up in the profile (unlike the message itself)
This help when profiling `sym_n`, because the threshold is applied to each step individually
It's allowed to reassign a meta-variable, so there's no need to create a new goal
@alexkeizer alexkeizer changed the title WIP: feat: withInstantiatMainGoal combinator to eagerly instantiate goal metavariables BLOCKED: feat: withInstantiatMainGoal combinator to eagerly instantiate goal metavariables Oct 11, 2024
@alexkeizer
Copy link
Collaborator Author

This was added to gather data on why instantiating mvars is so slow, but seemed to have little to no effect, so I'm closing the PR

@alexkeizer alexkeizer closed this Oct 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant