| ⌊err0⌋ ⊦ ⟨posix_format#(n, isdir0, LEB_SIZE, md; ; root, fs0, ofh0, psynced, err1)⟩ (tree = root ∧ fs = fs0 ∧ ofh = ofh0 ∧ (isdir ↔ psynced) ∧ err0 = err1) |
isdir ↔ isdir0, ino = LEB_SIZE, ⌊err⌋ ⊦ ⟨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⟩ (tree = root ∧ fs1 = fs ∧ ofh1 = ofh ∧ (isdir ↔ psynced) ∧ err = 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 };