| boolvar ↔ boolvar0, dirs = dirs0, pageno = LEB_SIZE ⊦ ⟨if pageno = LEB_SIZE then { {dirs := ∅, files := ∅; dirs := dirs ++ ROOT_INO; dirs[ROOT_INO] := mkdir(0, md, 0, 0, ∅); asynced := true; err := ESUCCESS} or {dirs := ?, files := ?, asynced := ?; fail#(; ; err)}} else abort⟩ ( dirs = abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ files = abs-files((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ orphans (abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]), abs-files((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1])) = ∅ ∧ ESUCCESS = err) |
boolvar ↔ boolvar0, dirs = dirs0, pageno = LEB_SIZE ⊦ ⟨ {dirs := ∅, files := ∅; dirs := dirs ++ ROOT_INO; dirs[ROOT_INO] := mkdir(0, md, 0, 0, ∅); asynced := true; err := ESUCCESS} or {dirs := ?, files := ?, asynced := ?; fail#(; ; err)}⟩ ( dirs = abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ files = abs-files((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]) ∧ orphans (abs-dirs((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1]), abs-files((∅)[adr1, inodenode(inodekey(ROOT_INO), md, true, 0, 0, 0)], (∅)[inodekey(ROOT_INO), adr1])) = ∅ ∧ ESUCCESS = err)