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