| asynced0 ↔ asynced2, dirs = afs_dirs, size = LEB_SIZE, ⌊err0⌋ ⊦ ⟨ {dirs := ∅, files := ∅; dirs := dirs ++ ROOT_INO; dirs[ROOT_INO] := mkdir(0, md, 0, 0, ∅); asynced := true; err := ESUCCESS} or {dirs := ?, files := ?, asynced := ?; fail#(; ; err)}⟩ (dirs0 = dirs ∧ files0 = files ∧ (asynced1 ↔ asynced) ∧ err0 = err) |
asynced0 ↔ asynced2, dirs = afs_dirs, size = LEB_SIZE, ⌊err0⌋ ⊦ ⟨dirs := ?, files := ?, asynced := ?; fail#(; ; err)⟩ (dirs0 = dirs ∧ files0 = files ∧ (asynced1 ↔ asynced) ∧ err0 = err), ⟨dirs := ∅, files := ∅; dirs := dirs ++ ROOT_INO; dirs[ROOT_INO] := mkdir(0, md, 0, 0, ∅); asynced := true; err := ESUCCESS⟩ (dirs0 = dirs ∧ files0 = files ∧ (asynced1 ↔ asynced) ∧ err0 = err)