| dirs = dirs0 \ orphans(dirs0, files1), files = files1 \ orphans(dirs0, files1), dom of < ino, afs-cons(dirs0, files1), of-cons(of, dirs0, files1) ⊦ ⟪afs_recovery#(isdir; dirs, files; asynced, err)⟫ (err = ESUCCESS → asynced ∧ of-cons(∅, dirs, files) ∧ afs-cons(dirs, files)) |
dirs = dirs0 \ orphans(dirs0, files), files0 = files \ orphans(dirs0, files), asynced, afs-cons(dirs0, files) ⊦ ⟪afs_recovery#(asynced0; dirs, files0; asynced1, err)⟫ (err = ESUCCESS → asynced1 ∧ afs-cons(dirs, files0))
asynced2 ↔ true, asynced3 ↔ isdir, dirs = dirs0 \ orphans(dirs0, files1), dirs1 = dirs0, files = files1 \ orphans(dirs0, files1), files2 = files1, dom of < ino, afs-cons(dirs0, files1), of-cons(of, dirs0, files1) ⊦ [afs_recovery#(isdir; dirs, files; asynced, err)] ((err = ESUCCESS → asynced ∧ afs-cons(dirs, files)) → err = ESUCCESS → asynced ∧ of-cons(∅, dirs, files) ∧ afs-cons(dirs, files))