| asynced, dirs = dirs0 \ orphans(dirs0, files), files0 = files \ orphans(dirs0, files), afs-cons(dirs0, files) ⊦ ⟪afs_recovery#(asynced0; dirs, files0; asynced1, err)⟫ (err = ESUCCESS → asynced1 ∧ afs-cons(dirs, files0)) |
asynced, dirs = dirs0 \ orphans(dirs0, files1), files = files0, files0 = files1 \ orphans(dirs0, files1), afs-cons(dirs0, files1) ⊦ ⟪asynced := true, err := ESUCCESS or {dirs := ?, files := ?, asynced := ?; fail#(; ; err)}⟫ (err = ESUCCESS → asynced ∧ afs-cons(dirs, files))
Used simplifier rules: recovery: ⊦ ;