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

Crit-Bit Iterators and 64-bit Compatibility #429

Merged
merged 25 commits into from
Aug 12, 2024

Conversation

vfukala
Copy link
Contributor

@vfukala vfukala commented Aug 10, 2024

Improvements of the crit-bit tree implementation verified using Live Verification

  • Adding verified functions that allow iteration over a crit-bit tree
  • Parametrizing the crit-bit tree implementation and proofs to be valid both for 32 and 64 bit width

@samuelgruetter
Copy link
Contributor

This works with Coq 8.18, but not with Coq master:

File "/home/runner/work/bedrock2/bedrock2/LiveVerif/src/LiveVerifExamples/critbit.v", line 3982, characters 0-4:
Error:  (in proof map_take_ge_monotone): Attempt to save an incomplete proof
(there are remaining open goals).

My guess is that it's due to this change in the 8.20 release notes:

Changed: syntactic global references passed through the using clauses of auto-like tactics are now handled as plain references rather than interpreted terms. In particular, their typeclass arguments will not be inferred. In general, the previous behaviour can be emulated by replacing auto using foo with pose proof foo; auto (#18909, by Pierre-Marie Pédrot).

@vfukala would you mind trying out this fix?

@samuelgruetter samuelgruetter merged commit 3892c1d into mit-plv:master Aug 12, 2024
4 checks passed
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.

2 participants