| ⊦ ⟨posix_format#(n, isdir0, LEB_SIZE, md; ; root, fs0, ofh0, psynced, err0)⟩ (ofh0 = ∅ ∧ fs0 = ∅ ∧ abs(root, ROOT_INO)((∅ ++ ROOT_INO)[ROOT_INO, mkdir(0, md, 0, 0, ∅)]) ∧ ESUCCESS = err0) |
isdir ↔ isdir0, ino = LEB_SIZE ⊦ ⟨if ino = LEB_SIZE then { root := dnode(md, ∅), fs := ∅, ofh := ∅, psynced := true, err0 := ESUCCESS or {root := ?, fs := ?, ofh := ?, psynced := ?; choose err with ⌊err⌋ in err0 := err}} else abort⟩ (ofh = ∅ ∧ fs = ∅ ∧ abs(root, ROOT_INO)((∅ ++ ROOT_INO)[ROOT_INO, mkdir(0, md, 0, 0, ∅)]) ∧ ESUCCESS = err0)
Used simplifier rules: posix_format#(N, DOSYNC, SIZE, MD; ; ROOT, FS, OFH, PSYNCED, ERR) {if SIZE = LEB_SIZE then { ROOT := dnode(MD, ∅), FS := ∅, OFH := ∅, PSYNCED := true, ERR := ESUCCESS or {ROOT := ?, FS := ?, OFH := ?, PSYNCED := ?; choose E with ⌊E⌋ in ERR := E}} else abort };