| err = err0, fs = fs0, ofh = ofh0, tree.dir?, fids-cons(tree, fs1, ofh1), posix-crash(tree, fs1, ofh1, root, fs0, ofh0), ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪if err ≠ ESUCCESS then root := ?, fs := ?, ofh := ?, psynced := ? else psynced := true⟫ (err = ESUCCESS → psynced ∧ root.dir? ∧ fids-cons(root, fs, ofh)) |
err = err0, fs = fs0, ofh = ofh0, tree.dir?, fids-cons(tree, fs1, ofh1), posix-crash(tree, fs1, ofh1, root, fs0, ofh0), ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪root := ?, fs := ?, ofh := ?, psynced := ?⟫ (err = ESUCCESS → psynced ∧ root.dir? ∧ fids-cons(root, fs, ofh)), err = ESUCCESS
err = ESUCCESS, err = err0, fs = fs0, ofh = ofh0, tree.dir?, fids-cons(tree, fs1, ofh1), posix-crash(tree, fs1, ofh1, root, fs0, ofh0), ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪psynced := true⟫ (err = ESUCCESS → psynced ∧ root.dir? ∧ fids-cons(root, fs, ofh))