| asynced0, dirs1 = dirs0 \ orphans(dirs0, files1), files0 = files1 \ orphans(dirs0, files1), files2 = files0, afs-cons(dirs0, files1) ⊦ ⟪fail#(; ; err)⟫ (err = ESUCCESS → asynced ∧ afs-cons(dirs, files)) |
asynced0, dirs1 = dirs0 \ orphans(dirs0, files1), files0 = files1 \ orphans(dirs0, files1), files2 = files0, afs-cons(dirs0, files1) ⊦ ⟪choose err0 with ⌊err0⌋ in err := err0⟫ (err = ESUCCESS → asynced ∧ afs-cons(dirs, files))
Used simplifier rules: fail#(; ; ERR){choose ERR0 with ⌊ERR0⌋ in ERR := ERR0};