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.
Cross over the contents of
valid_arch_mdb_ctes
from the abstract side after proving the missing bits as invariants.Introduces the assertion
archMDBAssertions
in Haskell, which is defined generically asarch_mdb_assert (ctes_of s)
.arch_mdb_assert
in turn is architecture dependent andTrue
anywhere that is not X64.This took quite a bit longer than I had anticipated, and doesn't actually remove that many lines of proof, but it hopefully removes many annoying lines that we would have had to write in the future for arch split to continue. So overall still worth it, I think.
This is on top of PR #847 -- when we start RISCV64 that should probably go on top of this work to avoid duplication.