-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: new definitions for memory separation (#81)
### New Memory Model The new memory model is different from the old one in two ways: 1. It uses (base pointer, length) to keep track of memory regions instead of closed intervals of [pointer 1, pointer 2]. 2. To faciliatate the new representation, it bakes in the assumption that the memory region is legal (i.e. no wraparound). 3. More softly, it tries to keep reasoning in terms of `Nat` rather than `BitVec` in order to allow easier automation via `omega` for proving disjointedness / subset assumptions. All of the new definitions are named after the old definitions with a prime (') after their name. For robustness (and confidence), we plan to prove theorems that establish the equivalence of the old and new memory models. --------- Co-authored-by: Alex Keizer <[email protected]> Co-authored-by: Shilpi Goel <[email protected]>
- Loading branch information
1 parent
c0c0ae4
commit bdba085
Showing
4 changed files
with
547 additions
and
3 deletions.
There are no files selected for viewing
This file contains 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
Oops, something went wrong.