AlphaProof Code: Verifying Signal’s Security at the Machine-Code Level

Paper › arm64-semantics/Arm64/Trusted/Syscalls › Alloc.leanTier 3 · arm64-semantics

Alloc.lean🔗

Tier 3 · arm64-semantics used by the symbolic proof 2 headline theorems depend on it 9 of 50 lines trusted source ↗

Trusted, reviewed with the engine. The AArch64 model in arm64-semantics is Tier 3: it is reviewed in its own repository (check-trust-guards). The declarations that the headline statements use are shown for completeness.

Virtual-Memory Allocator Syscalls

Re-exports the Linux 7.3 virtual-memory syscall models and bundles them into Syscall.allocTable and Syscall.alloc:

@[expose] public section
namespace Arm64
namespace Syscall

def allocTableL35–51 ↗#

Dispatch table for the virtual-memory allocator family (brk, munmap, mremap, mmap, mprotect, madvise).

def allocTable : List (BitVec 64 × (State → State)) := [(SYS_BRK, execBrk), (SYS_MUNMAP, execMunmap), (SYS_MREMAP, execMremap), (SYS_MMAP, execMmap), (SYS_MPROTECT, execMprotect), (SYS_MADVISE, execMadvise)]
1 declaration not shown (lines 45–46): theorems, which Lean checks, or definitions that no headline statement uses

Arm64.Syscall.alloc

end Syscall
end Arm64