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