~james/split

d5ec9d43bb40f942cd275ec0d52561516d6446ea — james verified 3 months ago 7a0a28f
feat(export): export checked pager transitions as executable ocaml
2 files changed, 17 insertions(+), 0 deletions(-)

A Export.thy
M ROOT
A Export.thy => Export.thy +16 -0
@@ 0,0 1,16 @@
theory Export
  imports Reuse
begin

definition seed :: memory where
  "seed frame offset = (frame * 17 + offset) mod 256"

definition boot :: pager where "boot = initial 4 seed"

definition read_byte :: "pager \<Rightarrow> nat \<Rightarrow> nat \<Rightarrow> nat" where
  "read_byte s k offset = view s k offset"

export_code boot initial read_byte checked frontier ptable writable prepare reserve reclaim
  Read Write Suc in OCaml module_name Split file_prefix split

end

M ROOT => ROOT +1 -0
@@ 7,3 7,4 @@ session Split = HOL +
    Protocol
    Snapshot
    Reuse
    Export