Add generatedCounter implicitly to claims#3459
Merged
rv-jenkins merged 10 commits intodevelopfrom Jun 16, 2023
Merged
Conversation
radumereuta
reviewed
Jun 13, 2023
dwightguth
approved these changes
Jun 13, 2023
Contributor
dwightguth
left a comment
There was a problem hiding this comment.
Looks good but one minor comment.
radumereuta
approved these changes
Jun 14, 2023
5 tasks
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds an additional pass to the spec-module compilation pipeline; this pass adds a claimed
_ => ?_rewrite to thegeneratedCountercell if the claim does not already mention that cell. Doing so fixes the issue identified in #3450, where the prover fails to assert that this cell does not change in a claim containing fresh variables.The code triggering the original bug has been added as a test case, as well as a derived test that explicitly states the effect of the rule on the counter cell.
There is one place that this PR requires a test change; in the PL tests there is a spec that relies on a circularity implicitly containing
<generatedCounter> _ </generatedCounter>rather than_ => ?_. This can be addressed by either removing the explicit "counter goes up by precisely 2" part of the spec, or by asserting that the counter doesn't change in the circularity. This PR chooses the latter, but either will work.Fixes #3450