| boolvar ↔ boolvar0, dirs = dirs0, pageno = 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)}⟩ (dirs1 = dirs ∧ files1 = files ∧ (boolvar ↔ asynced) ∧ err0 = err) |
boolvar ↔ boolvar0, dirs = dirs0, pageno = LEB_SIZE, ⌊err0⌋ ⊦ ⟨dirs := ?, files := ?, asynced := ?; fail#(; ; err)⟩ (dirs1 = dirs ∧ files1 = files ∧ (boolvar ↔ asynced) ∧ err0 = err), ⟨dirs := ∅, files := ∅; dirs := dirs ++ ROOT_INO; dirs[ROOT_INO] := mkdir(0, md, 0, 0, ∅); asynced := true; err := ESUCCESS⟩ (dirs1 = dirs ∧ files1 = files ∧ (boolvar ↔ asynced) ∧ err0 = err)