~james/split

feat(export): export checked pager transitions as executable ocaml

commit
d5ec9d43bb40f942cd275ec0d52561516d6446ea browse tree
parent
7a0a28f1bfe33988574bcfd2cea36ee0c2db38aa
author
james <j@cpl0.zip>
signature
Verified ~james signed with a key registered by ~james
date
2026-07-15 18:52 UTC

2 files changed, +17 −0

Export.thy added

@@ -0,0 +1,16 @@
1+theory Export
2+ imports Reuse
3+begin
4+
5+definition seed :: memory where
6+ "seed frame offset = (frame * 17 + offset) mod 256"
7+
8+definition boot :: pager where "boot = initial 4 seed"
9+
10+definition read_byte :: "pager \<Rightarrow> nat \<Rightarrow> nat \<Rightarrow> nat" where
11+ "read_byte s k offset = view s k offset"
12+
13+export_code boot initial read_byte checked frontier ptable writable prepare reserve reclaim
14+ Read Write Suc in OCaml module_name Split file_prefix split
15+
16+end

ROOT modified

@@ -7,3 +7,4 @@ session Split = HOL +
77 Protocol
88 Snapshot
99 Reuse
10+ Export